This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/37387] [4.4 Regression] ICE in extract_range_from_binary_expr, at tree-vrp.c:2145
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Sep 2008 21:59:01 -0000
- Subject: [Bug tree-optimization/37387] [4.4 Regression] ICE in extract_range_from_binary_expr, at tree-vrp.c:2145
- References: <bug-37387-12387@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from pinskia at gcc dot gnu dot org 2008-09-06 21:59 -------
Further reduced testcase:
typedef long int Int;
void FuncMakeConsequencesPres (long *objDefs1)
{
long a = (long)objDefs1;
int c = a & 0x01;
int b = 0;
if (! ( 13 <= ( c ? 0 : (((int) objDefs1 & 0x02) ? 0 : *objDefs1 ))
&& b <= 0))
ErrorQuit ();
}
--- CUT ---
ifcombine causes the invalid IR to show up:
D.1597_10 = objDefs1_1(D) & 3B;
objDefs1 is a pointer.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2008-09-06 21:59:00
date| |
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37387