diff options
Diffstat (limited to 'llvm/test/DebugInfo/X86/debug-loc-asan.ll')
| -rw-r--r-- | llvm/test/DebugInfo/X86/debug-loc-asan.ll | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/llvm/test/DebugInfo/X86/debug-loc-asan.ll b/llvm/test/DebugInfo/X86/debug-loc-asan.ll index d1131379f56..2e013557449 100644 --- a/llvm/test/DebugInfo/X86/debug-loc-asan.ll +++ b/llvm/test/DebugInfo/X86/debug-loc-asan.ll @@ -7,15 +7,14 @@ ; int bar(int y) { ; return y + 2; ; } -; with "clang++ -S -emit-llvm -fsanitize=address -O0 -g test.cc" +; with "clang++ -S -emit-llvm -mllvm -asan-skip-promotable-allocas=0 -fsanitize=address -O0 -g test.cc" -; First, argument variable "y" resides in %rdi: -; CHECK: DEBUG_VALUE: bar:y <- %RDI - -; Then its address is stored in a location on a stack: +; The address of the (potentially now malloc'ed) alloca ends up +; in RDI, after which it is spilled to the stack. We record the +; spill OFFSET on the stack for checking the debug info below. +; CHECK: #DEBUG_VALUE: bar:y <- [%RDI+0] ; CHECK: movq %rdi, [[OFFSET:[0-9]+]](%rsp) ; CHECK-NEXT: [[START_LABEL:.Ltmp[0-9]+]] -; CHECK-NEXT: DEBUG_VALUE: bar:y <- [%RSP+[[OFFSET]]] ; This location should be valid until the end of the function. ; CHECK: .Ldebug_loc{{[0-9]+}}: |

