class Float2IntPass
Declaration
class Float2IntPass : public PassInfoMixin { /* full declaration omitted */ };
Description
A CRTP mix-in to automatically provide informational APIs needed for passes. This provides some boilerplate for types that are passes.
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:32
Inherits from: PassInfoMixin
Member Variables
- private MapVector<llvm::Instruction*, llvm::ConstantRange> SeenInsts
- private SmallSetVector<llvm::Instruction*, 8> Roots
- private EquivalenceClasses<llvm::Instruction*> ECs
- private MapVector<llvm::Instruction*, llvm::Value*> ConvertedInsts
- private llvm::LLVMContext* Ctx
Method Overview
- private llvm::ConstantRange badRange()
- private Optional<llvm::ConstantRange> calcRange(llvm::Instruction * I)
- private void cleanup()
- private llvm::Value * convert(llvm::Instruction * I, llvm::Type * ToTy)
- private void findRoots(llvm::Function & F, const llvm::DominatorTree & DT)
- public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)
- public bool runImpl(llvm::Function & F, const llvm::DominatorTree & DT)
- private void seen(llvm::Instruction * I, llvm::ConstantRange R)
- private llvm::ConstantRange unknownRange()
- private bool validateAndTransform()
- private llvm::ConstantRange validateRange(llvm::ConstantRange R)
- private void walkBackwards()
- private void walkForwards()
Methods
¶llvm::ConstantRange badRange()
llvm::ConstantRange badRange()
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:42
¶Optional<llvm::ConstantRange> calcRange(
llvm::Instruction* I)
Optional<llvm::ConstantRange> calcRange(
llvm::Instruction* I)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:45
Parameters
¶void cleanup()
void cleanup()
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:50
¶llvm::Value* convert(llvm::Instruction* I,
llvm::Type* ToTy)
llvm::Value* convert(llvm::Instruction* I,
llvm::Type* ToTy)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:49
Parameters
- llvm::Instruction* I
- llvm::Type* ToTy
¶void findRoots(llvm::Function& F,
const llvm::DominatorTree& DT)
void findRoots(llvm::Function& F,
const llvm::DominatorTree& DT)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:40
Parameters
- llvm::Function& F
- const llvm::DominatorTree& DT
¶llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:34
Parameters
¶bool runImpl(llvm::Function& F,
const llvm::DominatorTree& DT)
bool runImpl(llvm::Function& F,
const llvm::DominatorTree& DT)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:37
Parameters
- llvm::Function& F
- const llvm::DominatorTree& DT
¶void seen(llvm::Instruction* I,
llvm::ConstantRange R)
void seen(llvm::Instruction* I,
llvm::ConstantRange R)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:41
Parameters
¶llvm::ConstantRange unknownRange()
llvm::ConstantRange unknownRange()
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:43
¶bool validateAndTransform()
bool validateAndTransform()
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:48
¶llvm::ConstantRange validateRange(
llvm::ConstantRange R)
llvm::ConstantRange validateRange(
llvm::ConstantRange R)
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:44
Parameters
¶void walkBackwards()
void walkBackwards()
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:46
¶void walkForwards()
void walkForwards()
Declared at: llvm/include/llvm/Transforms/Scalar/Float2Int.h:47