[llvm] r280802 - Revert "[EfficiencySanitizer] Adds shadow memory parameters for 40-bit virtual memory address."
Renato Golin via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 7 03:54:43 PDT 2016
Author: rengolin
Date: Wed Sep 7 05:54:42 2016
New Revision: 280802
URL: http://llvm.org/viewvc/llvm-project?rev=280802&view=rev
Log:
Revert "[EfficiencySanitizer] Adds shadow memory parameters for 40-bit virtual memory address."
This reverts commit r280796, as it broke the AArch64 bots for no reason.
The tests were passing and we should try to keep them passing, so a proper
review should make that happen.
Modified:
llvm/trunk/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
Modified: llvm/trunk/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp?rev=280802&r1=280801&r2=280802&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp Wed Sep 7 05:54:42 2016
@@ -99,23 +99,12 @@ static const char *const EsanWhichToolNa
// FIXME: Try to place these shadow constants, the names of the __esan_*
// interface functions, and the ToolType enum into a header shared between
// llvm and compiler-rt.
-struct ShadowMemoryParams {
- uint64_t ShadowMask;
- uint64_t ShadowOffs[3];
-} ShadowParams;
-
-static const ShadowMemoryParams ShadowParams48 = {
- 0x00000fffffffffffull,
- {
- 0x0000130000000000ull, 0x0000220000000000ull, 0x0000440000000000ull,
- }};
-
-static const ShadowMemoryParams ShadowParams40 = {
- 0x0fffffffffull,
- {
- 0x1300000000ull, 0x2200000000ull, 0x4400000000ull,
- }};
-
+static const uint64_t ShadowMask = 0x00000fffffffffffull;
+static const uint64_t ShadowOffs[3] = { // Indexed by scale
+ 0x0000130000000000ull,
+ 0x0000220000000000ull,
+ 0x0000440000000000ull,
+};
// This array is indexed by the ToolType enum.
static const int ShadowScale[] = {
0, // ESAN_None.
@@ -539,20 +528,6 @@ void EfficiencySanitizer::createDestruct
}
bool EfficiencySanitizer::initOnModule(Module &M) {
-
- Triple TargetTriple(M.getTargetTriple());
- switch (TargetTriple.getArch()) {
- case Triple::x86_64:
- ShadowParams = ShadowParams48;
- break;
- case Triple::mips64:
- case Triple::mips64el:
- ShadowParams = ShadowParams40;
- break;
- default:
- report_fatal_error("unsupported architecture");
- }
-
Ctx = &M.getContext();
const DataLayout &DL = M.getDataLayout();
IRBuilder<> IRB(M.getContext());
@@ -584,13 +559,13 @@ bool EfficiencySanitizer::initOnModule(M
Value *EfficiencySanitizer::appToShadow(Value *Shadow, IRBuilder<> &IRB) {
// Shadow = ((App & Mask) + Offs) >> Scale
- Shadow = IRB.CreateAnd(Shadow, ConstantInt::get(IntptrTy, ShadowParams.ShadowMask));
+ Shadow = IRB.CreateAnd(Shadow, ConstantInt::get(IntptrTy, ShadowMask));
uint64_t Offs;
int Scale = ShadowScale[Options.ToolType];
if (Scale <= 2)
- Offs = ShadowParams.ShadowOffs[Scale];
+ Offs = ShadowOffs[Scale];
else
- Offs = ShadowParams.ShadowOffs[0] << Scale;
+ Offs = ShadowOffs[0] << Scale;
Shadow = IRB.CreateAdd(Shadow, ConstantInt::get(IntptrTy, Offs));
if (Scale > 0)
Shadow = IRB.CreateLShr(Shadow, Scale);
More information about the llvm-commits
mailing list