[llvm] r294129 - [SelectionDAG] In InstrEmitter, handle EXTRACT_SUBREG of a physical register.

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 14 11:07:18 PST 2017


Ping?

On Mon, Feb 6, 2017 at 1:43 PM, Hans Wennborg <hans at chromium.org> wrote:
> Hi Justin,
>
> Geoff suggested this should be merged to 4.0. What do you think as
> SelectionDAG owner?
>
> Thanks,
> Hans
>
> On Sun, Feb 5, 2017 at 10:28 AM, Geoff Berry via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> Author: gberry
>> Date: Sun Feb  5 12:28:14 2017
>> New Revision: 294129
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=294129&view=rev
>> Log:
>> [SelectionDAG] In InstrEmitter, handle EXTRACT_SUBREG of a physical register.
>>
>> Summary:
>> Without this change, the getVR() call would hit an assert since it was
>> being passed a physical register.
>>
>> Update the AArch64/ldst-opt.ll test with a case that triggers this
>> behavior by adding a run with strict-align, which causes an unaligned
>> STR XZR instruction to be split into byte stores, creating an
>> EXTRACT_SUBREG of XZR that triggers the original problem.
>>
>> Reviewers: bogner, qcolombet, MatzeB, atrick
>>
>> Subscribers: aemerson, mcrosier, llvm-commits
>>
>> Differential Revision: https://reviews.llvm.org/D29495
>>
>> Modified:
>>     llvm/trunk/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
>>     llvm/trunk/test/CodeGen/AArch64/ldst-opt.ll


More information about the llvm-commits mailing list