diff options
Diffstat (limited to 'lib/Transforms/Instrumentation/AddressSanitizer.cpp')
| -rw-r--r-- | lib/Transforms/Instrumentation/AddressSanitizer.cpp | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 057f746e052d..f8d255273b2a 100644 --- a/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -756,7 +756,8 @@ struct FunctionStackPoisoner : public InstVisitor<FunctionStackPoisoner> {    bool runOnFunction() {      if (!ClStack) return false; -    if (ClRedzoneByvalArgs) copyArgsPassedByValToAllocas(); +    if (ClRedzoneByvalArgs && Mapping.Offset != kDynamicShadowSentinel) +      copyArgsPassedByValToAllocas();      // Collect alloca, ret, lifetime instructions etc.      for (BasicBlock *BB : depth_first(&F.getEntryBlock())) visit(*BB);  | 
