diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/compact-unwind.ll | 13 | ||||
-rw-r--r-- | test/CodeGen/X86/no-compact-unwind.ll | 13 |
2 files changed, 15 insertions, 11 deletions
diff --git a/test/CodeGen/X86/compact-unwind.ll b/test/CodeGen/X86/compact-unwind.ll index 8c4fa27da5..6ee9566f9a 100644 --- a/test/CodeGen/X86/compact-unwind.ll +++ b/test/CodeGen/X86/compact-unwind.ll @@ -1,18 +1,21 @@ -; RUN: llc < %s -disable-cfi -disable-fp-elim -mtriple x86_64-apple-darwin11 | FileCheck %s +; RUN: llc < %s -disable-fp-elim -mtriple x86_64-apple-darwin11 | FileCheck -check-prefix=ASM %s +; RUN: llc < %s -disable-fp-elim -mtriple x86_64-apple-darwin11 -filetype=obj -o - \ +; RUN: | llvm-objdump -triple x86_64-apple-darwin11 -s - \ +; RUN: | FileCheck -check-prefix=CU %s %ty = type { i8* } @gv = external global i32 ; This is aligning the stack with a push of a random register. -; CHECK: pushq %rax +; ASM: pushq %rax ; Even though we can't encode %rax into the compact unwind, We still want to be ; able to generate a compact unwind encoding in this particular case. ; -; CHECK: __LD,__compact_unwind -; CHECK: _foo ## Range Start -; CHECK: 16842753 ## Compact Unwind Encoding: 0x1010001 +; CU: Contents of section __compact_unwind: +; CU-NEXT: 0020 00000000 00000000 1e000000 01000101 +; CU-NEXT: 0030 00000000 00000000 00000000 00000000 define i8* @foo(i64 %size) { %addr = alloca i64, align 8 diff --git a/test/CodeGen/X86/no-compact-unwind.ll b/test/CodeGen/X86/no-compact-unwind.ll index 627f7da9f7..2f34b6f799 100644 --- a/test/CodeGen/X86/no-compact-unwind.ll +++ b/test/CodeGen/X86/no-compact-unwind.ll @@ -1,4 +1,6 @@ -; RUN: llc < %s -mtriple x86_64-apple-macosx10.8.0 -disable-cfi | FileCheck %s +; RUN: llc < %s -mtriple x86_64-apple-macosx10.8.0 -filetype=obj -o - \ +; RUN: | llvm-objdump -triple x86_64-apple-macosx10.8.0 -s - \ +; RUN: | FileCheck %s %"struct.dyld::MappedRanges" = type { [400 x %struct.anon], %"struct.dyld::MappedRanges"* } %struct.anon = type { %class.ImageLoader*, i64, i64 } @@ -13,12 +15,11 @@ declare void @OSMemoryBarrier() optsize ; compact unwind encodings for this function. This then defaults to using the ; DWARF EH frame. ; -; CHECK: .section __LD,__compact_unwind,regular,debug -; CHECK: .quad _func -; CHECK: .long 67108864 ## Compact Unwind Encoding: 0x4000000 -; CHECK: .quad 0 ## Personality Function -; CHECK: .quad 0 ## LSDA +; CHECK: Contents of section __compact_unwind: +; CHECK-NEXT: 0048 00000000 00000000 42000000 00000004 +; CHECK-NEXT: 0058 00000000 00000000 00000000 00000000 ; + define void @func(%class.ImageLoader* %image) optsize ssp uwtable { entry: br label %for.cond1.preheader |