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: [patch, ice, selective scheduler] Patch for PR 41697


Andrey Belevantsev wrote:
Hello,

Andrey Belevantsev wrote:
Andrey Belevantsev wrote:
Hi Steve,

Steve Ellcey wrote:
This patch fixes an ICE on IA64 with the testcase
gcc.c-torture/compile/20090917-1.c.  That test will generate an ICE in
the selective scheduler because we try to access the successor to a
basic block before verifying that the basic block has any successors.
This patch adds a check and fixes the ICE.

I have missed the second instance of this issue that can be seen when using selective scheduler on the above test with -O2. The problem is that a block ending on a conditional jump has a single successor, thus using FALLTHRU_EDGE on it like in fallthru_bb_of_jump crashes. The following simple patch avoids this. Is it ok for trunk?
Ok. Thanks.
The patch is safe, and the bug technically is probably a regression, though I don't have a 4.4.x build on ia64 to back up this.

Bootstrapped and tested on ia64 with sel-sched enabled at -O2.

Andrey

2009-11-12 Andrey Belevantsev <abel@ispras.ru>

PR rtl-optimization/41697
* sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with a conditional jump has a single successor.




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