[llvm] e05c103 - [DebugInfo] Re-engineer a test to be stricter, add XFails
Jeremy Morse via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 8 02:12:57 PST 2021
Author: Jeremy Morse
Date: 2021-02-08T10:12:33Z
New Revision: e05c10380ce7c18d1a232dcc5baa7c10d8bd2bf6
URL: https://github.com/llvm/llvm-project/commit/e05c10380ce7c18d1a232dcc5baa7c10d8bd2bf6
DIFF: https://github.com/llvm/llvm-project/commit/e05c10380ce7c18d1a232dcc5baa7c10d8bd2bf6.diff
LOG: [DebugInfo] Re-engineer a test to be stricter, add XFails
In the LLVM-IR for this test, the inlined argument "b" in the "a" function
is optimized out on certain architectures, not on others. This hasn't been
reported as a test failure since 93faeecd8fa and ff2073a51 because we would
create a variable that looks like this:
DW_TAG_formal_parameter
DW_AT_abstract_origin
With no further information (and no location). With D95617 however, we
stop emitting such variables.
Prior to landing D95617: make this test stricter by checking that the
variable mentioned above has a location. We have to accept that on certain
architectures this goes missing, so add those to the XFail list.
I've run a few experiments, and right now it looks likely only powerpc64
still drops the variable location.
Added:
Modified:
llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
Removed:
################################################################################
diff --git a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
index 0cdfe0b7728d..a7742aef1f49 100644
--- a/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
+++ b/llvm/test/DebugInfo/Generic/missing-abstract-variable.ll
@@ -1,5 +1,10 @@
; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -v -debug-info - | FileCheck %s
+; The formal parameter 'b' for Function 'x' when inlined within 'a' is lost on
+; powerpc64 (and on x86_64 at at least -O2). Presumably this is a SelectionDAG
+; issue.
+; XFAIL: powerpc64
+
; Build from the following source with clang -O2.
; The important details are that 'x's abstract definition is first built during
@@ -78,6 +83,7 @@
; fastisel succeeds).
; CHECK: DW_TAG_formal_parameter
; CHECK-NOT: DW_TAG
+; CHECK: DW_AT_location
; CHECK: DW_AT_abstract_origin {{.*}} "b"
; CHECK-NOT: {{DW_TAG|NULL}}
More information about the llvm-commits
mailing list