This is the mail archive of the gcc-bugs@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]

[Bug target/24232] [4.1 Regression] ICE: segmentation fault in sched-ebb.c:220 add_missing_bbs



------- Comment #12 from wilson at gcc dot gnu dot org  2005-10-12 03:07 -------
Created an attachment (id=9975)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9975&action=view)
Untested patch to fix problems with dependency serialization.

This adds an UNCOND argument to add_dependence_list, so that all structural
dependencies can be made unconditionally.  Examples of structural dependencies
are serialization dependencies on last_pending_memory_flush, dependencies added
to preserve REG_N_CALLS_CROSSED==0, and dependencies for clobbers.  All other
dependencies are still created only if the two instructions are not mutex.

This also eliminates some redundant JUMP_INSN dependency handling, as both
sched_analyze and sched_analyze_insn were creating dependencies for JUMP_INSNs.
 I deleted the former one.

This also stops trying to treat last_pending_memory_flush as a list.  It can
not function both as a list and as a serialization point.

This patch effectively makes pending_flush_length obsolete, but I can't delete
it because sched-rgn.c is using it in a strange way I don't understand.

This patch probably makes more dependencies than is necessary or desirable, but
some development work will be needed to fix that.  I believe that we can keep a
list of pending branch insns by keeping a list parallel to the pending read and
pending write lists.  This would help reduce the number of dependencies, and
help with cross block scheduling.  This will be a bit of work though, and may
not be reasonable to attempt at this late point.


-- 

wilson at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
Attachment #9960 is|0                           |1
           obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24232


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