-
Notifications
You must be signed in to change notification settings - Fork 14.4k
[AArch64][test] Fix test failing on unknown options #139696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Fixes buildbot failure https://lab.llvm.org/buildbot/#/builders/16/builds/18873 originating from llvm#138448. Normally ignored silently but fails on higher error levels. Buildbot errors: ``` /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc < /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll -mtriple=aarch64-unknown-linux-gnu | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll # RUN: at line 6 + /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll + /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -mtriple=aarch64-unknown-linux-gnu '+reserve-x8' is not a recognized feature for this target (ignoring feature) '+reserve-x8' is not a recognized feature for this target (ignoring feature) '+reserve-x16' is not a recognized feature for this target (ignoring feature) '+reserve-x16' is not a recognized feature for this target (ignoring feature) '+reserve-x17' is not a recognized feature for this target (ignoring feature) '+reserve-x17' is not a recognized feature for this target (ignoring feature) ```
@llvm/pr-subscribers-backend-aarch64 Author: Nuko Y. (yasuna-oribe) ChangesFixes buildbot failure https://lab.llvm.org/buildbot/#/builders/16/builds/18873 originating from #138448. Normally ignored silently but fails on higher error levels. Buildbot errors:
Full diff: https://github.com/llvm/llvm-project/pull/139696.diff 1 Files Affected:
diff --git a/llvm/test/CodeGen/AArch64/reserveXreg.ll b/llvm/test/CodeGen/AArch64/reserveXreg.ll
index 86ed536049a35..037ccab1525d1 100644
--- a/llvm/test/CodeGen/AArch64/reserveXreg.ll
+++ b/llvm/test/CodeGen/AArch64/reserveXreg.ll
@@ -1,7 +1,6 @@
;; Check if manually reserved registers are always excluded from being saved by
;; the function prolog/epilog, even for callee-saved ones, as per GCC behavior.
-;; X19(BP, LLVM specific), X29(FP), X30(LP), X31(SP) are special so
-;; they are not checked.
+;; Look at AArch64Features.td for registers excluded from this test.
; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu | FileCheck %s
@@ -82,17 +81,6 @@ define preserve_mostcc void @t7() "target-features"="+reserve-x7" {
ret void
}
-define preserve_mostcc void @t8() "target-features"="+reserve-x8" {
-; CHECK-LABEL: t8:
-; CHECK: // %bb.0:
-; CHECK-NEXT: mov w8, #256
-; CHECK-NEXT: //APP
-; CHECK-NEXT: //NO_APP
-; CHECK-NEXT: ret
- call i64 asm sideeffect "", "={x8},{x8}"(i64 256)
- ret void
-}
-
define preserve_mostcc void @t9() "target-features"="+reserve-x9" {
; CHECK-LABEL: t9:
; CHECK: // %bb.0:
@@ -170,28 +158,6 @@ define preserve_mostcc void @t15() "target-features"="+reserve-x15" {
ret void
}
-define preserve_mostcc void @t16() "target-features"="+reserve-x16" {
-; CHECK-LABEL: t16:
-; CHECK: // %bb.0:
-; CHECK-NEXT: mov w16, #256
-; CHECK-NEXT: //APP
-; CHECK-NEXT: //NO_APP
-; CHECK-NEXT: ret
- call i64 asm sideeffect "", "={x16},{x16}"(i64 256)
- ret void
-}
-
-define preserve_mostcc void @t17() "target-features"="+reserve-x17" {
-; CHECK-LABEL: t17:
-; CHECK: // %bb.0:
-; CHECK-NEXT: mov w17, #256
-; CHECK-NEXT: //APP
-; CHECK-NEXT: //NO_APP
-; CHECK-NEXT: ret
- call i64 asm sideeffect "", "={x17},{x17}"(i64 256)
- ret void
-}
-
define preserve_mostcc void @t18() "target-features"="+reserve-x18" {
; CHECK-LABEL: t18:
; CHECK: // %bb.0:
|
Ping @davemgreen @nasherm @efriedma-quic, sorry for this. Didn't show up in normal tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@yasuna-oribe About the buildbot - it looks like if you add -verify-machineinstrs to the test it produces:
I'm pretty sure it is meant to look like |
@davemgreen, honestly I have no idea what "Defining instruction does not modify register" is trying to tell me, and the loop at MachineVerifier.cpp:3610 isn't really helpful either. I'll report back after checking with a reverted tree to see if it's failing because of my change or my test (I'm strongly assuming the latter). |
I've just reverted and checked myself and it's not my changes to LLVM that makes it fail; it looks like either the test makes it fail, or it's a bug in LLVM (I don't really know how to read this). Take a look:
I'll write a test that doesn't make it error for now. |
Fixes buildbot failure https://lab.llvm.org/buildbot/#/builders/16/builds/18873 originating from #138448. Normally ignored silently but fails on higher error levels.
Buildbot errors: