[llvm-dev] Dealing with illegal operand mappings in RegBankSelect

Matt Arsenault via llvm-dev llvm-dev at lists.llvm.org
Tue Feb 26 16:30:32 PST 2019



> On Feb 26, 2019, at 7:25 PM, Quentin Colombet <qcolombet at apple.com> wrote:
> 
> 
> 
>> On Feb 26, 2019, at 4:18 PM, Matt Arsenault <arsenm2 at gmail.com <mailto:arsenm2 at gmail.com>> wrote:
>> 
>> 
>> 
>>> On Feb 26, 2019, at 7:01 PM, Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote:
>>> 
>>> I don’t get what you mean by “applyMapping to deal with it”. Won’t applyMapping will insert copies to rewrite these, hence how is this different from what the repairing code does?
>>> Unless, maybe, you’re talking about the target specific RegisterBankInfo::applyMapping not RegBankSelect::applyMapping.
>>> 
>>> If that’s the case what do you do in here that we could maybe generalize?
>>> 
>> Sorry, I mean report them as legal so they are left as-is with no copy inserted. I can see the operand is illegal and do everything needed in the target applyMappingImpl (first sample case is https://reviews.llvm.org/D58512 <https://reviews.llvm.org/D58512>)
> 
> Wow, that’s quite a lot of code to fix a couple of operands :)
> 
> Couldn’t we do that expansion as part of the selection of the “pseudo copy”?

That would require looking for all the uses of the copy and applying this to them. It’s really the use needs to be rewritten, and not a property of the copy. The only  use I would have for the copy is as as a means of passing which registers were already created for the new mapping, after which point I would need to delete it.

-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190226/43f90561/attachment.html>


More information about the llvm-dev mailing list