This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/25680] Store CCP does not understand REALPART_EXPR < COMPLEX_CST >
- 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: 5 Jan 2006 15:25:05 -0000
- Subject: [Bug tree-optimization/25680] Store CCP does not understand REALPART_EXPR < COMPLEX_CST >
- References: <bug-25680-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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