LLVM
8.0.1
|
#include "CoroInternal.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "coro-early" |
Functions | |
static void | setCannotDuplicate (CoroIdInst *CoroId) |
INITIALIZE_PASS (CoroEarly, "coro-early", "Lower early coroutine intrinsics", false, false) Pass *llvm | |
#define DEBUG_TYPE "coro-early" |
Definition at line 23 of file CoroEarly.cpp.
INITIALIZE_PASS | ( | CoroEarly | , |
"coro-early" | , | ||
"Lower early coroutine intrinsics" | , | ||
false | , | ||
false | |||
) |
Definition at line 260 of file CoroEarly.cpp.
|
static |
Definition at line 147 of file CoroEarly.cpp.
References llvm::Function::addFnAttr(), llvm::Intrinsic::coro_destroy, llvm::Intrinsic::coro_done, llvm::Intrinsic::coro_end, llvm::Intrinsic::coro_free, llvm::Intrinsic::coro_id, llvm::Intrinsic::coro_noop, CORO_PRESPLIT_ATTR, llvm::Intrinsic::coro_promise, llvm::Intrinsic::coro_resume, llvm::Intrinsic::coro_suspend, llvm::coro::declaresIntrinsics(), llvm::CoroSubFnInst::DestroyIndex, F(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getIntrinsicID(), llvm::PassRegistry::getPassRegistry(), I, llvm::ARM_PROC::IE, llvm::initializeCoroEarlyPass(), llvm::inst_begin(), llvm::inst_end(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::CoroSubFnInst::ResumeIndex, runOnFunction(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::setCannotDuplicate(), llvm::AnalysisUsage::setPreservesCFG(), UNPREPARED_FOR_SPLIT, and llvm::Value::users().
Referenced by llvm::CallSiteBase<>::setCannotDuplicate().