class SpeculativeExecutionPass
Declaration
class SpeculativeExecutionPass : 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/SpeculativeExecution.h:69
Inherits from: PassInfoMixin
Member Variables
- private const bool OnlyIfDivergentTarget = false
- private llvm::TargetTransformInfo* TTI = nullptr
Method Overview
- public SpeculativeExecutionPass(bool OnlyIfDivergentTarget = false)
- private bool considerHoistingFromTo(llvm::BasicBlock & FromBlock, llvm::BasicBlock & ToBlock)
- public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)
- public bool runImpl(llvm::Function & F, llvm::TargetTransformInfo * TTI)
- private bool runOnBasicBlock(llvm::BasicBlock & B)
Methods
¶SpeculativeExecutionPass(
bool OnlyIfDivergentTarget = false)
SpeculativeExecutionPass(
bool OnlyIfDivergentTarget = false)
Declared at: llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h:72
Parameters
- bool OnlyIfDivergentTarget = false
¶bool considerHoistingFromTo(
llvm::BasicBlock& FromBlock,
llvm::BasicBlock& ToBlock)
bool considerHoistingFromTo(
llvm::BasicBlock& FromBlock,
llvm::BasicBlock& ToBlock)
Declared at: llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h:81
Parameters
- llvm::BasicBlock& FromBlock
- llvm::BasicBlock& ToBlock
¶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/SpeculativeExecution.h:74
Parameters
¶bool runImpl(llvm::Function& F,
llvm::TargetTransformInfo* TTI)
bool runImpl(llvm::Function& F,
llvm::TargetTransformInfo* TTI)
Declared at: llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h:77
Parameters
¶bool runOnBasicBlock(llvm::BasicBlock& B)
bool runOnBasicBlock(llvm::BasicBlock& B)
Declared at: llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h:80