summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2016-11-29 18:32:04 +0000
committerAdam Nemet <anemet@apple.com>2016-11-29 18:32:04 +0000
commitc2ed4b35b4327a15a6c5239fb81777651826492a (patch)
tree84cc5f76b6e05f782f022f8bb01ce39114fd25fb /llvm/lib/Transforms
parent91d4d93f94c09fbb33da6dd1d646da2a8cd49149 (diff)
downloadbcm5719-llvm-c2ed4b35b4327a15a6c5239fb81777651826492a.tar.gz
bcm5719-llvm-c2ed4b35b4327a15a6c5239fb81777651826492a.zip
Revert "[GVN] Basic optimization remark support"
This reverts commit r288046. Trying to see if the revert fixes a compiler crash during a stage2 LTO build with a GVN backtrace. llvm-svn: 288179
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/GVN.cpp23
1 files changed, 3 insertions, 20 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp
index 83a7efe14e9..d5234c0f7e3 100644
--- a/llvm/lib/Transforms/Scalar/GVN.cpp
+++ b/llvm/lib/Transforms/Scalar/GVN.cpp
@@ -33,7 +33,6 @@
#include "llvm/Analysis/Loads.h"
#include "llvm/Analysis/MemoryBuiltins.h"
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
-#include "llvm/Analysis/OptimizationDiagnosticInfo.h"
#include "llvm/Analysis/PHITransAddr.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/ValueTracking.h"
@@ -587,8 +586,7 @@ PreservedAnalyses GVN::run(Function &F, FunctionAnalysisManager &AM) {
auto &TLI = AM.getResult<TargetLibraryAnalysis>(F);
auto &AA = AM.getResult<AAManager>(F);
auto &MemDep = AM.getResult<MemoryDependenceAnalysis>(F);
- auto &ORE = AM.getResult<OptimizationRemarkEmitterAnalysis>(F);
- bool Changed = runImpl(F, AC, DT, TLI, AA, &MemDep, &ORE);
+ bool Changed = runImpl(F, AC, DT, TLI, AA, &MemDep);
if (!Changed)
return PreservedAnalyses::all();
PreservedAnalyses PA;
@@ -1584,18 +1582,10 @@ bool GVN::PerformLoadPRE(LoadInst *LI, AvailValInBlkVect &ValuesPerBlock,
if (V->getType()->getScalarType()->isPointerTy())
MD->invalidateCachedPointerInfo(V);
markInstructionForDeletion(LI);
- ORE->emit(OptimizationRemark(DEBUG_TYPE, "LoadPRE", LI)
- << "load eliminated by PRE");
++NumPRELoad;
return true;
}
-static void reportLoadElim(LoadInst *LI, OptimizationRemarkEmitter *ORE) {
- ORE->emit(OptimizationRemark(DEBUG_TYPE, "LoadElim", LI)
- << "load of type " << ore::NV("Type", LI->getType())
- << " eliminated");
-}
-
/// Attempt to eliminate a load whose dependencies are
/// non-local by performing PHI construction.
bool GVN::processNonLocalLoad(LoadInst *LI) {
@@ -1666,7 +1656,6 @@ bool GVN::processNonLocalLoad(LoadInst *LI) {
MD->invalidateCachedPointerInfo(V);
markInstructionForDeletion(LI);
++NumGVNLoad;
- reportLoadElim(LI, ORE);
return true;
}
@@ -1813,7 +1802,6 @@ bool GVN::processLoad(LoadInst *L) {
patchAndReplaceAllUsesWith(L, AvailableValue);
markInstructionForDeletion(L);
++NumGVNLoad;
- reportLoadElim(L, ORE);
// Tell MDA to rexamine the reused pointer since we might have more
// information after forwarding it.
if (MD && AvailableValue->getType()->getScalarType()->isPointerTy())
@@ -2191,8 +2179,7 @@ bool GVN::processInstruction(Instruction *I) {
/// runOnFunction - This is the main transformation entry point for a function.
bool GVN::runImpl(Function &F, AssumptionCache &RunAC, DominatorTree &RunDT,
const TargetLibraryInfo &RunTLI, AAResults &RunAA,
- MemoryDependenceResults *RunMD,
- OptimizationRemarkEmitter *RunORE) {
+ MemoryDependenceResults *RunMD) {
AC = &RunAC;
DT = &RunDT;
VN.setDomTree(DT);
@@ -2200,7 +2187,6 @@ bool GVN::runImpl(Function &F, AssumptionCache &RunAC, DominatorTree &RunDT,
VN.setAliasAnalysis(&RunAA);
MD = RunMD;
VN.setMemDep(MD);
- ORE = RunORE;
bool Changed = false;
bool ShouldContinue = true;
@@ -2713,8 +2699,7 @@ public:
getAnalysis<TargetLibraryInfoWrapperPass>().getTLI(),
getAnalysis<AAResultsWrapperPass>().getAAResults(),
NoLoads ? nullptr
- : &getAnalysis<MemoryDependenceWrapperPass>().getMemDep(),
- &getAnalysis<OptimizationRemarkEmitterWrapperPass>().getORE());
+ : &getAnalysis<MemoryDependenceWrapperPass>().getMemDep());
}
void getAnalysisUsage(AnalysisUsage &AU) const override {
@@ -2727,7 +2712,6 @@ public:
AU.addPreserved<DominatorTreeWrapperPass>();
AU.addPreserved<GlobalsAAWrapperPass>();
- AU.addRequired<OptimizationRemarkEmitterWrapperPass>();
}
private:
@@ -2749,5 +2733,4 @@ INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
INITIALIZE_PASS_DEPENDENCY(TargetLibraryInfoWrapperPass)
INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass)
INITIALIZE_PASS_DEPENDENCY(GlobalsAAWrapperPass)
-INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass)
INITIALIZE_PASS_END(GVNLegacyPass, "gvn", "Global Value Numbering", false, false)
OpenPOWER on IntegriCloud