[llvm] [InitUndef] Enable the InitUndef pass on AArch64 (PR #108353)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 12 11:56:10 PDT 2024
================
@@ -354,11 +354,10 @@ define dso_local i32 @test_store_release_i64(i32, i64 %val, ptr %addr) {
}
; The stxp result cannot be allocated to the same register as the inputs.
-; FIXME: This is a miscompile.
define dso_local i32 @test_stxp_undef(ptr %p, i64 %x) nounwind {
; CHECK-LABEL: test_stxp_undef:
; CHECK: // %bb.0:
-; CHECK-NEXT: stxp w8, x8, x1, [x0]
+; CHECK-NEXT: stxp w8, x9, x1, [x0]
----------------
nikic wrote:
The pass itself already has MIR tests. I don't think adding another MIR test for this case would be useful, because we care about the end-to-end behavior (from the interaction of three different passes) here.
What would be quite nice is if the old code would emit an error, as it's hard to spot the error otherwise. Currently it only generates an error when parsed back as inline assembly. Not sure whether there is a good way to share that validation, I'm not familiar with this part of the backend...
https://github.com/llvm/llvm-project/pull/108353
More information about the llvm-commits
mailing list