diff options
author | Richard Biener <rguenther@suse.de> | 2016-07-19 14:16:54 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-07-19 14:16:54 +0000 |
commit | 13e889530d0da219afcbcd78c768688593dd5257 (patch) | |
tree | 30e3412617c2b0809920e06ce7f81591d03f4515 /gcc/tree-ssa-sccvn.c | |
parent | 1caf0482104f4b8a3ea0109ae95dd19cf39c52a2 (diff) | |
download | gcc-13e889530d0da219afcbcd78c768688593dd5257.zip gcc-13e889530d0da219afcbcd78c768688593dd5257.tar.gz gcc-13e889530d0da219afcbcd78c768688593dd5257.tar.bz2 |
gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case, handle all tcc_constant bases and valueize SSA names.
2016-07-19 Richard Biener <rguenther@suse.de>
* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
handle all tcc_constant bases and valueize SSA names.
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
tcc_constant bases.
* c-c++-common/vector-subscript-6.c: New testcase.
* c-c++-common/vector-subscript-7.c: Likewise.
From-SVN: r238475
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index e685342..e889d60 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -1337,6 +1337,11 @@ fully_constant_vn_reference_p (vn_reference_t ref) unsigned i; for (i = 0; i < operands.length (); ++i) { + if (TREE_CODE_CLASS (operands[i].opcode) == tcc_constant) + { + ++i; + break; + } if (operands[i].off == -1) return NULL_TREE; off += operands[i].off; |