diff options
Diffstat (limited to 'llvm/lib/Transforms/Coroutines/CoroElide.cpp')
-rw-r--r-- | llvm/lib/Transforms/Coroutines/CoroElide.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Coroutines/CoroElide.cpp b/llvm/lib/Transforms/Coroutines/CoroElide.cpp index 6f78fc8db311..f032c568449b 100644 --- a/llvm/lib/Transforms/Coroutines/CoroElide.cpp +++ b/llvm/lib/Transforms/Coroutines/CoroElide.cpp @@ -16,6 +16,7 @@ #include "llvm/IR/InstIterator.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FileSystem.h" +#include <optional> using namespace llvm; @@ -101,11 +102,12 @@ static void removeTailCallAttribute(AllocaInst *Frame, AAResults &AA) { // Given a resume function @f.resume(%f.frame* %frame), returns the size // and expected alignment of %f.frame type. -static Optional<std::pair<uint64_t, Align>> getFrameLayout(Function *Resume) { +static std::optional<std::pair<uint64_t, Align>> +getFrameLayout(Function *Resume) { // Pull information from the function attributes. auto Size = Resume->getParamDereferenceableBytes(0); if (!Size) - return None; + return std::nullopt; return std::make_pair(Size, Resume->getParamAlign(0).valueOrOne()); } @@ -244,7 +246,7 @@ bool Lowerer::shouldElide(Function *F, DominatorTree &DT) const { // Filter out the coro.destroy that lie along exceptional paths. SmallPtrSet<CoroBeginInst *, 8> ReferencedCoroBegins; - for (auto &It : DestroyAddr) { + for (const auto &It : DestroyAddr) { // If there is any coro.destroy dominates all of the terminators for the // coro.begin, we could know the corresponding coro.begin wouldn't escape. for (Instruction *DA : It.second) { |