diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2011-03-17 19:51:03 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2011-03-17 12:51:03 -0700 |
commit | fe58e02b2255c2e0b8258484689e9afc8598fcc0 (patch) | |
tree | 400fd705981724f0d5f15249d7546ef4f7a96d8f /gcc | |
parent | 6fc4dbc7299200a5396d45bf0b9ae7cc288b9e69 (diff) | |
download | gcc-fe58e02b2255c2e0b8258484689e9afc8598fcc0.zip gcc-fe58e02b2255c2e0b8258484689e9afc8598fcc0.tar.gz gcc-fe58e02b2255c2e0b8258484689e9afc8598fcc0.tar.bz2 |
Check SUBREG in prepare_call_arguments.
2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
PR debug/48160
* var-tracking.c (prepare_call_arguments): Check SUBREG.
From-SVN: r171108
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/var-tracking.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7d028f7..887e014c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-03-17 H.J. Lu <hongjiu.lu@intel.com> + PR debug/48160 + * var-tracking.c (prepare_call_arguments): Check SUBREG. + +2011-03-17 H.J. Lu <hongjiu.lu@intel.com> + PR target/48171 * config/i386/i386.opt: Add Save to -mavx and -mfma. diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index aab9833..7c4c2c5 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -5770,7 +5770,11 @@ prepare_call_arguments (basic_block bb, rtx insn) /* Try harder, when passing address of a constant pool integer it can be easily read back. */ - val = CSELIB_VAL_PTR (XEXP (item, 1)); + item = XEXP (item, 1); + if (GET_CODE (item) == SUBREG) + item = SUBREG_REG (item); + gcc_assert (GET_CODE (item) == VALUE); + val = CSELIB_VAL_PTR (item); for (l = val->locs; l; l = l->next) if (GET_CODE (l->loc) == SYMBOL_REF && TREE_CONSTANT_POOL_ADDRESS_P (l->loc) |