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.


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...


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


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.


cl::opt< boolllvm::EnableKnowledgeRetention