[PATCH] D89823: [AArch64][GlobalISel] Move imm adjustment for G_ICMP to post-legalizer lowering
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 21 23:21:22 PDT 2020
aemerson added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/select-arith-immed-compare.mir:31
- %1:gpr(s32) = G_CONSTANT i32 4097
- %4:gpr(s32) = G_ICMP intpred(slt), %0(s32), %1
- %5:gpr(s32) = G_CONSTANT i32 1
----------------
paquette wrote:
> aemerson wrote:
> > Can we have some end-to-end tests that show that the MIR that we previously had being selected to CSINCWr still selects to the same output if we now go through lowering->select? Don't have to cover all the cases but to show the mechanism still works.
> >
> > Maybe we'll need to use .ll tests for this, not sure.
> To avoid a .ll test we could do something like this:
>
> ```
> llc -mtriple=aarch64 -start-before=aarch64-postlegalizer-lowering -stop-after=instruction-select -verify-machineinstrs
> ```
>
> A slightly hackier, but more pointed version would be:
>
> ```
> llc -mtriple=aarch64 -run-pass=aarch64-postlegalizer-lowering -run-pass=instruction-select -verify-machineinstrs
> ```
>
> (IIRC this works)
>
> From the perspective that we'd only run aarch64-postlegalizer-lowering and instruction-select, I guess this is better. We'd have to use regbankselected MIR though, which is a little wonky. Not sure if that's something that we'd want to support in the future.
>
> Preferences? (I could also just take the .ll test route, or add a GISel checkline to an existing .ll test somewhere probably)
I didn't realize that -start-before and -stop-after actually worked without crashing. That's the ideal route, otherwise adding check lines to an existing .ll is fine too.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89823/new/
https://reviews.llvm.org/D89823
More information about the llvm-commits
mailing list