From: Jakub Jelinek Date: Thu, 13 Oct 2011 16:09:12 +0000 (+0200) Subject: tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector or complex vars... X-Git-Tag: releases/gcc-4.7.0~3143 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a6b63c3d549e65883134456b811f46a863d45d0;p=thirdparty%2Fgcc.git tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector or complex vars even if... * tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector or complex vars even if their DECL_UID is in not_reg_needs bitmap. Co-Authored-By: Richard Guenther From-SVN: r179930 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5567d16cecd..01c7e006b18e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-10-13 Jakub Jelinek + Richard Guenther + + * tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE + from vector or complex vars even if their DECL_UID is in not_reg_needs + bitmap. + 2011-10-13 Jakub Jelinek * config/i386/sse.md (reduc_umin_v8hi): New pattern. diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 258a7444b08f..8f73d9176f2d 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1963,6 +1963,8 @@ maybe_optimize_var (tree var, bitmap addresses_taken, bitmap not_reg_needs) a non-register. Otherwise we are confused and forget to add virtual operands for it. */ && (!is_gimple_reg_type (TREE_TYPE (var)) + || TREE_CODE (TREE_TYPE (var)) == VECTOR_TYPE + || TREE_CODE (TREE_TYPE (var)) == COMPLEX_TYPE || !bitmap_bit_p (not_reg_needs, DECL_UID (var)))) { TREE_ADDRESSABLE (var) = 0;