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

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 6 13:43:18 PST 2017


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