aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPat Haugen <pthaugen@us.ibm.com>2016-09-13 15:58:52 +0000
committerPat Haugen <pthaugen@gcc.gnu.org>2016-09-13 15:58:52 +0000
commitc77b8713a77e9b30420fc8c594b9c35c95580daa (patch)
treec855b6cb054201fe7e84b3438c0d2ccd8521c473 /gcc
parent42763690bd1f536692054d4b8d530d1a5a9c29a1 (diff)
downloadgcc-c77b8713a77e9b30420fc8c594b9c35c95580daa.zip
gcc-c77b8713a77e9b30420fc8c594b9c35c95580daa.tar.gz
gcc-c77b8713a77e9b30420fc8c594b9c35c95580daa.tar.bz2
re PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative block frequencies in absence of real profile data)
PR tree-optimization/77536 PR rtl-optimization/68212 * config/rs6000/rs6000.md (div->recip splitter): Remove optimize_insn_for_speed_p condition. From-SVN: r240113
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.md6
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a11a273..58ab835 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-09-13 Pat Haugen <pthaugen@us.ibm.com>
+
+ PR tree-optimization/77536
+ PR rtl-optimization/68212
+ * config/rs6000/rs6000.md (div->recip splitter): Remove
+ optimize_insn_for_speed_p condition.
+
2016-09-13 Maciej W. Rozycki <macro@imgtec.com>
* optabs.c (prepare_cmp_insn): Update documentation comment.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 7da4370..8d09c8c 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -4323,13 +4323,15 @@
;; Split to create division from FRE/FRES/etc. and fixup instead of the normal
;; hardware division. This is only done before register allocation and with
;; -ffast-math. This must appear before the divsf3/divdf3 insns.
+;; We used to also check optimize_insn_for_speed_p () but problems with guessed
+;; frequencies (pr68212/pr77536) yields that unreliable so it was removed.
(define_split
[(set (match_operand:RECIPF 0 "gpc_reg_operand" "")
(div:RECIPF (match_operand 1 "gpc_reg_operand" "")
(match_operand 2 "gpc_reg_operand" "")))]
"RS6000_RECIP_AUTO_RE_P (<MODE>mode)
- && can_create_pseudo_p () && optimize_insn_for_speed_p ()
- && flag_finite_math_only && !flag_trapping_math && flag_reciprocal_math"
+ && can_create_pseudo_p () && flag_finite_math_only
+ && !flag_trapping_math && flag_reciprocal_math"
[(const_int 0)]
{
rs6000_emit_swdiv (operands[0], operands[1], operands[2], true);