[llvm] [X86][AMX] Check also AMX register live out for copy lowering (PR #93692)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 3 19:14:09 PDT 2024


phoebewang wrote:

> This causes a large compile-time regression: http://llvm-compile-time-tracker.com/compare.php?from=875e91131847e3133d414c11c8ad721b52a287ee&to=8aa33f16e91d8f15037330620c1479555278dafe&stat=instructions:u I think this is basically the same regression as the original implementation of #83628, because the LiveRegUnits usage is no longer guarded.

Oh, it's unfortunate.. I was thinking `stepBackward` was the culprit, but seems it is `addLiveOuts`.
 
> I'd recommend you to just revert the original PR and forget about it. This is typical fallout from an AtariDreams PR.

Unfortunately, we need it due to a sideeffect I mentioned in https://github.com/llvm/llvm-project/pull/83628#issuecomment-2067619733

I think a short term solution is to check `hasAMXTILE()` at the beginning. It would appears just well for these tests because I assume they won't enable AMX features but it takes no effect when compiling for targets have this feature.

For long term solution, we do need a one time analysis for all passes. I like the @aengelke 's ideas in #92910 and want to this to be addressed together.

@nikic What do you think?


https://github.com/llvm/llvm-project/pull/93692


More information about the llvm-commits mailing list