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] | |
Hello,Ok. Thanks.
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?
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] |