This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]