Commit ffcc7caf by Joern Rennecke Committed by Joern Rennecke

epiphany.h (HARD_REGNO_RENAME_OK): Define.

        * config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
        * config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok): Declare.
        * config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.

From-SVN: r193889
parent 1001fb60
2012-11-28 Joern Rennecke <joern.rennecke@embecosm.com>
* config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
* config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok): Declare.
* config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.
2012-11-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/54547
......@@ -54,3 +54,4 @@ extern bool epiphany_is_interrupt_p (tree);
extern unsigned epiphany_special_round_type_align (tree, unsigned, unsigned);
extern unsigned epiphany_adjust_field_align (tree, unsigned);
extern void epiphany_start_function (FILE *f, const char *name, tree decl);
extern bool epiphany_regno_rename_ok (unsigned src, unsigned dst);
......@@ -1879,6 +1879,19 @@ epiphany_initial_elimination_offset (int from, int to)
gcc_unreachable ();
}
bool
epiphany_regno_rename_ok (unsigned, unsigned dst)
{
enum epiphany_function_type fn_type;
fn_type = epiphany_compute_function_type (current_function_decl);
if (!EPIPHANY_INTERRUPT_P (fn_type))
return true;
if (df_regs_ever_live_p (dst))
return true;
return false;
}
static int
epiphany_issue_rate (void)
{
......
......@@ -291,6 +291,8 @@ along with GCC; see the file COPYING3. If not see
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77 \
}
#define HARD_REGNO_RENAME_OK(SRC, DST) epiphany_regno_rename_ok (SRC, DST)
/* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE.
This is ordinarily the length in words of a value of mode MODE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment