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: IRA patch: move clobbers downwards


On 07/15/10 18:36, Bernd Schmidt wrote:
On 07/13/2010 06:40 PM, Jeff Law wrote:
On 07/13/10 10:23, Bernd Schmidt wrote:
On 07/13/2010 06:19 PM, Jeff Law wrote:


Ideally, we'd just ignore the clobbers in the scheduler; however, that
might be a PITA to implement.  But ISTM we ought to be able to shrink
the clobber's lifetime in a single pass over the insns after the
scheduler has run.

Well, that's exactly what my patch does.

Perhaps the thing to do is move it out of IRA and into sched-whatever.c :-)
I actually tried, and it's not that easy :-(  To avoid duplicating it
between the various sched-xxx.c files you'd want to put it into
schedule_block in haifa-sched.c, but then you get aborts when freeing
the dependency structures because it doesn't like it when you move
clobbers past debug_insns...

Really, the IRA thing is the simplest way to fix it (short of making IRA
do a forward scan), and it _is_ a long-standing problem. Do we want to
fix it?
BUt as you mentioned, is there any benefit to sinking the clobbers after your IRA change to more accurately track conflicts in the subwords of double-word objects? I guess it would help with things like XFmode in GPRs on x86 or any quad-word modes, but are they common enough to matter.

jeff


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