[PATCH 0/5] Yet more use of rtx subclasses; possible rl78 bug

Jeff Law law@redhat.com
Tue Sep 9 14:43:00 GMT 2014


On 09/08/14 15:29, David Malcolm wrote:
> Here's another 5 patches that make use of rtx_def subclasses, which
> are non-trivial enough *not* to fall under the pre-approval Jeff
> granted.
>
> In particular, patches 4 and 5 update the signature of recog_memoized
> and single_set respectively to require an rtx_insn * rather than
> just an rtx.  These last two patches got rather large; sorry.
> single_set becomes an inline function rather than a macro in patch 5.
>
> Doing so uncovered what looks to me like a bug in
> rl78_remove_unused_sets.
>
> The existing code had:
[ ... ]
> and hence I believe rl78_remove_unused_sets doesn't actually do
> anything.
Yea, looks broken to me too.  Presumably this code is supposed to be 
useful due to other bits in rl78_reorg leaving dead code in the insn 
stream.  Regardless, it's something we ought to fix.


>
> I fixed this (in patch 5) by introducing a new local rtx "set" for the
> result of single_set, and hence not overwriting "insn" within the loop.
> That said I've only tested that it compiles for rl78, I've not yet
> forced line 3605 to execute, and not simulated the resulting code.
Seems reasonable.  DJ might want to chime in here with a comment or two 
for testing, but I'm comfortable with how you've addressed this issue.

Jeff



More information about the Gcc-patches mailing list