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



Richard Biener <rguenth at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

   Target Milestone|---                         |4.8.0

            Summary|ICE in                      |[4.8 Regression] ICE in

                   |find_or_generate_expression |find_or_generate_expression

                   |, at tree-ssa-pre.c:2803    |, at tree-ssa-pre.c:2803



--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-30 
10:18:15 UTC ---

Before the revision we were successfully able to insert



Inserted pretmp_46 = c;

 in predecessor 4

Inserted pretmp_47 = (int) pretmp_46;

 in predecessor 4



while after the revision we ICE.



Simplified testcase:



int a, b;

long c;



static void f2(void)

{

  unsigned long k = 1;



  foo(b ? k = 0 : 0);



  b = ((c = b) ? (k ? : (c = 0)) : a) * c;

}



void f1(void)

{

  f2();



  a = b | c;

}

Reply via email to