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

Methods

LowerConstantIntrinsicsPass()

Declared at: llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h:26

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

Parameters

llvm::Function& F
llvm::FunctionAnalysisManager&