|
LLVM
4.0.0
|
#include "CoroInternal.h"#include "llvm/Analysis/CallGraphSCCPass.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/LegacyPassManager.h"#include "llvm/IR/Verifier.h"#include "llvm/InitializePasses.h"#include "llvm/Transforms/IPO.h"#include "llvm/Transforms/IPO/PassManagerBuilder.h"#include "llvm/Transforms/Utils/Local.h"Go to the source code of this file.
Functions | |
| static void | addCoroutineOpt0Passes (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addCoroutineEarlyPasses (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addCoroutineScalarOptimizerPasses (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addCoroutineSCCPasses (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static void | addCoroutineOptimizerLastPasses (const PassManagerBuilder &Builder, legacy::PassManagerBase &PM) |
| static bool | isCoroutineIntrinsicName (StringRef Name) |
| static void | buildCGN (CallGraph &CG, CallGraphNode *Node) |
| static void | clear (coro::Shape &Shape) |
| static CoroSaveInst * | createCoroSave (CoroBeginInst *CoroBegin, CoroSuspendInst *SuspendInst) |
|
static |
Definition at line 40 of file Coroutines.cpp.
References llvm::legacy::PassManagerBase::add(), and llvm::createCoroEarlyPass().
Referenced by llvm::addCoroutinePassesToExtensionPoints().
|
static |
Definition at line 31 of file Coroutines.cpp.
References llvm::legacy::PassManagerBase::add(), llvm::createBarrierNoopPass(), llvm::createCoroCleanupPass(), llvm::createCoroElidePass(), and llvm::createCoroSplitPass().
Referenced by llvm::addCoroutinePassesToExtensionPoints().
|
static |
Definition at line 55 of file Coroutines.cpp.
References llvm::legacy::PassManagerBase::add(), and llvm::createCoroCleanupPass().
Referenced by llvm::addCoroutinePassesToExtensionPoints().
|
static |
Definition at line 45 of file Coroutines.cpp.
References llvm::legacy::PassManagerBase::add(), and llvm::createCoroElidePass().
Referenced by llvm::addCoroutinePassesToExtensionPoints().
|
static |
Definition at line 50 of file Coroutines.cpp.
References llvm::legacy::PassManagerBase::add(), and llvm::createCoroSplitPass().
Referenced by llvm::addCoroutinePassesToExtensionPoints().
|
static |
Definition at line 154 of file Coroutines.cpp.
References llvm::CallGraphNode::addCalledFunction(), F, llvm::CallGraph::getCallsExternalNode(), llvm::CallGraphNode::getFunction(), llvm::Function::getIntrinsicID(), llvm::CallGraph::getOrInsertFunction(), I, llvm::instructions(), llvm::Function::isIntrinsic(), and llvm::Intrinsic::isLeaf().
Referenced by llvm::coro::updateCallGraph().
|
static |
Definition at line 191 of file Coroutines.cpp.
References llvm::coro::Shape::AllocaSpillBlock, llvm::coro::Shape::CoroBegin, llvm::coro::Shape::CoroEnds, llvm::coro::Shape::CoroSizes, llvm::coro::Shape::CoroSuspends, llvm::coro::Shape::FramePtr, llvm::coro::Shape::FrameTy, llvm::coro::Shape::HasFinalSuspend, llvm::coro::Shape::PromiseAlloca, and llvm::coro::Shape::ResumeSwitch.
Referenced by llvm::coro::Shape::buildFrom(), llvm::rdf::RegisterAggr::clear(), llvm::iplist_impl< simple_ilist< MachineBasicBlock, Options...>, ilist_traits< MachineBasicBlock > >::clearAndLeakNodesUnsafely(), llvm::DWARFAbbreviationDeclaration::DWARFAbbreviationDeclaration(), llvm::DWARFAbbreviationDeclaration::extract(), llvm::IndexEntry(), llvm::InterferenceCache::init(), llvm::DWARFDebugLine::LineTable::LineTable(), llvm::DWARFDebugLine::Prologue::parse(), llvm::DWARFDebugLine::LineTable::parse(), llvm::DWARFDebugLine::Prologue::Prologue(), and llvm::IntervalMap< SlotIndex, unsigned >::~IntervalMap().
|
static |
Definition at line 205 of file Coroutines.cpp.
References assert(), llvm::CallInst::Create(), llvm::CoroSuspendInst::getCoroSave(), llvm::Intrinsic::getDeclaration(), llvm::Instruction::getModule(), and llvm::CallInst::setArgOperand().
Referenced by llvm::coro::Shape::buildFrom().
Definition at line 103 of file Coroutines.cpp.
References llvm::Intrinsic::lookupLLVMIntrinsicByName().
Referenced by llvm::coro::declaresIntrinsics().
1.8.6