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 middle-end/38857] [4.4 Regression] ICE in selective scheduler



------- Comment #3 from amonakov at gcc dot gnu dot org  2009-01-20 15:45 -------
The assert that fails is checking whether an instruction was correctly
disconnected from the insn stream (at its original location) to be inserted on
the scheduling boundary by adjusting PREV_INSN/NEXT_INSN links (we try to move
instructions instead of removing and reissuing new instruction to avoid cost of
re-initialization of associated structures).

There are two different versions of code to decide whether it is appropriate to
move an instruction for places where instructions are disconnected or inserted
into the stream, as different scheduler data is available there.  Attached
patch (by Andrey) changes it so that decision is made at instruction's original
location and saved until we need to move/issue it at the scheduling boundary in
should_move parameter.

Bootstrapped & regtested on ia64-linux.  I will include the testcase when
sending patch to gcc-patches@
Steven, can you please also check if it fixes the testcase you've seen fail on
this assert?


-- 

amonakov at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amonakov at gcc dot gnu dot
                   |                            |org
         AssignedTo|unassigned at gcc dot gnu   |amonakov at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2009-01-19 22:49:52         |2009-01-20 15:45:10
               date|                            |


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


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