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, RFC]: Next stage1, refactoring: propagating rtx subclasses


(the original message was bounced by the mailing list, resending with
compressed attachment)

On 30.04.2015 8:00, Jeff Law wrote:
> 
> Can you please check the changes to do_jump_1, the indention looked 
> weird in the patch.  If it's correct, just say so.
It is ok. Probably that's because the surrounding code is indented with
spaces.

> The definition of PEEP2_EOB looks wrong.  I don't see how you can
> safely cast pc_rtx to an rtx_insn * since it's an RTX rather than rtx
> chain object.  Maybe you're getting away with it because it's used as
> marker. But it still feels wrong.
Yes, FWIW, it is only needed for assertions in peep2_regno_dead_p and
peep2_reg_dead_p which check it against NULL (they are intended to
verify that live_before field in peep2_insn_data struct is valid). At
least, when I removed the assertions and changed PEEP2_EOB to NULL (as
an experiment), the testsuite passed without regressions.

> You'd probably be better off creating a unique rtx_insn * object and
> using that as the marker.
OK. Fixed the patch. Rebased and tested on x86_64-linux (fortunately, it
did not conflict with Trevor's series of rtx_insn-related patches).

I'm trying to continue and the next patch (peep_split.patch,
peep_split.cl) is addressing the same task in some of the generated code
(namely, gen_peephole2_* and gen_split_* series of functions).

> If you're going to continue this work, you should probably get
> write-after-approval access so that you can commit your own approved
> changes.
Is it OK to mention you as a maintainer who can approve my request for
write access?

-- 
Regards,
    Mikhail Maltsev

Attachment: as_insn.tar.gz
Description: GNU Zip compressed data


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