LLVM
8.0.1
|
#include "llvm/Transforms/Scalar/AlignmentFromAssumptions.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
Go to the source code of this file.
Macros | |
#define | AA_NAME "alignment-from-assumptions" |
#define | DEBUG_TYPE AA_NAME |
Functions | |
STATISTIC (NumLoadAlignChanged, "Number of loads changed by alignment assumptions") | |
STATISTIC (NumStoreAlignChanged, "Number of stores changed by alignment assumptions") | |
STATISTIC (NumMemIntAlignChanged, "Number of memory intrinsics changed by alignment assumptions") | |
INITIALIZE_PASS_BEGIN (AlignmentFromAssumptions, AA_NAME, aip_name, false, false) INITIALIZE_PASS_END(AlignmentFromAssumptions | |
static unsigned | getNewAlignmentDiff (const SCEV *DiffSCEV, const SCEV *AlignSCEV, ScalarEvolution *SE) |
static unsigned | getNewAlignment (const SCEV *AASCEV, const SCEV *AlignSCEV, const SCEV *OffSCEV, Value *Ptr, ScalarEvolution *SE) |
Variables | |
static const char | aip_name [] = "Alignment from assumptions" |
AA_NAME | |
false | |
#define AA_NAME "alignment-from-assumptions" |
Definition at line 19 of file AlignmentFromAssumptions.cpp.
#define DEBUG_TYPE AA_NAME |
Definition at line 20 of file AlignmentFromAssumptions.cpp.
|
static |
Definition at line 128 of file AlignmentFromAssumptions.cpp.
References llvm::dbgs(), llvm::ScalarEvolution::getMinusSCEV(), getNewAlignmentDiff(), llvm::ScalarEvolution::getNoopOrSignExtend(), llvm::ScalarEvolution::getSCEV(), llvm::SCEV::getType(), and LLVM_DEBUG.
Referenced by llvm::AlignmentFromAssumptionsPass::processAssumption().
|
static |
Definition at line 93 of file AlignmentFromAssumptions.cpp.
References llvm::abs(), llvm::dbgs(), llvm::ScalarEvolution::getMinusSCEV(), llvm::ScalarEvolution::getMulExpr(), llvm::ScalarEvolution::getUDivExpr(), llvm::isPowerOf2_64(), and LLVM_DEBUG.
Referenced by getNewAlignment().
STATISTIC | ( | NumLoadAlignChanged | , |
"Number of loads changed by alignment assumptions" | |||
) |
STATISTIC | ( | NumStoreAlignChanged | , |
"Number of stores changed by alignment assumptions" | |||
) |
STATISTIC | ( | NumMemIntAlignChanged | , |
"Number of memory intrinsics changed by alignment assumptions" | |||
) |
AA_NAME |
Definition at line 80 of file AlignmentFromAssumptions.cpp.
|
static |
Definition at line 74 of file AlignmentFromAssumptions.cpp.
false |
Definition at line 80 of file AlignmentFromAssumptions.cpp.