================ @@ -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 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits