mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
[PM/AA] Explicitly depend on TLI rather than getting it out of the
AliasAnalysis. Same as the other commits, the TLI access from an alias analysis is going away and isn't very clean -- it is better to explicitly mark the dependencies. llvm-svn: 244785
This commit is contained in:
parent
19b400baf8
commit
2e28175329
@ -27,6 +27,7 @@
|
|||||||
#include "llvm/Analysis/AliasSetTracker.h"
|
#include "llvm/Analysis/AliasSetTracker.h"
|
||||||
#include "llvm/Analysis/ScalarEvolution.h"
|
#include "llvm/Analysis/ScalarEvolution.h"
|
||||||
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
|
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
|
||||||
|
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||||
#include "llvm/Analysis/TargetTransformInfo.h"
|
#include "llvm/Analysis/TargetTransformInfo.h"
|
||||||
#include "llvm/Analysis/ValueTracking.h"
|
#include "llvm/Analysis/ValueTracking.h"
|
||||||
#include "llvm/IR/Constants.h"
|
#include "llvm/IR/Constants.h"
|
||||||
@ -207,6 +208,7 @@ namespace {
|
|||||||
AA = &P->getAnalysis<AliasAnalysis>();
|
AA = &P->getAnalysis<AliasAnalysis>();
|
||||||
DT = &P->getAnalysis<DominatorTreeWrapperPass>().getDomTree();
|
DT = &P->getAnalysis<DominatorTreeWrapperPass>().getDomTree();
|
||||||
SE = &P->getAnalysis<ScalarEvolution>();
|
SE = &P->getAnalysis<ScalarEvolution>();
|
||||||
|
TLI = &P->getAnalysis<TargetLibraryInfoWrapperPass>().getTLI();
|
||||||
TTI = IgnoreTargetInfo
|
TTI = IgnoreTargetInfo
|
||||||
? nullptr
|
? nullptr
|
||||||
: &P->getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F);
|
: &P->getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F);
|
||||||
@ -221,6 +223,7 @@ namespace {
|
|||||||
AliasAnalysis *AA;
|
AliasAnalysis *AA;
|
||||||
DominatorTree *DT;
|
DominatorTree *DT;
|
||||||
ScalarEvolution *SE;
|
ScalarEvolution *SE;
|
||||||
|
const TargetLibraryInfo *TLI;
|
||||||
const TargetTransformInfo *TTI;
|
const TargetTransformInfo *TTI;
|
||||||
|
|
||||||
// FIXME: const correct?
|
// FIXME: const correct?
|
||||||
@ -440,6 +443,7 @@ namespace {
|
|||||||
AA = &getAnalysis<AliasAnalysis>();
|
AA = &getAnalysis<AliasAnalysis>();
|
||||||
DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
|
DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
|
||||||
SE = &getAnalysis<ScalarEvolution>();
|
SE = &getAnalysis<ScalarEvolution>();
|
||||||
|
TLI = &getAnalysis<TargetLibraryInfoWrapperPass>().getTLI();
|
||||||
TTI = IgnoreTargetInfo
|
TTI = IgnoreTargetInfo
|
||||||
? nullptr
|
? nullptr
|
||||||
: &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(
|
: &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(
|
||||||
@ -453,6 +457,7 @@ namespace {
|
|||||||
AU.addRequired<AliasAnalysis>();
|
AU.addRequired<AliasAnalysis>();
|
||||||
AU.addRequired<DominatorTreeWrapperPass>();
|
AU.addRequired<DominatorTreeWrapperPass>();
|
||||||
AU.addRequired<ScalarEvolution>();
|
AU.addRequired<ScalarEvolution>();
|
||||||
|
AU.addRequired<TargetLibraryInfoWrapperPass>();
|
||||||
AU.addRequired<TargetTransformInfoWrapperPass>();
|
AU.addRequired<TargetTransformInfoWrapperPass>();
|
||||||
AU.addPreserved<AliasAnalysis>();
|
AU.addPreserved<AliasAnalysis>();
|
||||||
AU.addPreserved<DominatorTreeWrapperPass>();
|
AU.addPreserved<DominatorTreeWrapperPass>();
|
||||||
@ -842,7 +847,7 @@ namespace {
|
|||||||
|
|
||||||
// It is important to cleanup here so that future iterations of this
|
// It is important to cleanup here so that future iterations of this
|
||||||
// function have less work to do.
|
// function have less work to do.
|
||||||
(void)SimplifyInstructionsInBlock(&BB, AA->getTargetLibraryInfo());
|
(void)SimplifyInstructionsInBlock(&BB, TLI);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3192,6 +3197,7 @@ char BBVectorize::ID = 0;
|
|||||||
static const char bb_vectorize_name[] = "Basic-Block Vectorization";
|
static const char bb_vectorize_name[] = "Basic-Block Vectorization";
|
||||||
INITIALIZE_PASS_BEGIN(BBVectorize, BBV_NAME, bb_vectorize_name, false, false)
|
INITIALIZE_PASS_BEGIN(BBVectorize, BBV_NAME, bb_vectorize_name, false, false)
|
||||||
INITIALIZE_AG_DEPENDENCY(AliasAnalysis)
|
INITIALIZE_AG_DEPENDENCY(AliasAnalysis)
|
||||||
|
INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfoWrapperPass)
|
||||||
INITIALIZE_PASS_DEPENDENCY(TargetTransformInfoWrapperPass)
|
INITIALIZE_PASS_DEPENDENCY(TargetTransformInfoWrapperPass)
|
||||||
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
|
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
|
||||||
INITIALIZE_PASS_DEPENDENCY(ScalarEvolution)
|
INITIALIZE_PASS_DEPENDENCY(ScalarEvolution)
|
||||||
|
Loading…
Reference in New Issue
Block a user