[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

2015-04-21 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|SUSPENDED   |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com

--- Comment #60 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Uroš Bizjak from comment #59)
 (In reply to vries from comment #58)
 
  Given the fix of PR64950, we should be able to remove the workaround
  committed for this PR.
 
 I have started bootstrap/regtest with the following revert:

Testresults at [1] show that it is now safe to revert the workaround.

[1] https://gcc.gnu.org/ml/gcc-testresults/2015-04/msg02422.html

[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

2015-04-21 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

--- Comment #61 from uros at gcc dot gnu.org ---
Author: uros
Date: Tue Apr 21 06:29:37 2015
New Revision: 57

URL: https://gcc.gnu.org/viewcvs?rev=57root=gccview=rev
Log:
PR tree-optimization/64950
Revert:
2010-08-02  Uros Bizjak  ubiz...@gmail.com

PR target/41089
* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
as volatile.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/alpha/alpha.c


[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

2015-04-20 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

--- Comment #59 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to vries from comment #58)

 Given the fix of PR64950, we should be able to remove the workaround
 committed for this PR.

I have started bootstrap/regtest with the following revert:

--cut here--
Index: config/alpha/alpha.c
===
--- config/alpha/alpha.c (revision 28)
+++ config/alpha/alpha.c (working copy)
@@ -5957,10 +5957,6 @@ alpha_build_builtin_va_list (void)
integer_type_node);
   DECL_FIELD_CONTEXT (ofs) = record;
   DECL_CHAIN (ofs) = space;
-  /* ??? This is a hack, __offset is marked volatile to prevent
- DCE that confuses stdarg optimization and results in
- gcc.c-torture/execute/stdarg-1.c failure.  See PR 41089.  */
-  TREE_THIS_VOLATILE (ofs) = 1;

   base = build_decl (BUILTINS_LOCATION,
 FIELD_DECL, get_identifier (__base),
--cut here--

[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

2015-04-20 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

vries at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu.org,
   ||vries at gcc dot gnu.org

--- Comment #58 from vries at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #57)
 See also PR64950

[ Adding alpha maintainer to cc. ]

Given the fix of PR64950, we should be able to remove the workaround committed
for this PR.