LLVM 19.0.0git
Classes | Namespaces | Functions | Variables
AssumeBundleBuilder.h File Reference
#include "llvm/Analysis/AssumeBundleQueries.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/CommandLine.h"

Go to the source code of this file.

Classes

struct  llvm::AssumeSimplifyPass
 This pass attempts to minimize the number of assume without loosing any information. More...
 
struct  llvm::AssumeBuilderPass
 This pass will try to build an llvm.assume for every instruction in the function. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

AssumeInstllvm::buildAssumeFromInst (Instruction *I)
 Build a call to llvm.assume to preserve informations that can be derived from the given instruction.
 
bool llvm::salvageKnowledge (Instruction *I, AssumptionCache *AC=nullptr, DominatorTree *DT=nullptr)
 Calls BuildAssumeFromInst and if the resulting llvm.assume is valid insert if before I.
 
AssumeInstllvm::buildAssumeFromKnowledge (ArrayRef< RetainedKnowledge > Knowledge, Instruction *CtxI, AssumptionCache *AC=nullptr, DominatorTree *DT=nullptr)
 Build and return a new assume created from the provided knowledge if the knowledge in the assume is fully redundant this will return nullptr.
 
RetainedKnowledge llvm::simplifyRetainedKnowledge (AssumeInst *Assume, RetainedKnowledge RK, AssumptionCache *AC, DominatorTree *DT)
 canonicalize the RetainedKnowledge RK.
 

Variables

cl::opt< boolllvm::EnableKnowledgeRetention