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> 2012-11-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/54547 PR tree-optimization/54547
...@@ -54,3 +54,4 @@ extern bool epiphany_is_interrupt_p (tree); ...@@ -54,3 +54,4 @@ extern bool epiphany_is_interrupt_p (tree);
extern unsigned epiphany_special_round_type_align (tree, unsigned, unsigned); extern unsigned epiphany_special_round_type_align (tree, unsigned, unsigned);
extern unsigned epiphany_adjust_field_align (tree, unsigned); extern unsigned epiphany_adjust_field_align (tree, unsigned);
extern void epiphany_start_function (FILE *f, const char *name, tree decl); 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) ...@@ -1879,6 +1879,19 @@ epiphany_initial_elimination_offset (int from, int to)
gcc_unreachable (); 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 static int
epiphany_issue_rate (void) epiphany_issue_rate (void)
{ {
......
...@@ -291,6 +291,8 @@ along with GCC; see the file COPYING3. If not see ...@@ -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 \ 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 /* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE. to hold something of mode MODE.
This is ordinarily the length in words of a value 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