diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-05-10 18:39:09 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-05-10 18:39:09 +0000 |
commit | e29887b4ee42ae78790a8c1886a7babee9ef18e5 (patch) | |
tree | cdedb6d61ea639cd21324f65f522b5a3f07f8ac5 /test | |
parent | 988397dcbcdb72ef1e9b07d9a6176cbfddbf0945 (diff) | |
download | external_llvm-e29887b4ee42ae78790a8c1886a7babee9ef18e5.zip external_llvm-e29887b4ee42ae78790a8c1886a7babee9ef18e5.tar.gz external_llvm-e29887b4ee42ae78790a8c1886a7babee9ef18e5.tar.bz2 |
Use .cfi_sections to put the unwind info in .debug_frame when possible. With
this clang will use .debug_frame in, for example,
clang -g -c -m32 test.c
This matches gcc's behaviour. It looks like .debug_frame is a bit bigger
than .eh_frame, but has the big advantage of not being allocated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131140 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/DebugInfo/debug_frame.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/DebugInfo/debug_frame.ll b/test/DebugInfo/debug_frame.ll new file mode 100644 index 0000000..d267ad6 --- /dev/null +++ b/test/DebugInfo/debug_frame.ll @@ -0,0 +1,18 @@ +; RUN: llc %s -o - | FileCheck %s + +; Test that we produce a .debug_frame, not an .eh_frame + +; CHECK: .cfi_sections .debug_frame + +define void @f() nounwind { +entry: + ret void +} + +!llvm.dbg.sp = !{!0} + +!0 = metadata !{i32 589870, i32 0, metadata !1, metadata !"f", metadata !"f", metadata !"", metadata !1, i32 1, metadata !3, i1 false, i1 true, i32 0, i32 0, i32 0, i32 256, i1 true, void ()* @f, null, null} ; [ DW_TAG_subprogram ] +!1 = metadata !{i32 589865, metadata !"/home/espindola/llvm/test.c", metadata !"/home/espindola/llvm/build", metadata !2} ; [ DW_TAG_file_type ] +!2 = metadata !{i32 589841, i32 0, i32 12, metadata !"/home/espindola/llvm/test.c", metadata !"/home/espindola/llvm/build", metadata !"clang version 3.0 ()", i1 true, i1 true, metadata !"", i32 0} ; [ DW_TAG_compile_unit ] +!3 = metadata !{i32 589845, metadata !1, metadata !"", metadata !1, i32 0, i64 0, i64 0, i32 0, i32 0, i32 0, metadata !4, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] +!4 = metadata !{null} |