diff options
author | Jessica Paquette <jpaquette@apple.com> | 2017-12-18 19:33:21 +0000 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2017-12-18 19:33:21 +0000 |
commit | d4a00a677300944a92ae9e687d7a8264280ff53e (patch) | |
tree | b74a2db5a1f88d240574c5a3f6e029ef761e8ad5 /test/CodeGen/AArch64 | |
parent | 7db7ed3ddd11fe6c6ec9e14541ac1dc0cd7c9d32 (diff) |
[MachineOutliner] Recommit r320229
LR was undefined entering outlined functions that contain calls. This made the
machine verifier unhappy when expensive checks were enabled. This fixes that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321014 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/AArch64')
-rw-r--r-- | test/CodeGen/AArch64/machine-outliner.mir | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/AArch64/machine-outliner.mir b/test/CodeGen/AArch64/machine-outliner.mir index ee3daf11c9f..708e2e42880 100644 --- a/test/CodeGen/AArch64/machine-outliner.mir +++ b/test/CodeGen/AArch64/machine-outliner.mir @@ -1,6 +1,10 @@ # RUN: llc -mtriple=aarch64--- -run-pass=machine-outliner %s -o - | FileCheck %s --- | + define void @baz() #0 { + ret void + } + define i32 @main() #0 { ret i32 0 } @@ -80,6 +84,7 @@ body: | --- # This test ensures that we can avoid saving LR when it's available. # CHECK-LABEL: bb.1: +# CHECK-NOT: BL @baz, implicit-def dead %lr, implicit %sp # CHECK: BL @OUTLINED_FUNCTION_[[F1:[0-9]+]], implicit-def %lr, implicit %sp # CHECK-NEXT: %w17 = ORRWri %wzr, 2 # CHECK-NEXT: BL @OUTLINED_FUNCTION_[[F1]], implicit-def %lr, implicit %sp @@ -93,15 +98,19 @@ body: | %fp = frame-setup ADDXri %sp, 16, 0 bb.1: + BL @baz, implicit-def dead %lr, implicit %sp %w17 = ORRWri %wzr, 1 %w17 = ORRWri %wzr, 1 %w17 = ORRWri %wzr, 1 %w17 = ORRWri %wzr, 1 + BL @baz, implicit-def dead %lr, implicit %sp %w17 = ORRWri %wzr, 2 + BL @baz, implicit-def dead %lr, implicit %sp %w17 = ORRWri %wzr, 1 %w17 = ORRWri %wzr, 1 %w17 = ORRWri %wzr, 1 %w17 = ORRWri %wzr, 1 + BL @baz, implicit-def dead %lr, implicit %sp %w8 = ORRWri %wzr, 0 bb.2: @@ -110,6 +119,13 @@ body: | RET undef %lr ... +--- +name: baz +tracksRegLiveness: true +body: | + bb.0: + liveins: %w0, %lr, %w8 + RET undef %lr # CHECK-LABEL: name: OUTLINED_FUNCTION_{{[0-9]}} # CHECK=LABEL: name: OUTLINED_FUNCTION_{{[1-9]}} |