LLVM
8.0.1
|
#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, Value *&AAPtr, const SCEV *&AlignSCEV, const SCEV *&OffSCEV) |
bool | processAssumption (CallInst *I) |
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. More... | |
Definition at line 28 of file AlignmentFromAssumptions.h.
bool AlignmentFromAssumptionsPass::extractAlignmentInfo | ( | CallInst * | I, |
Value *& | AAPtr, | ||
const SCEV *& | AlignSCEV, | ||
const SCEV *& | OffSCEV | ||
) |
Definition at line 200 of file AlignmentFromAssumptions.cpp.
References llvm::APInt::countTrailingOnes(), llvm::dyn_cast(), llvm::SCEVConstant::getAPInt(), llvm::CallBase::getArgOperand(), llvm::Function::getContext(), llvm::Type::getInt64Ty(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::CmpInst::getPredicate(), llvm::Type::getPrimitiveSizeInBits(), llvm::SCEV::getType(), llvm::CmpInst::ICMP_EQ, llvm::SCEV::isZero(), llvm::Value::MaximumAlignment, llvm::Value::stripPointerCasts(), and std::swap().
Definition at line 294 of file AlignmentFromAssumptions.cpp.
References llvm::SmallPtrSetImpl< PtrType >::count(), llvm::dbgs(), llvm::SmallVectorBase::empty(), F(), getNewAlignment(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::isValidAssumeForContext(), LLVM_DEBUG, MI, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T >::push_back(), runOnFunction(), SI, and llvm::Value::users().
PreservedAnalyses AlignmentFromAssumptionsPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Definition at line 402 of file AlignmentFromAssumptions.cpp.
References llvm::PreservedAnalyses::all(), F(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), and runImpl().
bool AlignmentFromAssumptionsPass::runImpl | ( | Function & | F, |
AssumptionCache & | AC, | ||
ScalarEvolution * | SE_, | ||
DominatorTree * | DT_ | ||
) |
Definition at line 387 of file AlignmentFromAssumptions.cpp.
References llvm::AssumptionCache::assumptions().
DominatorTree* llvm::AlignmentFromAssumptionsPass::DT = nullptr |
Definition at line 37 of file AlignmentFromAssumptions.h.
ScalarEvolution* llvm::AlignmentFromAssumptionsPass::SE = nullptr |
Definition at line 36 of file AlignmentFromAssumptions.h.