[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-07-03 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030

--- Comment #19 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Eric Botcazou from comment #18)
 Let's just reapply r192676 on the mainline.  We just need to make sure that
 the failures on i686 don't reappear.

Done now less than half a year later!
(Just r192676, no dse.c or cselib.c changes, leaving that to interested
parties.)


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-06-08 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030

--- Comment #18 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 FWIW, I've bootstrapped and regtested gcc 4.9 with r192676 reapplied and the
 dse.c and cselib.c hunks of r193802 reverted on several hosts (x86_64,
 sparc64, powerpc64, armv5tel, m68k) without regressions.

Let's just reapply r192676 on the mainline.  We just need to make sure that the
failures on i686 don't reappear.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-06-03 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #16 from Mikael Pettersson mikpe at it dot uu.se ---
FWIW, I've bootstrapped and regtested gcc 4.9 with r192676 reapplied and the
dse.c and cselib.c hunks of r193802 reverted on several hosts (x86_64, sparc64,
powerpc64, armv5tel, m68k) without regressions.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-06-03 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030

--- Comment #17 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Mikael Pettersson from comment #16)
 FWIW, I've bootstrapped and regtested gcc 4.9 with r192676 reapplied and the
 dse.c and cselib.c hunks of r193802 reverted on several hosts (x86_64,
 sparc64, powerpc64, armv5tel, m68k) without regressions.

Wow, thanks.

So, what's needed is to just spell out the exact patch (a description as above
doesn't suffice unfortunately), send it to gcc-patches and CC Eric who I think
would ok it at a glance.  Here's me hoping someone will beat me to it, but it
just might happen *this* month...



[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-02-19 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #15 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-19 
11:32:24 UTC ---

 Thanks for clarifying, I (think I) get it now.  Not sure when I can revisit,

 maybe this month, maybe the next, so I won't feel bad if someone beats me to

 it.



Sure, no urgency at all, thanks.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-02-18 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #13 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-18 
10:48:18 UTC ---

 I've lost track. What was the original patch, what do you mean by the

 blockage patch (that has been installed) and I'm pretty sure there were

 several follow-up patches, so I can't say I'm confident about reverting

 something from just this subset.  (To wit: if it's something that causes

 volatile asms to again be treated different from (other) blockages, then 
 that's

 wrong, as a volatile asm is the default blockage.)



The original patch was the patch you reverted in comment #1 and the fix for the

original issue.  As far as I can see, you didn't put it back after installing

the blockage patch, which is the patch in comment #5.  The dse.c and cselib.c

hunks were not necessary and not in the submission, but I asked you to add them

for the sake of consistency; then Jakub pointed out that they pessimize

volatile asms.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-02-18 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #14 from Hans-Peter Nilsson hp at gcc dot gnu.org 2013-02-18 
22:21:28 UTC ---

(In reply to comment #13)

 The original patch was the patch you reverted in comment #1 and the fix for 
 the

 original issue.  As far as I can see, you didn't put it back after installing

 the blockage patch, which is the patch in comment #5.  The dse.c and cselib.c

 hunks were not necessary and not in the submission, but I asked you to add 
 them

 for the sake of consistency; then Jakub pointed out that they pessimize

 volatile asms.



Thanks for clarifying, I (think I) get it now.  Not sure when I can revisit,

maybe this month, maybe the next, so I won't feel bad if someone beats me to

it.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-02-16 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



 CC||ebotcazou at gcc dot

   ||gnu.org



--- Comment #10 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-16 
09:37:22 UTC ---

I'm getting back to this because I think that we should reinstate the original

patch, now that the blockage patch has been installed.



I have run into the same issue as your original issue with a private port on

the 4.7 branch: the clobber causes the restoring of the frame pointer to be

deleted

  http://gcc.gnu.org/ml/gcc-patches/2012-10/msg01172.html

Later reload allocates a stack slot to a pseudo that is set before the setjmp

and used after, but the frame pointer doesn't have a consistent value...



Clearly the frame pointer needs to be restored so the clobber is wrong.  It was

there because the final blockage wasn't blocking enough, but the blockage patch

is supposed to have fixed that.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-02-16 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #11 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-02-16 
09:44:31 UTC ---

While we are at it, we could also revert the dse.c and cselib.c hunks of the

blockage patch, which weren't strictly necessary.  Jakub was really concerned

about their impact on volatile asms.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2013-02-16 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #12 from Hans-Peter Nilsson hp at gcc dot gnu.org 2013-02-17 
00:33:17 UTC ---

(In reply to comment #10)

 I'm getting back to this because I think that we should reinstate the original

 patch, now that the blockage patch has been installed.



*wake-up reactions*



 I have run into the same issue as your original issue with a private port on

 the 4.7 branch: the clobber causes the restoring of the frame pointer to be

 deleted

   http://gcc.gnu.org/ml/gcc-patches/2012-10/msg01172.html

 Later reload allocates a stack slot to a pseudo that is set before the setjmp

 and used after, but the frame pointer doesn't have a consistent value...



Yup, this far I remember.



 Clearly the frame pointer needs to be restored so the clobber is wrong.  It 
 was

 there because the final blockage wasn't blocking enough, but the blockage 
 patch

 is supposed to have fixed that.



I've lost track. What was the original patch, what do you mean by the

blockage patch (that has been installed) and I'm pretty sure there were

several follow-up patches, so I can't say I'm confident about reverting

something from just this subset.  (To wit: if it's something that causes

volatile asms to again be treated different from (other) blockages, then that's

wrong, as a volatile asm is the default blockage.)



Can you please a candidate (reverting?) patch gcc-patches@ *and CC me* (I'm far

behind on reading gcc lists).


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-27 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #8 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-27 
11:54:47 UTC ---

(In reply to comment #7)

 This patch broke bootstrap on s390x.



Please open a new PR, assigned to me, and attach preprocessed code.

Make it depend on this PR.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-27 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



Hans-Peter Nilsson hp at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #9 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-27 
23:16:27 UTC ---

This PR is fixed.  For fallouts like the one hinted in comment #7, please open

new PR's.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-26 Thread krebbel at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

 CC||krebbel at gcc dot gnu.org

--- Comment #7 from Andreas Krebbel krebbel at gcc dot gnu.org 2012-11-27 
07:40:41 UTC ---
(In reply to comment #5)
 Author: hp
 Date: Mon Nov 26 03:22:15 2012
 New Revision: 193802
 
 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193802
 Log:
 PR middle-end/55030
 * builtins.c (expand_builtin_setjmp_receiver): Update comment
 regarding purpose of blockage.
 * emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for
 the head comment.
 * rtlanal.c (volatile_insn_p): Ditto.
 * doc/md.texi (blockage): Update similarly.  Change wording to
 require one of two forms, rather than implying a wider choice.
 * cse.c (cse_insn): Where checking for blocking insns, use
 volatile_insn_p instead of manual check for volatile ASM.
 * dse.c (scan_insn): Ditto.
 * cselib.c (cselib_process_insn): Ditto.

This patch broke bootstrap on s390x.

/home/andreas/git/gcc-head/libgcc/libgcc2.c: In function ‘__powitf2’:
/home/andreas/git/gcc-head/libgcc/libgcc2.c:1779:1: internal compiler error: in
vt_expand_var_loc_chain, 
at var-tracking.c:8020
 }
 ^
0x80b9c219 vt_expand_var_loc_chain
/home/andreas/git/gcc-head/gcc/var-tracking.c:8020
0x80b9cf23 vt_expand_loc_callback
/home/andreas/git/gcc-head/gcc/var-tracking.c:8216
0x80305c7d cselib_expand_value_rtx_1
/home/andreas/git/gcc-head/gcc/cselib.c:1683
0x80305e3b cselib_expand_value_rtx_1
/home/andreas/git/gcc-head/gcc/cselib.c:1721
0x8030568d cselib_expand_value_rtx_cb(rtx_def*, bitmap_head_def*, int, rtx_def*
(*)(rtx_def*, bitmap_head
_def*, int, void*), void*)
/home/andreas/git/gcc-head/gcc/cselib.c:1530
0x80b9c39b vt_expand_var_loc_chain
/home/andreas/git/gcc-head/gcc/var-tracking.c:8054
0x80b9cf23 vt_expand_loc_callback
/home/andreas/git/gcc-head/gcc/var-tracking.c:8216
0x80305c7d cselib_expand_value_rtx_1
/home/andreas/git/gcc-head/gcc/cselib.c:1683
0x80305e3b cselib_expand_value_rtx_1
/home/andreas/git/gcc-head/gcc/cselib.c:1721
0x8030568d cselib_expand_value_rtx_cb(rtx_def*, bitmap_head_def*, int, rtx_def*
(*)(rtx_def*, bitmap_head
_def*, int, void*), void*)
/home/andreas/git/gcc-head/gcc/cselib.c:1530
0x80b9c39b vt_expand_var_loc_chain
/home/andreas/git/gcc-head/gcc/var-tracking.c:8054
0x80b9cf23 vt_expand_loc_callback
/home/andreas/git/gcc-head/gcc/var-tracking.c:8216
0x80305c7d cselib_expand_value_rtx_1
/home/andreas/git/gcc-head/gcc/cselib.c:1683
0x8030568d cselib_expand_value_rtx_cb(rtx_def*, bitmap_head_def*, int, rtx_def*
(*)(rtx_def*, bitmap_head_def*, int, void*), void*)
/home/andreas/git/gcc-head/gcc/cselib.c:1530
0x80b9c39b vt_expand_var_loc_chain
/home/andreas/git/gcc-head/gcc/var-tracking.c:8054
0x80b9d67d vt_expand_1pvar
/home/andreas/git/gcc-head/gcc/var-tracking.c:8331
0x80b9d9c7 emit_note_insn_var_location
/home/andreas/git/gcc-head/gcc/var-tracking.c:8385
0x80f1a4e3 htab_traverse_noresize
/home/andreas/git/gcc-head/libiberty/hashtab.c:784
0x80f1a5bf htab_traverse
/home/andreas/git/gcc-head/libiberty/hashtab.c:800
0x80b9f613 emit_notes_for_changes
/home/andreas/git/gcc-head/gcc/var-tracking.c:8749
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.
make[5]: *** [_powitf2.o] Error 1
make[5]: *** Waiting for unfinished jobs


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-25 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #5 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-26 
03:22:19 UTC ---

Author: hp

Date: Mon Nov 26 03:22:15 2012

New Revision: 193802



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193802

Log:

PR middle-end/55030

* builtins.c (expand_builtin_setjmp_receiver): Update comment

regarding purpose of blockage.

* emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for

the head comment.

* rtlanal.c (volatile_insn_p): Ditto.

* doc/md.texi (blockage): Update similarly.  Change wording to

require one of two forms, rather than implying a wider choice.

* cse.c (cse_insn): Where checking for blocking insns, use

volatile_insn_p instead of manual check for volatile ASM.

* dse.c (scan_insn): Ditto.

* cselib.c (cselib_process_insn): Ditto.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/builtins.c

trunk/gcc/cse.c

trunk/gcc/cselib.c

trunk/gcc/doc/md.texi

trunk/gcc/dse.c

trunk/gcc/emit-rtl.c

trunk/gcc/rtlanal.c


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-25 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #6 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-26 
03:26:00 UTC ---

Author: hp

Date: Mon Nov 26 03:25:57 2012

New Revision: 193803



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193803

Log:

PR middle-end/55030

* gcc.dg/guality/pr36728-1.c, gcc.dg/guality/pr36728-2.c (foo): Don't

use volatile asms, use plain asms.   Where the output value for the

asm is unused, write a global variable.



Modified:

trunk/gcc/testsuite/ChangeLog

trunk/gcc/testsuite/gcc.dg/guality/pr36728-1.c

trunk/gcc/testsuite/gcc.dg/guality/pr36728-2.c


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-11 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-12 
04:37:04 UTC ---

Created attachment 28664

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28664

reduced test-case



Reduced test-case.  Do e.g. cc1 -fpreprocessed pr55030-chk.i -quiet -dumpbase

pr55030-chk.c -m32 -mtune=generic -march=x86-64 -auxbase pr55030-chk -Os -w

-version -fno-diagnostics-show-caret -fno-tree-loop-distribute-patterns -o

pr55030-chk.s


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-11-11 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #4 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-11-12 
04:53:55 UTC ---

(In reply to comment #3)

 Created attachment 28664 [details]

 reduced test-case



Only intended for code inspection, not a self-contained test-case; that's

already covered as in the original description.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-10-23 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-10-22 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



--- Comment #1 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-10-23 
01:05:29 UTC ---

Author: hp

Date: Tue Oct 23 01:05:25 2012

New Revision: 192701



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192701

Log:

PR middle-end/55030

Revert:

* stmt.c (expand_nl_goto_receiver): Remove almost-copy of

expand_builtin_setjmp_receiver.

(expand_label): Adjust, call expand_builtin_setjmp_receiver

with NULL for the label parameter.

* builtins.c (expand_builtin_setjmp_receiver): Don't clobber

the frame-pointer.  Adjust comments.

[HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver

only if LABEL is non-NULL.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/builtins.c

trunk/gcc/stmt.c


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-10-22 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



Hans-Peter Nilsson hp at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-23

 Ever Confirmed|0   |1



--- Comment #2 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-10-23 
01:08:33 UTC ---

This PR is kept open until the underlying issue is analyzed and fixed.


[Bug middle-end/55030] [4.8 Regression]: gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al)

2012-10-22 Thread hp at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55030



Hans-Peter Nilsson hp at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |hp at gcc dot gnu.org

   |gnu.org |