From: Jakub Jelinek Date: Tue, 9 Mar 2010 18:51:44 +0000 (+0100) Subject: re PR debug/43304 (ICE on vmx/fft.c and vmx/7-01{,a}.c) X-Git-Tag: releases/gcc-4.5.0~442 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3b7998ea24e0b9aa47b9d2c692852a8f02ecdb2f;p=thirdparty%2Fgcc.git re PR debug/43304 (ICE on vmx/fft.c and vmx/7-01{,a}.c) PR debug/43304 * var-tracking.c (vt_expand_loc_callback) : If dummy, call cselib_dummy_expand_value_rtx_cb instead of cselib_expand_value_rtx_cb. From-SVN: r157315 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e348458c997e..4b68db52eae1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -2010-03-08 Jakub Jelinek +2010-03-09 Jakub Jelinek + + PR debug/43304 + * var-tracking.c (vt_expand_loc_callback) : If dummy, + call cselib_dummy_expand_value_rtx_cb instead of + cselib_expand_value_rtx_cb. PR debug/43293 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h. diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 0cd5dfc45aad..378bb75bdb3b 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -6560,6 +6560,16 @@ vt_expand_loc_callback (rtx x, bitmap regs, int max_depth, void *data) switch (GET_CODE (x)) { case SUBREG: + if (dummy) + { + if (cselib_dummy_expand_value_rtx_cb (SUBREG_REG (x), regs, + max_depth - 1, + vt_expand_loc_callback, data)) + return pc_rtx; + else + return NULL; + } + subreg = cselib_expand_value_rtx_cb (SUBREG_REG (x), regs, max_depth - 1, vt_expand_loc_callback, data); @@ -6567,9 +6577,6 @@ vt_expand_loc_callback (rtx x, bitmap regs, int max_depth, void *data) if (!subreg) return NULL; - if (dummy) - return pc_rtx; - result = simplify_gen_subreg (GET_MODE (x), subreg, GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x));