[PATCH] D82195: [InjectTLIMappings] Preserve GLobalsAAWrapperPass.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 19 08:05:43 PDT 2020
fhahn created this revision.
fhahn added reviewers: asbirlea, fpetrogalli, anemet, efriedma.
Herald added subscribers: dexonsmith, hiraditya.
Herald added a project: LLVM.
InjectTLIMappings runs before LoopVectorize but is not marked as
preserving GlobalsAA. This means that GlobalsAA is not available in
LoopVectorize, causing some loops to not be vectorized due to failing to
deduce no-alias for some accesses.
This fixes a few 5-10% regressions on SPEC2000/SPEC2006 with LTO & PGO.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D82195
Files:
llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
Index: llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
===================================================================
--- llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
+++ llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
@@ -14,6 +14,7 @@
#include "llvm/Transforms/Utils/InjectTLIMappings.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/DemandedBits.h"
+#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/Analysis/VectorUtils.h"
#include "llvm/IR/InstIterator.h"
@@ -144,6 +145,7 @@
AU.addPreserved<LoopAccessLegacyAnalysis>();
AU.addPreserved<DemandedBitsWrapperPass>();
AU.addPreserved<OptimizationRemarkEmitterWrapperPass>();
+ AU.addPreserved<GlobalsAAWrapperPass>();
}
////////////////////////////////////////////////////////////////////////////////
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82195.272079.patch
Type: text/x-patch
Size: 850 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200619/98670601/attachment.bin>
More information about the llvm-commits
mailing list