[PATCH] D70450: [AArch64] Teach Load/Store optimizier to rename store operands for pairing.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 09:36:45 PST 2020


fhahn added a comment.

In D70450#1834132 <https://reviews.llvm.org/D70450#1834132>, @hans wrote:

> > IIUC there are multiple ways to fix this:
> > 
> > 1. Change the operand flags on KILL. It seems like even though `$w8` is marked as renamable we cannot freely rename the result operand. Unless I am missing something, all operands should probably tied.
> > 2. Add an additional copy to ensure we actually do the renaming.
> > 
> >   If marking the operands of KILL as tied makes sense, I think that's what we should go for, as it is more general.
>
> Do you think this fix can happen quickly? Otherwise we'd like to revert this to unbreak the compiler as soon as possible.


I think both approaches mentioned above will require additional discussion/feedback. I've updated canRenameUpToDef to bail out on any defs that are pseudo instructions for now in  300997c41a00b705ca10264c15910dd8d691ab75 <https://reviews.llvm.org/rG300997c41a00b705ca10264c15910dd8d691ab75> . That should fix the issue.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70450/new/

https://reviews.llvm.org/D70450





More information about the llvm-commits mailing list