On 05/10/2018 11:45 PM, A. Skrobov wrote:
> On Fri, May 11, 2018 at 12:09 AM, Jeff Law <l...@redhat.com> wrote:
>>
>> My recollection is that auto-increment addressing modes should not
>> appear in the RTL in the CSE pass.
> 
> Fair enough; but they're explicitly listed in the big switch block in
> hash_rtx_cb ().
> Should my added line change from "invalidate_dest (XEXP (x, 0));" to
> "gcc_unreachable ();" ?
> Such a patch wouldn't need a testcase, I suppose.
To change into a gcc_unreachable we'd need to verify that hash_rtx_cb is
never called from outside the CSE pass.

If we look in sel-sched-ir.c we see that it calls into hash_rtx_cb
(sigh, bad modularity).   I'm not at all familiar with how the hashing
is used within the selective scheduler, so I can't really say what the
selective scheduler *should* be doing here.

Note that if you were generating these insns using your own port, you
can get the same effect by using a PARALLEL rather than an
auto-increment.  PARALLELs are supported throughout the RTL IL.

jeff

Reply via email to