LLVM 22.0.0git
|
#include "llvm/Transforms/Scalar/AlignmentFromAssumptions.h"
Public Member Functions | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
bool | runImpl (Function &F, AssumptionCache &AC, ScalarEvolution *SE_, DominatorTree *DT_) |
bool | extractAlignmentInfo (CallInst *I, unsigned Idx, Value *&AAPtr, const SCEV *&AlignSCEV, const SCEV *&OffSCEV) |
bool | processAssumption (CallInst *I, unsigned Idx) |
Public Member Functions inherited from llvm::PassInfoMixin< AlignmentFromAssumptionsPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Public Attributes | |
ScalarEvolution * | SE = nullptr |
DominatorTree * | DT = nullptr |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< AlignmentFromAssumptionsPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. |
Definition at line 31 of file AlignmentFromAssumptions.h.
bool AlignmentFromAssumptionsPass::extractAlignmentInfo | ( | CallInst * | I, |
unsigned | Idx, | ||
Value *& | AAPtr, | ||
const SCEV *& | AlignSCEV, | ||
const SCEV *& | OffSCEV ) |
Definition at line 159 of file AlignmentFromAssumptions.cpp.
References assert(), llvm::cast(), llvm::Type::getInt64Ty(), llvm::OperandBundleUse::getTagName(), I, llvm::OperandBundleUse::Inputs, llvm::isa(), SE, and llvm::Value::stripPointerCastsSameRepresentation().
Referenced by processAssumption().
Definition at line 189 of file AlignmentFromAssumptions.cpp.
References llvm::cast(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::dbgs(), llvm::dwarf_linker::DebugStr, DT, llvm::dyn_cast(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), extractAlignmentInfo(), llvm::Instruction::getFunction(), getNewAlignment(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::isa(), llvm::isValidAssumeForContext(), LLVM_DEBUG, MI, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), SE, llvm::Value::users(), and llvm::Value::uses().
Referenced by runImpl().
PreservedAnalyses AlignmentFromAssumptionsPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM ) |
Definition at line 301 of file AlignmentFromAssumptions.cpp.
References llvm::PreservedAnalyses::all(), DT, F, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), runImpl(), and SE.
bool AlignmentFromAssumptionsPass::runImpl | ( | Function & | F, |
AssumptionCache & | AC, | ||
ScalarEvolution * | SE_, | ||
DominatorTree * | DT_ ) |
Definition at line 283 of file AlignmentFromAssumptions.cpp.
References llvm::AssumptionCache::assumptions(), Call, llvm::cast(), Changed, DT, F, processAssumption(), and SE.
Referenced by run().
DominatorTree* llvm::AlignmentFromAssumptionsPass::DT = nullptr |
Definition at line 40 of file AlignmentFromAssumptions.h.
Referenced by processAssumption(), run(), and runImpl().
ScalarEvolution* llvm::AlignmentFromAssumptionsPass::SE = nullptr |
Definition at line 39 of file AlignmentFromAssumptions.h.
Referenced by extractAlignmentInfo(), processAssumption(), run(), and runImpl().