LLVM 20.0.0git
|
#include "llvm/Transforms/Scalar/InferAlignment.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Instructions.h"
#include "llvm/Support/KnownBits.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
Go to the source code of this file.
Functions | |
static bool | tryToImproveAlign (const DataLayout &DL, Instruction *I, function_ref< Align(Value *PtrOp, Align OldAlign, Align PrefAlign)> Fn) |
bool | inferAlignment (Function &F, AssumptionCache &AC, DominatorTree &DT) |
bool inferAlignment | ( | Function & | F, |
AssumptionCache & | AC, | ||
DominatorTree & | DT | ||
) |
Definition at line 42 of file InferAlignment.cpp.
References llvm::computeKnownBits(), llvm::KnownBits::countMinTrailingZeros(), DL, F, llvm::KnownBits::getBitWidth(), I, llvm::Value::MaxAlignmentExponent, llvm::tryEnforceAlignment(), and tryToImproveAlign().
Referenced by llvm::InferAlignmentPass::run().
|
static |
Definition at line 24 of file InferAlignment.cpp.
References DL, llvm::getLoadStoreAlignment(), llvm::getLoadStorePointerOperand(), llvm::getLoadStoreType(), I, and llvm::setLoadStoreAlignment().
Referenced by inferAlignment().