aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2017-12-14 15:53:36 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2017-12-14 15:53:36 +0000
commit636f605cbf67b82baf3726d2e92607cd39004d37 (patch)
tree475f5e5d374a3348bc98cb0b228ff8165a9ff6e9
parente2c6cfac8e7b9e92e0d51332d6143dc47a982020 (diff)
downloadgcc-636f605cbf67b82baf3726d2e92607cd39004d37.zip
gcc-636f605cbf67b82baf3726d2e92607cd39004d37.tar.gz
gcc-636f605cbf67b82baf3726d2e92607cd39004d37.tar.bz2
[arm] Add -mverbose-cost-dump and de-verbosify cost dumps
This patch adds an -mverbose-cost-dump option, similar to the one in aarch64. It makes the RTX cost dump print the RTX we're costing in the backend, as well as its cost. This can be distracting in other cost-related RTL dumps like combine's. So now we don't dump the backend information by default, but provide the power-user option -mverbose-cost-dump to enable the old verbose dumping. This option is for GCC developers debugging the compiler only, so no documentation are added. It's also trivially simple in functionality so no test is added either. Bootstrapped and tested on arm-none-linux-gnueabihf. Committed to trunk. * config/arm/arm.opt (mverbose-cost-dump): New option. * config/arm/arm.c (arm_rtx_costs): Use it. From-SVN: r255644
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c2
-rw-r--r--gcc/config/arm/arm.opt4
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b7c76314..8753aa0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.opt (mverbose-cost-dump): New option.
+ * config/arm/arm.c (arm_rtx_costs): Use it.
+
2017-12-14 Andreas Schwab <schwab@linux-m68k.org>
PR bootstrap/83396
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index f34b6e0..9b29a0a 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -11068,7 +11068,7 @@ arm_rtx_costs (rtx x, machine_mode mode ATTRIBUTE_UNUSED, int outer_code,
current_tune->insn_extra_cost,
total, speed);
- if (dump_file && (dump_flags & TDF_DETAILS))
+ if (dump_file && arm_verbose_cost)
{
print_rtl_single (dump_file, x);
fprintf (dump_file, "\n%s cost: %d (%s)\n", speed ? "Hot" : "Cold",
diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt
index 6060516..48f64588 100644
--- a/gcc/config/arm/arm.opt
+++ b/gcc/config/arm/arm.opt
@@ -254,6 +254,10 @@ mvectorize-with-neon-double
Target Report RejectNegative Mask(NEON_VECTORIZE_DOUBLE)
Use Neon double-word (rather than quad-word) registers for vectorization.
+mverbose-cost-dump
+Common Undocumented Var(arm_verbose_cost) Init(0)
+Enable more verbose RTX cost dumps during debug. For GCC developers use only.
+
mword-relocations
Target Report Var(target_word_relocations) Init(TARGET_DEFAULT_WORD_RELOCATIONS)
Only generate absolute relocations on word sized values.