[llvm] [MachineLICM] Correctly Apply Register Masks (PR #95746)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 18 03:59:17 PDT 2024
mstorsjo wrote:
> @mstorsjo I must be missing some flags. When I run it locally like this, LICM doesn't kick in.
>
> ```
> llc -run-pass=machinelicm before.mir -o after-trunk.mir -mtriple=aarch64-linux-gnu
> ```
Sorry, no idea about that... In this case, it's triggered with a compilation command like this: `clang++ -O3 -fno-strict-aliasing -fPIC -fstack-protector-all -march=armv8-a -c -o test/encoder/EncUT_MotionCompensation2.o test/encoder/EncUT_MotionCompensation2.cpp`, not sure if that sets any flags that affect whether this is run or not.
> I also had to add names to the EH_LABEL instructions because they didn't have any and the MIR couldn't be parsed without that.
>
> The only difference is that in the "after" patch, we have
>
> ```
> renamable $q10 = MVNIv4i32 4, 0
> renamable $q11 = MOVIv4i32 2, 8
> ```
>
> being hoisted
>
> I wonder if some clobber is missing from an instruction somewhere and this just exposes it?
>
> Just to be sure, you checked latest main too and it still fails over there?
Yes, it's still failing with latest main too.
https://github.com/llvm/llvm-project/pull/95746
More information about the llvm-commits
mailing list