This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/26546] [meta-bugs] couple of missed optimization with respect of vector and unions
- 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: 3 Mar 2006 14:02:48 -0000
- Subject: [Bug tree-optimization/26546] [meta-bugs] couple of missed optimization with respect of vector and unions
- References: <bug-26546-12301@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from pinskia at gcc dot gnu dot org 2006-03-03 14:02 -------
Actually nope. There are a couple of different issues here.
First is store_copyprop does not work:
# SFT.10_29 = V_MAY_DEF <SFT.10_10>;
# SFT.11_30 = V_MAY_DEF <SFT.11_11>;
# SFT.12_31 = V_MAY_DEF <SFT.12_12>;
# SFT.14_32 = V_MAY_DEF <SFT.14_14>;
# SFT.13_28 = V_MUST_DEF <SFT.13_13>;
src.vec = D.5885_25;
# VUSE <SFT.10_29>;
# VUSE <SFT.11_30>;
# VUSE <SFT.12_31>;
# VUSE <SFT.13_28>;
# VUSE <SFT.14_32>;
D.5880_33 = src.vec;
Which is PR 26135.
The second issue is no copyprop for aggregates:
# SFT.10_10 = V_MUST_DEF <SFT.10_5>;
# SFT.11_11 = V_MUST_DEF <SFT.11_6>;
# SFT.12_12 = V_MUST_DEF <SFT.12_7>;
# SFT.13_13 = V_MUST_DEF <SFT.13_8>;
# SFT.14_14 = V_MUST_DEF <SFT.14_9>;
# VUSE <b_4>;
src = b;
# VUSE <SFT.10_10>;
# VUSE <SFT.11_11>;
# VUSE <SFT.12_12>;
# VUSE <SFT.13_13>;
# VUSE <SFT.14_14>;
D.5880_15 = src.vec;
Which is PR 14295.
After those two are fixed, this should be fixed Also.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |14295, 26135
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
GCC build triplet|x86_64-pc-linux-gnu |
GCC host triplet|x86_64-pc-linux-gnu |
GCC target triplet|x86_64-pc-linux-gnu |
Last reconfirmed|0000-00-00 00:00:00 |2006-03-03 14:02:47
date| |
Summary|Passing unions of _vector_ |[meta-bugs] couple of missed
|types and struct or array of|optimization with respect of
|the same size as value to |vector and unions
|inline functions causes |
|unecessary load/stores on |
|the stack even if no members|
|except the _vector_ is |
|accessed |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26546