LLVM 19.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/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 55 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 45 of file MakeGuardsExplicit.cpp.
References assert(), llvm::Instruction::eraseFromParent(), llvm::Instruction::getParent(), llvm::BasicBlock::getTerminator(), llvm::isWidenableBranch(), and llvm::makeGuardControlFlowExplicit().
Referenced by explicifyGuards().