[llvm] [GISel] LegalizationArtifactCombiner: Elide redundant G_SEXT_INREG (PR #93687)
Tobias Stadler via llvm-commits
llvm-commits at lists.llvm.org
Wed May 29 12:39:20 PDT 2024
tobias-stadler wrote:
I quickly ran AArch64 CTMark on this for O0 and O2: compile-time instruction count difference is below the noise floor, size..text is unchanged. So this doesn't seem to regress anything for ZeroOrOneBooleanContent Targets.
When I added the zext-combine, the main reasons were huge compile-time and O0 code-size improvements for ZeroOrOneBooleanContent Targets, so it makes sense that ZeroOrNegativeOneBooleanContent Targets would see similar improvements from this commit. I do agree that using KnownBits in the ArtifactCombiner is hacky, because it can't fully replace the post-legalize version of these KnownBits combines. However, I don't see another way to efficiently handle boolean legalization, so this still seems like the most practical solution to me. That said, I believe these 2 combines should remain the only ones using KnownBits in the ArtifactCombiner.
https://github.com/llvm/llvm-project/pull/93687
More information about the llvm-commits
mailing list