LLVM 22.0.0git
llvm::InstSimplifyPass Class Reference

Run instruction simplification across each instruction in the function. More...

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

Inheritance diagram for llvm::InstSimplifyPass:
[legend]

Public Member Functions

PreservedAnalyses run (Function &F, FunctionAnalysisManager &AM)
Public Member Functions inherited from llvm::PassInfoMixin< InstSimplifyPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)

Additional Inherited Members

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

Detailed Description

Run instruction simplification across each instruction in the function.

Instruction simplification has useful constraints in some contexts:

  • It will never introduce new instructions.
  • There is no need to iterate to a fixed point.

Many passes use instruction simplification as a library facility, but it may also be useful (in tests and other contexts) to have access to this very restricted transform at a pass granularity. However, for a much more powerful and comprehensive peephole optimization engine, see the instcombine pass instead.

Definition at line 32 of file InstSimplifyPass.h.

Member Function Documentation

◆ run()


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