[AArch64 costs 3/18] Wrap aarch64_rtx_costs to dump verbose output

gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
	(TARGET_RTX_COSTS): Call it.

From-SVN: r210495
This commit is contained in:
James Greenhalgh 2014-05-16 08:45:39 +00:00 committed by James Greenhalgh
parent 60bff09020
commit 0ee859b53b
2 changed files with 26 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
(TARGET_RTX_COSTS): Call it.
2014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64.c (cortexa57_addrcost_table): New.

View File

@ -63,6 +63,7 @@
#include "cfgloop.h"
#include "tree-vectorizer.h"
#include "config/arm/aarch-cost-tables.h"
#include "dumpfile.h"
/* Defined for convenience. */
#define POINTER_BYTES (POINTER_SIZE / BITS_PER_UNIT)
@ -5031,6 +5032,26 @@ aarch64_rtx_costs (rtx x, int code, int outer ATTRIBUTE_UNUSED,
return false;
}
/* Wrapper around aarch64_rtx_costs, dumps the partial, or total cost
calculated for X. This cost is stored in *COST. Returns true
if the total cost of X was calculated. */
static bool
aarch64_rtx_costs_wrapper (rtx x, int code, int outer,
int param, int *cost, bool speed)
{
bool result = aarch64_rtx_costs (x, code, outer, param, cost, speed);
if (dump_file && (dump_flags & TDF_DETAILS))
{
print_rtl_single (dump_file, x);
fprintf (dump_file, "\n%s cost: %d (%s)\n",
speed ? "Hot" : "Cold",
*cost, result ? "final" : "partial");
}
return result;
}
static int
aarch64_register_move_cost (enum machine_mode mode,
reg_class_t from_i, reg_class_t to_i)