[llvm] r280783 - Remove unnecessary call to getAllocatableRegClass

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 27 15:39:52 PDT 2016

Quentin Colombet via llvm-commits <llvm-commits at lists.llvm.org> writes:
>> On Sep 30, 2016, at 12:07 PM, Krzysztof Parzyszek via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> On 9/30/2016 1:46 PM, Justin Bogner via llvm-commits wrote:
>>> The assert I'm seeing is in the case where `OpRC != nullptr` but
>>> `ConstrainedRC == nullptr`. Quentin's suggestion would call
>>> getAllocatableClass(DstRC) in this case, whereas in the committed code
>>> we just go ahead and do MRI->createVirtualRegister(OpRC). The call to
>>> createVirtualRegister asserts because OpRC isn't allocatable.
>> This doesn't sound right. This implies that a register was created
>> for the operand that is not compatible with the operand's
>> class. Sounds like the problem is somewhere else.
> That’s exactly what this code is supposed to fix IIRC. Thus, the
> current patch does not sound right :).

Ping. Matt, have you had a chance to look at this?

More information about the llvm-commits mailing list