|
LLVM
3.7.0
|
#include "llvm/Transforms/Scalar.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/ScalarEvolution.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/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/Module.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.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 136 of file AlignmentFromAssumptions.cpp.
References llvm::dbgs(), DEBUG, llvm::ScalarEvolution::getMinusSCEV(), getNewAlignmentDiff(), llvm::ScalarEvolution::getNoopOrSignExtend(), llvm::ScalarEvolution::getSCEV(), and llvm::SCEV::getType().
|
static |
Definition at line 101 of file AlignmentFromAssumptions.cpp.
References llvm::abs(), llvm::dbgs(), DEBUG, llvm::ScalarEvolution::getMinusSCEV(), llvm::ScalarEvolution::getMulExpr(), llvm::ScalarEvolution::getUDivExpr(), and llvm::isPowerOf2_64().
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 88 of file AlignmentFromAssumptions.cpp.
|
static |
Definition at line 82 of file AlignmentFromAssumptions.cpp.
| false |
Definition at line 88 of file AlignmentFromAssumptions.cpp.
1.8.6