* [Bug middle-end/22141] [4.3/4.4/4.5/4.6/4.7 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
@ 2011-06-27 15:02 ` rguenth at gcc dot gnu.org
2012-01-12 11:20 ` [Bug middle-end/22141] [4.4/4.5/4.6/4.7 " rguenth at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-06-27 15:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.6 |4.4.7
--- Comment #22 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-06-27 12:14:38 UTC ---
4.3 branch is being closed, moving to 4.4.7 target.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.4/4.5/4.6/4.7 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
2011-06-27 15:02 ` [Bug middle-end/22141] [4.3/4.4/4.5/4.6/4.7 Regression] Missing optimization when storing structures rguenth at gcc dot gnu.org
@ 2012-01-12 11:20 ` rguenth at gcc dot gnu.org
2012-03-13 15:32 ` [Bug middle-end/22141] [4.5/4.6/4.7/4.8 " jakub at gcc dot gnu.org
` (9 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-01-12 11:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
--- Comment #23 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-12 11:20:35 UTC ---
As we have MEM_REF available we can in theory do the combining on the
tree-level
as well (or during gimplification). In fact, as we have the byteswap
detection pass which does not yet handle byte-swapping memory (thus, a
memory destination) it looks like a perfect place to handle this while
also fixing that deficiency (gather sources for a contiguous piecewise
stored memory region of suitable register size/alignment).
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.5/4.6/4.7/4.8 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
2011-06-27 15:02 ` [Bug middle-end/22141] [4.3/4.4/4.5/4.6/4.7 Regression] Missing optimization when storing structures rguenth at gcc dot gnu.org
2012-01-12 11:20 ` [Bug middle-end/22141] [4.4/4.5/4.6/4.7 " rguenth at gcc dot gnu.org
@ 2012-03-13 15:32 ` jakub at gcc dot gnu.org
2012-05-19 23:52 ` pinskia at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-03-13 15:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.7 |4.5.4
--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-03-13 12:48:09 UTC ---
4.4 branch is being closed, moving to 4.5.4 target.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.5/4.6/4.7/4.8 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2012-03-13 15:32 ` [Bug middle-end/22141] [4.5/4.6/4.7/4.8 " jakub at gcc dot gnu.org
@ 2012-05-19 23:52 ` pinskia at gcc dot gnu.org
2012-07-02 12:02 ` rguenth at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-05-19 23:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.marjamaki at gmail
| |dot com
--- Comment #25 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-19 23:31:40 UTC ---
*** Bug 53417 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.5/4.6/4.7/4.8 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2012-05-19 23:52 ` pinskia at gcc dot gnu.org
@ 2012-07-02 12:02 ` rguenth at gcc dot gnu.org
2013-04-12 15:18 ` [Bug middle-end/22141] [4.7/4.8/4.9 " jakub at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-07-02 12:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.5.4 |4.6.4
--- Comment #26 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-02 11:59:02 UTC ---
The 4.5 branch is being closed, adjusting target milestone.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.7/4.8/4.9 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2012-07-02 12:02 ` rguenth at gcc dot gnu.org
@ 2013-04-12 15:18 ` jakub at gcc dot gnu.org
2014-06-12 13:49 ` [Bug middle-end/22141] [4.7/4.8/4.9/4.10 " rguenth at gcc dot gnu.org
` (5 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-04-12 15:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.4 |4.7.4
--- Comment #27 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-12 15:17:04 UTC ---
GCC 4.6.4 has been released and the branch has been closed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.7/4.8/4.9/4.10 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2013-04-12 15:18 ` [Bug middle-end/22141] [4.7/4.8/4.9 " jakub at gcc dot gnu.org
@ 2014-06-12 13:49 ` rguenth at gcc dot gnu.org
2014-12-19 13:33 ` [Bug middle-end/22141] [4.8/4.9/5 " jakub at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-06-12 13:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.7.4 |4.8.4
--- Comment #28 from Richard Biener <rguenth at gcc dot gnu.org> ---
The 4.7 branch is being closed, moving target milestone to 4.8.4.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.8/4.9/5 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2014-06-12 13:49 ` [Bug middle-end/22141] [4.7/4.8/4.9/4.10 " rguenth at gcc dot gnu.org
@ 2014-12-19 13:33 ` jakub at gcc dot gnu.org
2015-02-02 19:30 ` hariharan.gcc at gmail dot com
` (3 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-12-19 13:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.8.4 |4.8.5
--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.8.4 has been released.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.8/4.9/5 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2014-12-19 13:33 ` [Bug middle-end/22141] [4.8/4.9/5 " jakub at gcc dot gnu.org
@ 2015-02-02 19:30 ` hariharan.gcc at gmail dot com
2015-06-23 8:27 ` [Bug middle-end/22141] [4.8/4.9/5/6 " rguenth at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 12+ messages in thread
From: hariharan.gcc at gmail dot com @ 2015-02-02 19:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
hariharan.gcc at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hariharan.gcc at gmail dot com
--- Comment #30 from hariharan.gcc at gmail dot com ---
I saw a related problem, this time with bitfields
$more bitfieldtest.c
typedef union {
struct {
unsigned int b1:1;
unsigned int b2:1;
unsigned int b3:1;
unsigned int b4:1;
unsigned int b5:1;
}fields;
unsigned int word;
} _t_bitfields;
void _const_populate_bits(_t_bitfields * data)
{
data->fields.b1 = 1;
data->fields.b2 = 0;
data->fields.b3 = 1;
data->fields.b4 = 1;
data->fields.b5 = 0;
}
At the end of tree stages, it looks like this
$more bitfieldtest.c.165t.optimized
;; Function _const_populate_bits (_const_populate_bits, funcdef_no=0,
decl_uid=1339, cgraph_uid=0)
_const_populate_bits (union _t_bitfields * data)
{
<bb 2>:
data_2(D)->fields.b1 = 1;
data_2(D)->fields.b2 = 0;
data_2(D)->fields.b3 = 1;
data_2(D)->fields.b4 = 1;
data_2(D)->fields.b5 = 0;
return;
}
Expand expands each one of the assignments in turn and some get combined later
on into ok-ish code. It would be nice to be able to combine all 5 assignments
into one.
Its kind of related to this PR, but is it sufficiently different to warrant a
separate PR for it?
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.8/4.9/5/6 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2015-02-02 19:30 ` hariharan.gcc at gmail dot com
@ 2015-06-23 8:27 ` rguenth at gcc dot gnu.org
2015-06-26 20:01 ` [Bug middle-end/22141] [4.9/5/6 " jakub at gcc dot gnu.org
2015-06-26 20:32 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-23 8:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.8.5 |4.9.3
--- Comment #31 from Richard Biener <rguenth at gcc dot gnu.org> ---
The gcc-4_8-branch is being closed, re-targeting regressions to 4.9.3.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.9/5/6 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2015-06-23 8:27 ` [Bug middle-end/22141] [4.8/4.9/5/6 " rguenth at gcc dot gnu.org
@ 2015-06-26 20:01 ` jakub at gcc dot gnu.org
2015-06-26 20:32 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.9.3 has been released.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug middle-end/22141] [4.9/5/6 Regression] Missing optimization when storing structures
[not found] <bug-22141-4@http.gcc.gnu.org/bugzilla/>
` (10 preceding siblings ...)
2015-06-26 20:01 ` [Bug middle-end/22141] [4.9/5/6 " jakub at gcc dot gnu.org
@ 2015-06-26 20:32 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-06-26 20:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22141
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.9.3 |4.9.4
^ permalink raw reply [flat|nested] 12+ messages in thread