diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-06-13 22:35:44 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-06-13 22:35:44 +0000 |
commit | e847f132f76b25f523b16a32f828cac372a7f963 (patch) | |
tree | b4b48926504a2c6359146fdccbfa72d57ebebc7b /llvm/test/DebugInfo | |
parent | aa90998c878fc4ab4c1e8bd9805557cb98a06623 (diff) | |
download | bcm5719-llvm-e847f132f76b25f523b16a32f828cac372a7f963.tar.gz bcm5719-llvm-e847f132f76b25f523b16a32f828cac372a7f963.zip |
DebugInfo: Reference abstract definitions from variables in concrete definitions that preceed their first inline definition.
Rather than relying on abstract variables looked up at the time the
concrete variable is created, look them up at the end of the module to
ensure they're referenced even if they're created after the concrete
definition. This completes/matches the work done in r209677 to handle
this for the subprograms themselves.
llvm-svn: 210946
Diffstat (limited to 'llvm/test/DebugInfo')
-rw-r--r-- | llvm/test/DebugInfo/X86/dbg-value-inlined-parameter.ll | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/test/DebugInfo/X86/dbg-value-inlined-parameter.ll b/llvm/test/DebugInfo/X86/dbg-value-inlined-parameter.ll index 2d3cf6e6807..4d18f7dc306 100644 --- a/llvm/test/DebugInfo/X86/dbg-value-inlined-parameter.ll +++ b/llvm/test/DebugInfo/X86/dbg-value-inlined-parameter.ll @@ -7,22 +7,20 @@ ; CHECK: DW_TAG_subprogram ; CHECK: DW_AT_abstract_origin {{.*}}{[[ABS:.*]]} -; FIXME: An out of line definition preceding an inline usage doesn't properly -; reference abstract variables. ; CHECK: DW_TAG_formal_parameter ; CHECK-NOT: DW_TAG -; CHECK: DW_AT_name {{.*}} "sp" +; CHECK: DW_AT_abstract_origin {{.*}}{[[ABS_SP:.*]]} ; CHECK: DW_TAG_formal_parameter ; CHECK-NOT: DW_TAG -; CHECK: DW_AT_name {{.*}} "nums" +; CHECK: DW_AT_abstract_origin {{.*}}{[[ABS_NUMS:.*]]} ; CHECK: [[ABS]]: DW_TAG_subprogram ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "foo" -; CHECK: [[ABS_SP:.*]]: DW_TAG_formal_parameter +; CHECK: [[ABS_SP]]: DW_TAG_formal_parameter ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "sp" -; CHECK: [[ABS_NUMS:.*]]: DW_TAG_formal_parameter +; CHECK: [[ABS_NUMS]]: DW_TAG_formal_parameter ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "nums" |