[Coroutines] Fix warnings This patch fixes: llvm/include/llvm/Transforms/Coroutines/CoroSplit.h:26:1: note: did you mean struct here? llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2225:16: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move] llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2236:16: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
diff --git a/llvm/include/llvm/Transforms/Coroutines/CoroSplit.h b/llvm/include/llvm/Transforms/Coroutines/CoroSplit.h index 74ee948..52b6c49 100644 --- a/llvm/include/llvm/Transforms/Coroutines/CoroSplit.h +++ b/llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
@@ -23,7 +23,7 @@ namespace coro { class BaseABI; -class Shape; +struct Shape; } // namespace coro struct CoroSplitPass : PassInfoMixin<CoroSplitPass> {
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp index 6fdead9..4fbda0771 100644 --- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp +++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
@@ -2222,7 +2222,7 @@ std::unique_ptr<coro::BaseABI> ABI = CreateNewABI(F, S, coro::isTriviallyMaterializable); ABI->init(); - return std::move(ABI); + return ABI; }), OptimizeFrame(OptimizeFrame) {} @@ -2233,7 +2233,7 @@ : CreateAndInitABI([=](Function &F, coro::Shape &S) { std::unique_ptr<coro::BaseABI> ABI = CreateNewABI(F, S, IsMatCallback); ABI->init(); - return std::move(ABI); + return ABI; }), OptimizeFrame(OptimizeFrame) {}