public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [vta] don't let sched regard a debug insn as the first one in a cycle
@ 2007-11-05  7:45 Alexandre Oliva
  0 siblings, 0 replies; only message in thread
From: Alexandre Oliva @ 2007-11-05  7:45 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 665 bytes --]

Sched assumes asm insns are issued in separate cycles as other kinds
of insns.  There's no need for debug insns to push an asm insn into
another cycle, though.  This actually causes codegen changes, if an
asm insn would have been issued at a cycle but, because of the debug
insn, it's delayed, and another insn is issued first.

This patch arranges for debug insns to not reset the flag that
indicates we're at the first insn in a cycle.  This only makes a
difference when the asm insn would be issued first in a block, because
in all other cases, the debug insn would be emitted as part of the
previous cycle anyway.

I'm checking this in in the vta branch soon.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: vta-sched-still-first-after-debug-insn.patch --]
[-- Type: text/x-patch, Size: 701 bytes --]

for  gcc/ChangeLog.vta
from  Alexandre Oliva  <aoliva@redhat.com>

	* haifa-sched.c (schedule_block): Don't clear
	first-insn-in-cycle status after scheduling debug insn.

Index: gcc/haifa-sched.c
===================================================================
--- gcc/haifa-sched.c.orig	2007-10-01 22:49:01.000000000 -0300
+++ gcc/haifa-sched.c	2007-10-30 19:52:55.000000000 -0200
@@ -2531,7 +2531,8 @@ schedule_block (basic_block *target_bb, 
 	  if (advance != 0)
 	    break;
 
-	  first_cycle_insn_p = 0;
+	  if (!DEBUG_INSN_P (insn))
+	    first_cycle_insn_p = 0;
 
 	  /* Sort the ready list based on priority.  This must be
 	     redone here, as schedule_insn may have readied additional

[-- Attachment #3: Type: text/plain, Size: 249 bytes --]


-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-05  7:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-05  7:45 [vta] don't let sched regard a debug insn as the first one in a cycle Alexandre Oliva

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).