[PATCH] D119973: RegAllocGreedy: Fix last chance recolor assert in impossible case

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 21 10:36:45 PST 2022


arsenm added a comment.

In D119973#3335710 <https://reviews.llvm.org/D119973#3335710>, @arsenm wrote:

> In D119973#3335190 <https://reviews.llvm.org/D119973#3335190>, @uabelho wrote:
>
>> In a failing example we have a bundle like this with heavy register use:
>>
>>   BUNDLE [...] {
>>     inst1 %234:Aquad
>>     inst1 %235:Aquad
>>     undef %235.sub0:Aquad = inst2 %211:A, %237.sub0:Aquad
>>     undef %235.sub1:Aquad = inst2 %226:A, %237.sub1:Aquad
>>     undef %235.sub2:Aquad = inst2 %229:A, %237.sub0:Aquad
>>     undef %235.sub3:Aquad = inst2 %232:A, %237.sub1:Aquad
>>   }
>
> Can you fill out more context with the surrounding instructions + ranges? Theoretically I can reconstruct the same scenario using -stress-regalloc

So far by guessing I've only seen cases that fail to compile either way. However I'm guessing what we need is the assigned register is a strict superset of the interfering register


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

https://reviews.llvm.org/D119973



More information about the llvm-commits mailing list