From e03daa01f6f0c17f4b278183f2116d00d35e2b45 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 12 Mar 2014 03:52:34 +0000 Subject: [PATCH] [ARM] Use DWARF register numbers for CFI directives in ELF assembly It seems gas can't handle CFI directives with VFP register names ("d12", etc.). This broke us trying to build Chromium for Android after 201423. A gas bug has been filed: https://sourceware.org/bugzilla/show_bug.cgi?id=16694 compnerd suggested making this conditional on whether we're using the integrated assembler or not. I'll look into that in a follow-up patch. Differential Revision: http://llvm-reviews.chandlerc.com/D3049 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203635 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp | 3 + test/CodeGen/ARM/debug-frame-large-stack.ll | 22 +- test/CodeGen/ARM/debug-frame-vararg.ll | 30 +-- test/CodeGen/ARM/debug-frame.ll | 238 +++++++++---------- 4 files changed, 148 insertions(+), 145 deletions(-) diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp b/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp index 4c5f21a0542..667d11b7414 100644 --- a/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp +++ b/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp @@ -54,4 +54,7 @@ ARMELFMCAsmInfo::ARMELFMCAsmInfo() { UseParensForSymbolVariant = true; UseIntegratedAssembler = true; + + // gas doesn't handle VFP register names in cfi directives. + DwarfRegNumForCFI = true; } diff --git a/test/CodeGen/ARM/debug-frame-large-stack.ll b/test/CodeGen/ARM/debug-frame-large-stack.ll index 5bafce9407e..6ce6680e572 100644 --- a/test/CodeGen/ARM/debug-frame-large-stack.ll +++ b/test/CodeGen/ARM/debug-frame-large-stack.ll @@ -42,8 +42,8 @@ define void @test2() { ; CHECK-ARM: .cfi_startproc ; CHECK-ARM: push {r4, r5} ; CHECK-ARM: .cfi_def_cfa_offset 8 -; CHECK-ARM: .cfi_offset r5, -4 -; CHECK-ARM: .cfi_offset r4, -8 +; CHECK-ARM: .cfi_offset 5, -4 +; CHECK-ARM: .cfi_offset 4, -8 ; CHECK-ARM: sub sp, sp, #72 ; CHECK-ARM: sub sp, sp, #4096 ; CHECK-ARM: .cfi_def_cfa_offset 4176 @@ -54,7 +54,7 @@ define void @test2() { ; CHECK-ARM-FP_ELIM: push {r4, r5} ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 8 ; CHECK-ARM-FP_ELIM: .cfi_offset 54, -4 -; CHECK-ARM-FP_ELIM: .cfi_offset r4, -8 +; CHECK-ARM-FP_ELIM: .cfi_offset 4, -8 ; CHECK-ARM-FP_ELIM: sub sp, sp, #72 ; CHECK-ARM-FP_ELIM: sub sp, sp, #4096 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 4176 @@ -73,11 +73,11 @@ define i32 @test3() { ; CHECK-ARM: .cfi_startproc ; CHECK-ARM: push {r4, r5, r11} ; CHECK-ARM: .cfi_def_cfa_offset 12 -; CHECK-ARM: .cfi_offset r11, -4 -; CHECK-ARM: .cfi_offset r5, -8 -; CHECK-ARM: .cfi_offset r4, -12 +; CHECK-ARM: .cfi_offset 11, -4 +; CHECK-ARM: .cfi_offset 5, -8 +; CHECK-ARM: .cfi_offset 4, -12 ; CHECK-ARM: add r11, sp, #8 -; CHECK-ARM: .cfi_def_cfa r11, 4 +; CHECK-ARM: .cfi_def_cfa 11, 4 ; CHECK-ARM: sub sp, sp, #20 ; CHECK-ARM: sub sp, sp, #805306368 ; CHECK-ARM: bic sp, sp, #15 @@ -87,11 +87,11 @@ define i32 @test3() { ; CHECK-ARM-FP-ELIM: .cfi_startproc ; CHECK-ARM-FP-ELIM: push {r4, r5, r11} ; CHECK-ARM-FP-ELIM: .cfi_def_cfa_offset 12 -; CHECK-ARM-FP-ELIM: .cfi_offset r11, -4 -; CHECK-ARM-FP-ELIM: .cfi_offset r5, -8 -; CHECK-ARM-FP-ELIM: .cfi_offset r4, -12 +; CHECK-ARM-FP-ELIM: .cfi_offset 11, -4 +; CHECK-ARM-FP-ELIM: .cfi_offset 5, -8 +; CHECK-ARM-FP-ELIM: .cfi_offset 4, -12 ; CHECK-ARM-FP-ELIM: add r11, sp, #8 -; CHECK-ARM-FP-ELIM: .cfi_def_cfa r11, 4 +; CHECK-ARM-FP-ELIM: .cfi_def_cfa 11, 4 ; CHECK-ARM-FP-ELIM: sub sp, sp, #20 ; CHECK-ARM-FP-ELIM: sub sp, sp, #805306368 ; CHECK-ARM-FP-ELIM: bic sp, sp, #15 diff --git a/test/CodeGen/ARM/debug-frame-vararg.ll b/test/CodeGen/ARM/debug-frame-vararg.ll index 9b39525e527..2a7d7947db0 100644 --- a/test/CodeGen/ARM/debug-frame-vararg.ll +++ b/test/CodeGen/ARM/debug-frame-vararg.ll @@ -66,8 +66,8 @@ ; CHECK-FP: .cfi_def_cfa_offset 16 ; CHECK-FP: push {r4, lr} ; CHECK-FP: .cfi_def_cfa_offset 24 -; CHECK-FP: .cfi_offset lr, -20 -; CHECK-FP: .cfi_offset r4, -24 +; CHECK-FP: .cfi_offset 14, -20 +; CHECK-FP: .cfi_offset 4, -24 ; CHECK-FP: sub sp, sp, #8 ; CHECK-FP: .cfi_def_cfa_offset 32 @@ -77,11 +77,11 @@ ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 ; CHECK-FP-ELIM: push {r4, r11, lr} ; CHECK-FP-ELIM: .cfi_def_cfa_offset 28 -; CHECK-FP-ELIM: .cfi_offset lr, -20 -; CHECK-FP-ELIM: .cfi_offset r11, -24 -; CHECK-FP-ELIM: .cfi_offset r4, -28 +; CHECK-FP-ELIM: .cfi_offset 14, -20 +; CHECK-FP-ELIM: .cfi_offset 11, -24 +; CHECK-FP-ELIM: .cfi_offset 4, -28 ; CHECK-FP-ELIM: add r11, sp, #4 -; CHECK-FP-ELIM: .cfi_def_cfa r11, 24 +; CHECK-FP-ELIM: .cfi_def_cfa 11, 24 ; CHECK-THUMB-FP-LABEL: sum ; CHECK-THUMB-FP: .cfi_startproc @@ -89,10 +89,10 @@ ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 ; CHECK-THUMB-FP: push {r4, r5, r7, lr} ; CHECK-THUMB-FP: .cfi_def_cfa_offset 32 -; CHECK-THUMB-FP: .cfi_offset lr, -20 -; CHECK-THUMB-FP: .cfi_offset r7, -24 -; CHECK-THUMB-FP: .cfi_offset r5, -28 -; CHECK-THUMB-FP: .cfi_offset r4, -32 +; CHECK-THUMB-FP: .cfi_offset 14, -20 +; CHECK-THUMB-FP: .cfi_offset 7, -24 +; CHECK-THUMB-FP: .cfi_offset 5, -28 +; CHECK-THUMB-FP: .cfi_offset 4, -32 ; CHECK-THUMB-FP: sub sp, #8 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 40 @@ -102,12 +102,12 @@ ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 32 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -20 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -24 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -28 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -32 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -20 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -24 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -28 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -32 ; CHECK-THUMB-FP-ELIM: add r7, sp, #8 -; CHECK-THUMB-FP-ELIM: .cfi_def_cfa r7, 24 +; CHECK-THUMB-FP-ELIM: .cfi_def_cfa 7, 24 define i32 @sum(i32 %count, ...) { entry: diff --git a/test/CodeGen/ARM/debug-frame.ll b/test/CodeGen/ARM/debug-frame.ll index 73357df8e2e..527fea8c204 100644 --- a/test/CodeGen/ARM/debug-frame.ll +++ b/test/CodeGen/ARM/debug-frame.ll @@ -163,17 +163,17 @@ declare void @_ZSt9terminatev() ; CHECK-FP: .cfi_startproc ; CHECK-FP: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} ; CHECK-FP: .cfi_def_cfa_offset 36 -; CHECK-FP: .cfi_offset lr, -4 -; CHECK-FP: .cfi_offset r11, -8 -; CHECK-FP: .cfi_offset r10, -12 -; CHECK-FP: .cfi_offset r9, -16 -; CHECK-FP: .cfi_offset r8, -20 -; CHECK-FP: .cfi_offset r7, -24 -; CHECK-FP: .cfi_offset r6, -28 -; CHECK-FP: .cfi_offset r5, -32 -; CHECK-FP: .cfi_offset r4, -36 +; CHECK-FP: .cfi_offset 14, -4 +; CHECK-FP: .cfi_offset 11, -8 +; CHECK-FP: .cfi_offset 10, -12 +; CHECK-FP: .cfi_offset 9, -16 +; CHECK-FP: .cfi_offset 8, -20 +; CHECK-FP: .cfi_offset 7, -24 +; CHECK-FP: .cfi_offset 6, -28 +; CHECK-FP: .cfi_offset 5, -32 +; CHECK-FP: .cfi_offset 4, -36 ; CHECK-FP: add r11, sp, #28 -; CHECK-FP: .cfi_def_cfa r11, 8 +; CHECK-FP: .cfi_def_cfa 11, 8 ; CHECK-FP: sub sp, sp, #28 ; CHECK-FP: .cfi_endproc @@ -181,15 +181,15 @@ declare void @_ZSt9terminatev() ; CHECK-FP-ELIM: .cfi_startproc ; CHECK-FP-ELIM: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} ; CHECK-FP-ELIM: .cfi_def_cfa_offset 36 -; CHECK-FP-ELIM: .cfi_offset lr, -4 -; CHECK-FP-ELIM: .cfi_offset r11, -8 -; CHECK-FP-ELIM: .cfi_offset r10, -12 -; CHECK-FP-ELIM: .cfi_offset r9, -16 -; CHECK-FP-ELIM: .cfi_offset r8, -20 -; CHECK-FP-ELIM: .cfi_offset r7, -24 -; CHECK-FP-ELIM: .cfi_offset r6, -28 -; CHECK-FP-ELIM: .cfi_offset r5, -32 -; CHECK-FP-ELIM: .cfi_offset r4, -36 +; CHECK-FP-ELIM: .cfi_offset 14, -4 +; CHECK-FP-ELIM: .cfi_offset 11, -8 +; CHECK-FP-ELIM: .cfi_offset 10, -12 +; CHECK-FP-ELIM: .cfi_offset 9, -16 +; CHECK-FP-ELIM: .cfi_offset 8, -20 +; CHECK-FP-ELIM: .cfi_offset 7, -24 +; CHECK-FP-ELIM: .cfi_offset 6, -28 +; CHECK-FP-ELIM: .cfi_offset 5, -32 +; CHECK-FP-ELIM: .cfi_offset 4, -36 ; CHECK-FP-ELIM: sub sp, sp, #28 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 64 ; CHECK-FP-ELIM: .cfi_endproc @@ -198,17 +198,17 @@ declare void @_ZSt9terminatev() ; CHECK-V7-FP: .cfi_startproc ; CHECK-V7-FP: push {r4, r11, lr} ; CHECK-V7-FP: .cfi_def_cfa_offset 12 -; CHECK-V7-FP: .cfi_offset lr, -4 -; CHECK-V7-FP: .cfi_offset r11, -8 -; CHECK-V7-FP: .cfi_offset r4, -12 +; CHECK-V7-FP: .cfi_offset 14, -4 +; CHECK-V7-FP: .cfi_offset 11, -8 +; CHECK-V7-FP: .cfi_offset 4, -12 ; CHECK-V7-FP: add r11, sp, #4 -; CHECK-V7-FP: .cfi_def_cfa r11, 8 +; CHECK-V7-FP: .cfi_def_cfa 11, 8 ; CHECK-V7-FP: vpush {d8, d9, d10, d11, d12} -; CHECK-V7-FP: .cfi_offset d12, -24 -; CHECK-V7-FP: .cfi_offset d11, -32 -; CHECK-V7-FP: .cfi_offset d10, -40 -; CHECK-V7-FP: .cfi_offset d9, -48 -; CHECK-V7-FP: .cfi_offset d8, -56 +; CHECK-V7-FP: .cfi_offset 268, -24 +; CHECK-V7-FP: .cfi_offset 267, -32 +; CHECK-V7-FP: .cfi_offset 266, -40 +; CHECK-V7-FP: .cfi_offset 265, -48 +; CHECK-V7-FP: .cfi_offset 264, -56 ; CHECK-V7-FP: sub sp, sp, #28 ; CHECK-V7-FP: .cfi_endproc @@ -216,15 +216,15 @@ declare void @_ZSt9terminatev() ; CHECK-V7-FP-ELIM: .cfi_startproc ; CHECK-V7-FP-ELIM: push {r4, lr} ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 -; CHECK-V7-FP-ELIM: .cfi_offset r4, -8 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 +; CHECK-V7-FP-ELIM: .cfi_offset 4, -8 ; CHECK-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 48 -; CHECK-V7-FP-ELIM: .cfi_offset d12, -16 -; CHECK-V7-FP-ELIM: .cfi_offset d11, -24 -; CHECK-V7-FP-ELIM: .cfi_offset d10, -32 -; CHECK-V7-FP-ELIM: .cfi_offset d9, -40 -; CHECK-V7-FP-ELIM: .cfi_offset d8, -48 +; CHECK-V7-FP-ELIM: .cfi_offset 268, -16 +; CHECK-V7-FP-ELIM: .cfi_offset 267, -24 +; CHECK-V7-FP-ELIM: .cfi_offset 266, -32 +; CHECK-V7-FP-ELIM: .cfi_offset 265, -40 +; CHECK-V7-FP-ELIM: .cfi_offset 264, -48 ; CHECK-V7-FP-ELIM: sub sp, sp, #24 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 72 ; CHECK-V7-FP-ELIM: .cfi_endproc @@ -233,13 +233,13 @@ declare void @_ZSt9terminatev() ; CHECK-THUMB-FP: .cfi_startproc ; CHECK-THUMB-FP: push {r4, r5, r6, r7, lr} ; CHECK-THUMB-FP: .cfi_def_cfa_offset 20 -; CHECK-THUMB-FP: .cfi_offset lr, -4 -; CHECK-THUMB-FP: .cfi_offset r7, -8 -; CHECK-THUMB-FP: .cfi_offset r6, -12 -; CHECK-THUMB-FP: .cfi_offset r5, -16 -; CHECK-THUMB-FP: .cfi_offset r4, -20 +; CHECK-THUMB-FP: .cfi_offset 14, -4 +; CHECK-THUMB-FP: .cfi_offset 7, -8 +; CHECK-THUMB-FP: .cfi_offset 6, -12 +; CHECK-THUMB-FP: .cfi_offset 5, -16 +; CHECK-THUMB-FP: .cfi_offset 4, -20 ; CHECK-THUMB-FP: add r7, sp, #12 -; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 +; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 ; CHECK-THUMB-FP: sub sp, #60 ; CHECK-THUMB-FP: .cfi_endproc @@ -247,11 +247,11 @@ declare void @_ZSt9terminatev() ; CHECK-THUMB-FP-ELIM: .cfi_startproc ; CHECK-THUMB-FP-ELIM: push {r4, r5, r6, r7, lr} ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 20 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 -; CHECK-THUMB-FP-ELIM: .cfi_offset r6, -12 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -16 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -20 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 +; CHECK-THUMB-FP-ELIM: .cfi_offset 6, -12 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -16 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -20 ; CHECK-THUMB-FP-ELIM: sub sp, #60 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 80 ; CHECK-THUMB-FP-ELIM: .cfi_endproc @@ -260,18 +260,18 @@ declare void @_ZSt9terminatev() ; CHECK-THUMB-V7-FP: .cfi_startproc ; CHECK-THUMB-V7-FP: push.w {r4, r7, r11, lr} ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 -; CHECK-THUMB-V7-FP: .cfi_offset r11, -8 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -12 -; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 +; CHECK-THUMB-V7-FP: .cfi_offset 11, -8 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -12 +; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 ; CHECK-THUMB-V7-FP: add r7, sp, #4 -; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 12 +; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 12 ; CHECK-THUMB-V7-FP: vpush {d8, d9, d10, d11, d12} -; CHECK-THUMB-V7-FP: .cfi_offset d12, -24 -; CHECK-THUMB-V7-FP: .cfi_offset d11, -32 -; CHECK-THUMB-V7-FP: .cfi_offset d10, -40 -; CHECK-THUMB-V7-FP: .cfi_offset d9, -48 -; CHECK-THUMB-V7-FP: .cfi_offset d8, -56 +; CHECK-THUMB-V7-FP: .cfi_offset 268, -24 +; CHECK-THUMB-V7-FP: .cfi_offset 267, -32 +; CHECK-THUMB-V7-FP: .cfi_offset 266, -40 +; CHECK-THUMB-V7-FP: .cfi_offset 265, -48 +; CHECK-THUMB-V7-FP: .cfi_offset 264, -56 ; CHECK-THUMB-V7-FP: sub sp, #24 ; CHECK-THUMB-V7-FP: .cfi_endproc @@ -279,15 +279,15 @@ declare void @_ZSt9terminatev() ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc ; CHECK-THUMB-V7-FP-ELIM: push {r4, lr} ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -8 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -8 ; CHECK-THUMB-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 48 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d12, -16 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d11, -24 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d10, -32 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d9, -40 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d8, -48 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 268, -16 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 267, -24 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 266, -32 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 265, -40 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 264, -48 ; CHECK-THUMB-V7-FP-ELIM: sub sp, #24 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 72 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc @@ -309,10 +309,10 @@ entry: ; CHECK-FP: .cfi_startproc ; CHECK-FP: push {r11, lr} ; CHECK-FP: .cfi_def_cfa_offset 8 -; CHECK-FP: .cfi_offset lr, -4 -; CHECK-FP: .cfi_offset r11, -8 +; CHECK-FP: .cfi_offset 14, -4 +; CHECK-FP: .cfi_offset 11, -8 ; CHECK-FP: mov r11, sp -; CHECK-FP: .cfi_def_cfa_register r11 +; CHECK-FP: .cfi_def_cfa_register 11 ; CHECK-FP: pop {r11, lr} ; CHECK-FP: mov pc, lr ; CHECK-FP: .cfi_endproc @@ -321,8 +321,8 @@ entry: ; CHECK-FP-ELIM: .cfi_startproc ; CHECK-FP-ELIM: push {r11, lr} ; CHECK-FP-ELIM: .cfi_def_cfa_offset 8 -; CHECK-FP-ELIM: .cfi_offset lr, -4 -; CHECK-FP-ELIM: .cfi_offset r11, -8 +; CHECK-FP-ELIM: .cfi_offset 14, -4 +; CHECK-FP-ELIM: .cfi_offset 11, -8 ; CHECK-FP-ELIM: pop {r11, lr} ; CHECK-FP-ELIM: mov pc, lr ; CHECK-FP-ELIM: .cfi_endproc @@ -331,10 +331,10 @@ entry: ; CHECK-V7-FP: .cfi_startproc ; CHECK-V7-FP: push {r11, lr} ; CHECK-V7-FP: .cfi_def_cfa_offset 8 -; CHECK-V7-FP: .cfi_offset lr, -4 -; CHECK-V7-FP: .cfi_offset r11, -8 +; CHECK-V7-FP: .cfi_offset 14, -4 +; CHECK-V7-FP: .cfi_offset 11, -8 ; CHECK-V7-FP: mov r11, sp -; CHECK-V7-FP: .cfi_def_cfa_register r11 +; CHECK-V7-FP: .cfi_def_cfa_register 11 ; CHECK-V7-FP: pop {r11, pc} ; CHECK-V7-FP: .cfi_endproc @@ -342,8 +342,8 @@ entry: ; CHECK-V7-FP-ELIM: .cfi_startproc ; CHECK-V7-FP-ELIM: push {r11, lr} ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 -; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 +; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 ; CHECK-V7-FP-ELIM: pop {r11, pc} ; CHECK-V7-FP-ELIM: .cfi_endproc @@ -351,10 +351,10 @@ entry: ; CHECK-THUMB-FP: .cfi_startproc ; CHECK-THUMB-FP: push {r7, lr} ; CHECK-THUMB-FP: .cfi_def_cfa_offset 8 -; CHECK-THUMB-FP: .cfi_offset lr, -4 -; CHECK-THUMB-FP: .cfi_offset r7, -8 +; CHECK-THUMB-FP: .cfi_offset 14, -4 +; CHECK-THUMB-FP: .cfi_offset 7, -8 ; CHECK-THUMB-FP: add r7, sp, #0 -; CHECK-THUMB-FP: .cfi_def_cfa_register r7 +; CHECK-THUMB-FP: .cfi_def_cfa_register 7 ; CHECK-THUMB-FP: pop {r7, pc} ; CHECK-THUMB-FP: .cfi_endproc @@ -362,8 +362,8 @@ entry: ; CHECK-THUMB-FP-ELIM: .cfi_startproc ; CHECK-THUMB-FP-ELIM: push {r7, lr} ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 8 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 ; CHECK-THUMB-FP-ELIM: pop {r7, pc} ; CHECK-THUMB-FP-ELIM: .cfi_endproc @@ -371,10 +371,10 @@ entry: ; CHECK-THUMB-V7-FP: .cfi_startproc ; CHECK-THUMB-V7-FP: push {r7, lr} ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 8 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 ; CHECK-THUMB-V7-FP: mov r7, sp -; CHECK-THUMB-V7-FP: .cfi_def_cfa_register r7 +; CHECK-THUMB-V7-FP: .cfi_def_cfa_register 7 ; CHECK-THUMB-V7-FP: pop {r7, pc} ; CHECK-THUMB-V7-FP: .cfi_endproc @@ -382,8 +382,8 @@ entry: ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc ; CHECK-THUMB-V7-FP-ELIM: push.w {r11, lr} ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 ; CHECK-THUMB-V7-FP-ELIM: pop.w {r11, pc} ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc @@ -413,12 +413,12 @@ entry: ; CHECK-FP: .cfi_startproc ; CHECK-FP: push {r4, r5, r11, lr} ; CHECK-FP: .cfi_def_cfa_offset 16 -; CHECK-FP: .cfi_offset lr, -4 -; CHECK-FP: .cfi_offset r11, -8 -; CHECK-FP: .cfi_offset r5, -12 -; CHECK-FP: .cfi_offset r4, -16 +; CHECK-FP: .cfi_offset 14, -4 +; CHECK-FP: .cfi_offset 11, -8 +; CHECK-FP: .cfi_offset 5, -12 +; CHECK-FP: .cfi_offset 4, -16 ; CHECK-FP: add r11, sp, #8 -; CHECK-FP: .cfi_def_cfa r11, 8 +; CHECK-FP: .cfi_def_cfa 11, 8 ; CHECK-FP: pop {r4, r5, r11, lr} ; CHECK-FP: mov pc, lr ; CHECK-FP: .cfi_endproc @@ -427,10 +427,10 @@ entry: ; CHECK-FP-ELIM: .cfi_startproc ; CHECK-FP-ELIM: push {r4, r5, r11, lr} ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 -; CHECK-FP-ELIM: .cfi_offset lr, -4 -; CHECK-FP-ELIM: .cfi_offset r11, -8 -; CHECK-FP-ELIM: .cfi_offset r5, -12 -; CHECK-FP-ELIM: .cfi_offset r4, -16 +; CHECK-FP-ELIM: .cfi_offset 14, -4 +; CHECK-FP-ELIM: .cfi_offset 11, -8 +; CHECK-FP-ELIM: .cfi_offset 5, -12 +; CHECK-FP-ELIM: .cfi_offset 4, -16 ; CHECK-FP-ELIM: pop {r4, r5, r11, lr} ; CHECK-FP-ELIM: mov pc, lr ; CHECK-FP-ELIM: .cfi_endproc @@ -439,12 +439,12 @@ entry: ; CHECK-V7-FP: .cfi_startproc ; CHECK-V7-FP: push {r4, r5, r11, lr} ; CHECK-V7-FP: .cfi_def_cfa_offset 16 -; CHECK-V7-FP: .cfi_offset lr, -4 -; CHECK-V7-FP: .cfi_offset r11, -8 -; CHECK-V7-FP: .cfi_offset r5, -12 -; CHECK-V7-FP: .cfi_offset r4, -16 +; CHECK-V7-FP: .cfi_offset 14, -4 +; CHECK-V7-FP: .cfi_offset 11, -8 +; CHECK-V7-FP: .cfi_offset 5, -12 +; CHECK-V7-FP: .cfi_offset 4, -16 ; CHECK-V7-FP: add r11, sp, #8 -; CHECK-V7-FP: .cfi_def_cfa r11, 8 +; CHECK-V7-FP: .cfi_def_cfa 11, 8 ; CHECK-V7-FP: pop {r4, r5, r11, pc} ; CHECK-V7-FP: .cfi_endproc @@ -452,10 +452,10 @@ entry: ; CHECK-V7-FP-ELIM: .cfi_startproc ; CHECK-V7-FP-ELIM: push {r4, r5, r11, lr} ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 16 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 -; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 -; CHECK-V7-FP-ELIM: .cfi_offset r5, -12 -; CHECK-V7-FP-ELIM: .cfi_offset r4, -16 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 +; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 +; CHECK-V7-FP-ELIM: .cfi_offset 5, -12 +; CHECK-V7-FP-ELIM: .cfi_offset 4, -16 ; CHECK-V7-FP-ELIM: pop {r4, r5, r11, pc} ; CHECK-V7-FP-ELIM: .cfi_endproc @@ -463,12 +463,12 @@ entry: ; CHECK-THUMB-FP: .cfi_startproc ; CHECK-THUMB-FP: push {r4, r5, r7, lr} ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 -; CHECK-THUMB-FP: .cfi_offset lr, -4 -; CHECK-THUMB-FP: .cfi_offset r7, -8 -; CHECK-THUMB-FP: .cfi_offset r5, -12 -; CHECK-THUMB-FP: .cfi_offset r4, -16 +; CHECK-THUMB-FP: .cfi_offset 14, -4 +; CHECK-THUMB-FP: .cfi_offset 7, -8 +; CHECK-THUMB-FP: .cfi_offset 5, -12 +; CHECK-THUMB-FP: .cfi_offset 4, -16 ; CHECK-THUMB-FP: add r7, sp, #8 -; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 +; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 ; CHECK-THUMB-FP: pop {r4, r5, r7, pc} ; CHECK-THUMB-FP: .cfi_endproc @@ -476,10 +476,10 @@ entry: ; CHECK-THUMB-FP-ELIM: .cfi_startproc ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -12 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -16 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -12 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -16 ; CHECK-THUMB-FP-ELIM: pop {r4, r5, r7, pc} ; CHECK-THUMB-FP-ELIM: .cfi_endproc @@ -487,12 +487,12 @@ entry: ; CHECK-THUMB-V7-FP: .cfi_startproc ; CHECK-THUMB-V7-FP: push {r4, r5, r7, lr} ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 -; CHECK-THUMB-V7-FP: .cfi_offset r5, -12 -; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 +; CHECK-THUMB-V7-FP: .cfi_offset 5, -12 +; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 ; CHECK-THUMB-V7-FP: add r7, sp, #8 -; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 8 +; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 8 ; CHECK-THUMB-V7-FP: pop {r4, r5, r7, pc} ; CHECK-THUMB-V7-FP: .cfi_endproc @@ -500,10 +500,10 @@ entry: ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc ; CHECK-THUMB-V7-FP-ELIM: push.w {r4, r5, r11, lr} ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 16 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r5, -12 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -16 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 5, -12 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -16 ; CHECK-THUMB-V7-FP-ELIM: pop.w {r4, r5, r11, pc} ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc -- 2.34.1