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: [please test] RTL sharing verifier


> Jan Hubicka <jh@suse.cz> wrote:
> > as mentioned in previous mail, I would like to get the RTL sharing
> > verifier enabled in stage1 now.  I am however aware that this is likely
> > going to find many positives, probably more than I can deal with myself
> > in resonable time.  I am attaching my current patch I know to work on
> > i686 to ask everyone who wants to do little RTL debugging on his
> > favorite target to try it out and let me know how it works and if
> > possible also send fixes.
> 
> I've tried to build several cross targets with your RTL sharing
> verifier patch.  arm-eabi can be built with no additional changes.
> mips-elf requires an extra change below of emit_delay_sequence.
> For sh*-elf and sh4-*-linux-gnu, I needed some changes for sh.md
> and the attached extra changes against generic files, though I
> could be totally wrong about them.  On SH, a change for gen_insn
> was needed to avoid sharing operands[1] of

Thank you for trying out! The changes od make sense to me, do you think,
you can get them merged to mainline, please?

I was looking into the PPC failures and the splitting infrastructure is
major offender here.  The hand written expanders are used in the
splitters to and they don't care about duplicating operands.  I am
thinking about simply fixing it by adding code to unshare RTL after
splitting as it seems bit too painful to deal with it by updating all
the backends.
I hope to have it implemented this weekend and do little performance
testing.  We are definitly very inconsistent here allowing random
sharing during RTL expansion, prohibiting random sharing in splitting,
later expansion, peepholing and such.  I am not quite sure what is the
best strategy here...

Honza


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