struct LowerConstantIntrinsicsPass
Declaration
struct LowerConstantIntrinsicsPass : 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/LowerConstantIntrinsics.h:23
Inherits from: PassInfoMixin
Method Overview
- public LowerConstantIntrinsicsPass()
- public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager &)
Methods
¶LowerConstantIntrinsicsPass()
LowerConstantIntrinsicsPass()
Declared at: llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h:26
¶llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager&)
llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager&)
Description
Run the pass over the function. This will lower all remaining 'objectsize' and 'is.constant'` intrinsic calls in this function, even when the argument has no known size or is not a constant respectively. The resulting constant is propagated and conditional branches are resolved where possible. This complements the Instruction Simplification and Instruction Combination passes of the optimized pass chain.
Declared at: llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h:36