This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/18308] ICE in do_jump, at dojump.c:274
- From: "dpatel at apple dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Nov 2004 02:26:17 -0000
- Subject: [Bug tree-optimization/18308] ICE in do_jump, at dojump.c:274
- References: <20041105130101.18308.reichelt@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dpatel at apple dot com 2004-11-18 02:26 -------
After I update tree-level if-conversion to force gimple operands appropriately, rewrite_out_of_ssa() is
converting following ...
bar()
{
_Bool _ifc_.3;
_Bool _ifc_.2;
_Bool D.1339;
_Bool D.1336;
_Bool D.1337;
_Bool D.1338;
_Bool _ifc_.1;
unsigned int ivtmp.0;
int k;
int j;
int i;
# BLOCK 0
# PRED: ENTRY [100.0%] (fallthru,exec)
k_21 = j_6 != 0 ? 2 : 0;
k_5 = j_6 == 0 ? k_21 : 2;
if (k_5 != 0) goto <L5>; else goto <L6>;
# SUCC: 1 [46.5%] (true,exec) 2 [53.5%] (false,exec)
# BLOCK 1
# PRED: 0 [46.5%] (true,exec)
<L5>:;
# .GLOBAL_VAR_10 = V_MAY_DEF <.GLOBAL_VAR_9>;
foo () [tail call];
# SUCC: 2 [100.0%] (fallthru,exec)
# BLOCK 2
# PRED: 0 [53.5%] (false,exec) 1 [100.0%] (fallthru,exec)
<L6>:;
return;
# SUCC: EXIT [100.0%]
}
into ...
bar ()
{
int k.17;
_Bool _ifc_.3;
_Bool _ifc_.2;
_Bool D.1339;
_Bool D.1336;
_Bool D.1337;
_Bool D.1338;
_Bool _ifc_.1;
unsigned int ivtmp.0;
int k;
int j;
int i;
# BLOCK 0
# PRED: ENTRY [100.0%] (fallthru,exec)
if ((j == 0 ? j != 0 ? 2 : 0 : 2) != 0) goto <L5>; else goto <L6>;
# SUCC: 1 [46.5%] (true,exec) 2 [53.5%] (false,exec)
# BLOCK 1
# PRED: 0 [46.5%] (true,exec)
<L5>:;
# .GLOBAL_VAR_10 = V_MAY_DEF <.GLOBAL_VAR_9>;
foo () [tail call];
# SUCC: 2 [100.0%] (fallthru,exec)
# BLOCK 2
# PRED: 0 [53.5%] (false,exec) 1 [100.0%] (fallthru,exec)
<L6>:;
return;
# SUCC: EXIT [100.0%]
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18308