Commit 5d2446b1 by Richard Sandiford Committed by Richard Sandiford

caller-save.c (init_caller_save): Use word_mode and FIRST_PSEUDO_REGISTER when…

caller-save.c (init_caller_save): Use word_mode and FIRST_PSEUDO_REGISTER when creating temporary rtxes.

gcc/
	* caller-save.c (init_caller_save): Use word_mode and
	FIRST_PSEUDO_REGISTER when creating temporary rtxes.
	* expr.c (init_expr_target): Likewise.
	* ira.c (setup_prohibited_mode_move_regs): Likewise.
	* postreload.c (reload_cse_regs_1): Likewise.

From-SVN: r223340
parent 9fccb335
2015-05-19 Richard Sandiford <richard.sandiford@arm.com> 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
* caller-save.c (init_caller_save): Use word_mode and
FIRST_PSEUDO_REGISTER when creating temporary rtxes.
* expr.c (init_expr_target): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
* postreload.c (reload_cse_regs_1): Likewise.
2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
* rtl.def (REG): Change format to "r". * rtl.def (REG): Change format to "r".
* rtl.h (rtunion): Remove rt_reg. * rtl.h (rtunion): Remove rt_reg.
(reg_info): New structure. (reg_info): New structure.
......
...@@ -287,8 +287,8 @@ init_caller_save (void) ...@@ -287,8 +287,8 @@ init_caller_save (void)
To avoid lots of unnecessary RTL allocation, we construct all the RTL To avoid lots of unnecessary RTL allocation, we construct all the RTL
once, then modify the memory and register operands in-place. */ once, then modify the memory and register operands in-place. */
test_reg = gen_rtx_REG (VOIDmode, 0); test_reg = gen_rtx_REG (word_mode, FIRST_PSEUDO_REGISTER);
test_mem = gen_rtx_MEM (VOIDmode, address); test_mem = gen_rtx_MEM (word_mode, address);
savepat = gen_rtx_SET (test_mem, test_reg); savepat = gen_rtx_SET (test_mem, test_reg);
restpat = gen_rtx_SET (test_reg, test_mem); restpat = gen_rtx_SET (test_reg, test_mem);
......
...@@ -202,12 +202,12 @@ init_expr_target (void) ...@@ -202,12 +202,12 @@ init_expr_target (void)
/* Try indexing by frame ptr and try by stack ptr. /* Try indexing by frame ptr and try by stack ptr.
It is known that on the Convex the stack ptr isn't a valid index. It is known that on the Convex the stack ptr isn't a valid index.
With luck, one or the other is valid on any machine. */ With luck, one or the other is valid on any machine. */
mem = gen_rtx_MEM (VOIDmode, stack_pointer_rtx); mem = gen_rtx_MEM (word_mode, stack_pointer_rtx);
mem1 = gen_rtx_MEM (VOIDmode, frame_pointer_rtx); mem1 = gen_rtx_MEM (word_mode, frame_pointer_rtx);
/* A scratch register we can modify in-place below to avoid /* A scratch register we can modify in-place below to avoid
useless RTL allocations. */ useless RTL allocations. */
reg = gen_rtx_REG (VOIDmode, -1); reg = gen_rtx_REG (word_mode, FIRST_PSEUDO_REGISTER);
insn = rtx_alloc (INSN); insn = rtx_alloc (INSN);
pat = gen_rtx_SET (NULL_RTX, NULL_RTX); pat = gen_rtx_SET (NULL_RTX, NULL_RTX);
......
...@@ -1767,8 +1767,8 @@ setup_prohibited_mode_move_regs (void) ...@@ -1767,8 +1767,8 @@ setup_prohibited_mode_move_regs (void)
if (ira_prohibited_mode_move_regs_initialized_p) if (ira_prohibited_mode_move_regs_initialized_p)
return; return;
ira_prohibited_mode_move_regs_initialized_p = true; ira_prohibited_mode_move_regs_initialized_p = true;
test_reg1 = gen_rtx_REG (VOIDmode, 0); test_reg1 = gen_rtx_REG (word_mode, FIRST_PSEUDO_REGISTER);
test_reg2 = gen_rtx_REG (VOIDmode, 0); test_reg2 = gen_rtx_REG (word_mode, FIRST_PSEUDO_REGISTER);
move_pat = gen_rtx_SET (test_reg1, test_reg2); move_pat = gen_rtx_SET (test_reg1, test_reg2);
move_insn = gen_rtx_INSN (VOIDmode, 0, 0, 0, move_pat, 0, -1, 0); move_insn = gen_rtx_INSN (VOIDmode, 0, 0, 0, move_pat, 0, -1, 0);
for (i = 0; i < NUM_MACHINE_MODES; i++) for (i = 0; i < NUM_MACHINE_MODES; i++)
......
...@@ -234,7 +234,7 @@ reload_cse_regs_1 (void) ...@@ -234,7 +234,7 @@ reload_cse_regs_1 (void)
bool cfg_changed = false; bool cfg_changed = false;
basic_block bb; basic_block bb;
rtx_insn *insn; rtx_insn *insn;
rtx testreg = gen_rtx_REG (VOIDmode, -1); rtx testreg = gen_rtx_REG (word_mode, FIRST_PSEUDO_REGISTER);
cselib_init (CSELIB_RECORD_MEMORY); cselib_init (CSELIB_RECORD_MEMORY);
init_alias_analysis (); init_alias_analysis ();
......
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