LLVM  12.0.0git
Public Member Functions | List of all members
llvm::LowerConstantIntrinsicsPass Struct Reference

#include "llvm/Transforms/Scalar/LowerConstantIntrinsics.h"

Inheritance diagram for llvm::LowerConstantIntrinsicsPass:
Inheritance graph
Collaboration diagram for llvm::LowerConstantIntrinsicsPass:
Collaboration graph

Public Member Functions

 LowerConstantIntrinsicsPass ()
PreservedAnalyses run (Function &F, FunctionAnalysisManager &)
 Run the pass over the function. More...

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< LowerConstantIntrinsicsPass >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...

Detailed Description

Definition at line 23 of file LowerConstantIntrinsics.h.

Constructor & Destructor Documentation

◆ LowerConstantIntrinsicsPass()

llvm::LowerConstantIntrinsicsPass::LowerConstantIntrinsicsPass ( )

Definition at line 26 of file LowerConstantIntrinsics.h.

References F(), and run().

Member Function Documentation

◆ run()

PreservedAnalyses LowerConstantIntrinsicsPass::run ( Function F,
FunctionAnalysisManager AM 

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.

Definition at line 139 of file LowerConstantIntrinsics.cpp.

References llvm::AnalysisUsage::addPreserved(), llvm::PreservedAnalyses::all(), F(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::PassRegistry::getPassRegistry(), llvm::initializeLowerConstantIntrinsicsPass(), lowerConstantIntrinsics(), llvm::PreservedAnalyses::preserve(), and runOnFunction().

Referenced by LowerConstantIntrinsicsPass().

The documentation for this struct was generated from the following files: