[llvm-branch-commits] [AArch64][GlobalISel] Disable fixed-point iteration in all Combiners (PR #102167)
Tobias Stadler via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Aug 6 09:00:40 PDT 2024
================
@@ -33,8 +33,7 @@ define noundef i1 @logger(i32 noundef %logLevel, ptr %ea, ptr %pll) {
; CHECK-GI-NEXT: b.hi .LBB1_2
; CHECK-GI-NEXT: // %bb.1: // %land.rhs
; CHECK-GI-NEXT: ldr x8, [x1]
-; CHECK-GI-NEXT: ldrb w8, [x8]
-; CHECK-GI-NEXT: and w0, w8, #0x1
+; CHECK-GI-NEXT: ldrb w0, [x8]
----------------
tobias-stadler wrote:
The immediate DCEing and better ordering of combines prevents the PreLegalizerCombiner from generating a bunch of useless artifacts that it can't combine away again. These artifacts are converted into G_AND by the ArtifactCombiner, which can't be combined away by the redundant_and combine, because KnownBits can't look through the implicit anyext of the G_LOAD. We are probably missing some combines that convert the load into sext/zext versions.
https://github.com/llvm/llvm-project/pull/102167
More information about the llvm-branch-commits
mailing list