re PR rtl-optimization/81443 (build/genrecog.o: virtual memory exhausted: Cannot...
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 16 Feb 2018 08:20:32 +0000 (08:20 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 16 Feb 2018 08:20:32 +0000 (08:20 +0000)
PR rtl-optimization/81443
* rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results
from inner REGs to paradoxical SUBREGs.

From-SVN: r257724

gcc/ChangeLog
gcc/rtlanal.c

index f97986b0e9a0dd8dcc12706ee3d688f59354c59a..16c9d9bb81020fb0775024b50b506690c9349ea0 100644 (file)
@@ -1,3 +1,9 @@
+2018-02-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/81443
+       * rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results
+       from inner REGs to paradoxical SUBREGs.
+
 2018-02-16  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/84399
index 89d586b72886d3c626ffb8031acd720a28690f10..ac3662de3ce0c9fcb58a042138f461c538fc1522 100644 (file)
@@ -5101,7 +5101,7 @@ num_sign_bit_copies1 (const_rtx x, scalar_int_mode mode, const_rtx known_x,
          if (WORD_REGISTER_OPERATIONS
              && load_extend_op (inner_mode) == SIGN_EXTEND
              && paradoxical_subreg_p (x)
-             && (MEM_P (SUBREG_REG (x)) || REG_P (SUBREG_REG (x))))
+             && MEM_P (SUBREG_REG (x)))
            return cached_num_sign_bit_copies (SUBREG_REG (x), mode,
                                               known_x, known_mode, known_ret);
        }