]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR tree-optimization/44632 (wrong code for complex division)
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Mon, 16 Aug 2010 20:24:54 +0000 (20:24 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 16 Aug 2010 20:24:54 +0000 (20:24 +0000)
Backport from mainline:
2010-08-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/44632
* function.c (gimplify_parameters): Do not clear addressable
bit of the original parameter.

From-SVN: r163285

gcc/ChangeLog
gcc/function.c

index 0416f0c9d2c74e00b729415885508e6802a1ca34..d8cfcc16bedb1f3fbd7d47ab2a2653b0e6199729 100644 (file)
@@ -1,3 +1,12 @@
+2010-08-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Backport from mainline:
+       2010-08-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44632
+       * function.c (gimplify_parameters): Do not clear addressable
+       bit of the original parameter.
+
 2010-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        Revert:
index 9d1b471f157dd34ea244c43b64c0c8aa3083b0c5..cba4a0509545e3a2070830c8503a8a2e95668ac9 100644 (file)
@@ -3407,12 +3407,10 @@ gimplify_parameters (void)
                  DECL_IGNORED_P (local) = 0;
                  /* If PARM was addressable, move that flag over
                     to the local copy, as its address will be taken,
-                    not the PARMs.  */
+                    not the PARMs.  Keep the parms address taken
+                    as we'll query that flag during gimplification.  */
                  if (TREE_ADDRESSABLE (parm))
-                   {
-                     TREE_ADDRESSABLE (parm) = 0;
-                     TREE_ADDRESSABLE (local) = 1;
-                   }
+                   TREE_ADDRESSABLE (local) = 1;
                }
              else
                {