diff options
author | Dmitry Melnik <dm@ispras.ru> | 2011-08-11 11:40:07 +0000 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2011-08-11 15:40:07 +0400 |
commit | bf3a40e953ac2de927a56de8fda9cda4eba036ad (patch) | |
tree | e25f9911c3eeb8a371b123237a9938cd296d9ad0 | |
parent | f82d1a94ecc2cbeff1807bae81783dbf1147bb7b (diff) | |
download | gcc-bf3a40e953ac2de927a56de8fda9cda4eba036ad.zip gcc-bf3a40e953ac2de927a56de8fda9cda4eba036ad.tar.gz gcc-bf3a40e953ac2de927a56de8fda9cda4eba036ad.tar.bz2 |
sel-sched-ir.c (merge_expr_data): Take maximum spec.
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (merge_expr_data): Take maximum spec.
From-SVN: r177651
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/sel-sched-ir.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b84e8b..a2e42c7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-08-11 Dmitry Melnik <dm@ispras.ru> + + * sel-sched-ir.c (merge_expr_data): Take maximum spec. + 2011-08-11 Richard Sandiford <richard.sandiford@linaro.org> * doc/md.texi (define_bypass): Say that the instruction names can diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index ac48325..599714b 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -1810,9 +1810,9 @@ update_speculative_bits (expr_t to, expr_t from, insn_t split_point) void merge_expr_data (expr_t to, expr_t from, insn_t split_point) { - /* For now, we just set the spec of resulting expr to be minimum of the specs - of merged exprs. */ - if (EXPR_SPEC (to) > EXPR_SPEC (from)) + /* Choose the maximum of the specs of merged exprs. This is required + for correctness of bookkeeping. */ + if (EXPR_SPEC (to) < EXPR_SPEC (from)) EXPR_SPEC (to) = EXPR_SPEC (from); if (split_point) |