diff options
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r-- | gcc/tree-ssa-reassoc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 4f033e91070..68a29100b6b 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -230,6 +230,13 @@ init_reassoc (void) insert_value_rank (def, ++rank); } } + /* Give the chain decl a distinct rank. */ + if (cfun->static_chain_decl != NULL) + { + tree def = default_def (cfun->static_chain_decl); + if (def != NULL) + insert_value_rank (def, ++rank); + } /* Set up rank for each BB */ for (i = 0; i < n_basic_blocks; i++) |