This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/67530] Failure to eliminate dead code produced by vector lowering
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 14 Sep 2015 14:26:01 +0000
- Subject: [Bug tree-optimization/67530] Failure to eliminate dead code produced by vector lowering
- Auto-submitted: auto-generated
- References: <bug-67530-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67530
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-09-14
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The relevant pass is lower_vector_ssa which runs way before the last cd_cde.
The issue is that
_6 = {_11, _14, _17, _20, _23, _26, _29, _32};
_7 = BIT_FIELD_REF <_6, 32, 64>;
_8 = (long int) _7;
return _8;
is only resolved very late in the forwprop pass _after_ the last DCE. I
suppose
vector lowering could be changed to fold all stmts that have vector operands
(it doesn't touch _7 = BIT_FIELD_REF <_6, 32, 64> otherwise).