re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)
authorJakub Jelinek <jakub@redhat.com>
Tue, 29 Nov 2011 08:48:41 +0000 (09:48 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 29 Nov 2011 08:48:41 +0000 (09:48 +0100)
PR middle-end/50074
* expr.c (expand_expr_addr_expr_1): Don't call force_operand for
EXPAND_SUM modifier.

From-SVN: r181800

gcc/ChangeLog
gcc/expr.c

index ef9c4800fe2a2f67f3ee16ac92ff2a583b2d7d5b..767b1c3c2ce243be4d2a0bc0328d02e834402814 100644 (file)
@@ -1,3 +1,9 @@
+2011-11-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/50074
+       * expr.c (expand_expr_addr_expr_1): Don't call force_operand for
+       EXPAND_SUM modifier.
+
 2011-11-29  Ira Rosen  <ira.rosen@linaro.org>
 
        PR tree-optimization/51301
index 8d3a0f671a8a0f4372ca4eb9f7b091ad40b41e88..6722af01616000dec6b07920165223319796a2b5 100644 (file)
@@ -7452,7 +7452,8 @@ expand_expr_addr_expr_1 (tree exp, rtx target, enum machine_mode tmode,
            }
 
          if (modifier != EXPAND_INITIALIZER
-             && modifier != EXPAND_CONST_ADDRESS)
+             && modifier != EXPAND_CONST_ADDRESS
+             && modifier != EXPAND_SUM)
            result = force_operand (result, target);
          return result;
        }