------- Comment #1 from pinskia at gcc dot gnu dot org 2006-01-05 15:25 ------- The testcase is comment #0.
In .final_cleanup: t = __complex__ (0, 0); REALPART_EXPR <t> = REALPART_EXPR <t> + 2; IMAGPART_EXPR <t> = IMAGPART_EXPR <t> + 2; D.1520 = g (&t); return D.1520; ------ in .store_ccp: Visiting statement: # SFT.0_3 = V_MUST_DEF <SFT.0_1>; # SFT.1_4 = V_MUST_DEF <SFT.1_2>; t = __complex__ (0, 0); Lattice value changed to CONSTANT __complex__ (0, 0). Adding SSA edges to worklist. Lattice value changed to CONSTANT __complex__ (0, 0). Adding SSA edges to worklist. Visiting statement: # VUSE <SFT.1_4>; D.1516_5 = REALPART_EXPR <t>; Lattice value changed to VARYING. Adding SSA edges to worklist. I should note that on powerpc-darwin we don't even get the constant prop at the RTL level either. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25680