LLVM 20.0.0git
|
#include "llvm/Transforms/Scalar/MakeGuardsExplicit.h"
#include "llvm/Analysis/GuardUtils.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/GuardUtils.h"
Go to the source code of this file.
Functions | |
static void | turnToExplicitForm (CallInst *Guard, Function *DeoptIntrinsic) |
static bool | explicifyGuards (Function &F) |
Definition at line 56 of file MakeGuardsExplicit.cpp.
References llvm::SmallVectorBase< Size_T >::empty(), F, llvm::Intrinsic::getDeclaration(), llvm::Intrinsic::getName(), I, instructions, llvm::isGuard(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and turnToExplicitForm().
Referenced by llvm::MakeGuardsExplicitPass::run().
Definition at line 46 of file MakeGuardsExplicit.cpp.
References assert(), llvm::Instruction::eraseFromParent(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::BasicBlock::getTerminator(), llvm::isWidenableBranch(), and llvm::makeGuardControlFlowExplicit().
Referenced by explicifyGuards().