Commit d20e48b0 by Renlin Li Committed by Marcus Shawcroft

[AArch64] Use plus_constant.

2013-09-20  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
	(aarch64_expand_epilogue): Likewise.
	(aarch64_legitimize_reload_address): Likewise.

From-SVN: r202780
parent 59bb1544
2013-09-20 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
(aarch64_expand_epilogue): Likewise.
(aarch64_legitimize_reload_address): Likewise.
2013-09-20 Bernd Edlinger <bernd.edlinger@hotmail.de> 2013-09-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR middle-end/57748 PR middle-end/57748
......
...@@ -2065,9 +2065,9 @@ aarch64_expand_prologue (void) ...@@ -2065,9 +2065,9 @@ aarch64_expand_prologue (void)
emit_insn (gen_add2_insn (stack_pointer_rtx, op0)); emit_insn (gen_add2_insn (stack_pointer_rtx, op0));
aarch64_set_frame_expr (gen_rtx_SET aarch64_set_frame_expr (gen_rtx_SET
(Pmode, stack_pointer_rtx, (Pmode, stack_pointer_rtx,
gen_rtx_PLUS (Pmode, plus_constant (Pmode,
stack_pointer_rtx, stack_pointer_rtx,
GEN_INT (-frame_size)))); -frame_size)));
} }
else if (frame_size > 0) else if (frame_size > 0)
{ {
...@@ -2151,9 +2151,9 @@ aarch64_expand_prologue (void) ...@@ -2151,9 +2151,9 @@ aarch64_expand_prologue (void)
GEN_INT (fp_offset))); GEN_INT (fp_offset)));
aarch64_set_frame_expr (gen_rtx_SET aarch64_set_frame_expr (gen_rtx_SET
(Pmode, hard_frame_pointer_rtx, (Pmode, hard_frame_pointer_rtx,
gen_rtx_PLUS (Pmode, plus_constant (Pmode,
stack_pointer_rtx, stack_pointer_rtx,
GEN_INT (fp_offset)))); fp_offset)));
RTX_FRAME_RELATED_P (insn) = 1; RTX_FRAME_RELATED_P (insn) = 1;
insn = emit_insn (gen_stack_tie (stack_pointer_rtx, insn = emit_insn (gen_stack_tie (stack_pointer_rtx,
hard_frame_pointer_rtx)); hard_frame_pointer_rtx));
...@@ -2349,9 +2349,9 @@ aarch64_expand_epilogue (bool for_sibcall) ...@@ -2349,9 +2349,9 @@ aarch64_expand_epilogue (bool for_sibcall)
emit_insn (gen_add2_insn (stack_pointer_rtx, op0)); emit_insn (gen_add2_insn (stack_pointer_rtx, op0));
aarch64_set_frame_expr (gen_rtx_SET aarch64_set_frame_expr (gen_rtx_SET
(Pmode, stack_pointer_rtx, (Pmode, stack_pointer_rtx,
gen_rtx_PLUS (Pmode, plus_constant (Pmode,
stack_pointer_rtx, stack_pointer_rtx,
GEN_INT (frame_size)))); frame_size)));
} }
else if (frame_size > 0) else if (frame_size > 0)
{ {
...@@ -2373,10 +2373,10 @@ aarch64_expand_epilogue (bool for_sibcall) ...@@ -2373,10 +2373,10 @@ aarch64_expand_epilogue (bool for_sibcall)
} }
} }
aarch64_set_frame_expr (gen_rtx_SET (Pmode, stack_pointer_rtx, aarch64_set_frame_expr (gen_rtx_SET (Pmode, stack_pointer_rtx,
gen_rtx_PLUS (Pmode, plus_constant (Pmode,
stack_pointer_rtx, stack_pointer_rtx,
GEN_INT (offset)))); offset)));
} }
emit_use (gen_rtx_REG (DImode, LR_REGNUM)); emit_use (gen_rtx_REG (DImode, LR_REGNUM));
...@@ -4014,9 +4014,9 @@ aarch64_legitimize_reload_address (rtx *x_p, ...@@ -4014,9 +4014,9 @@ aarch64_legitimize_reload_address (rtx *x_p,
/* Reload high part into base reg, leaving the low part /* Reload high part into base reg, leaving the low part
in the mem instruction. */ in the mem instruction. */
x = gen_rtx_PLUS (xmode, x = plus_constant (xmode,
gen_rtx_PLUS (xmode, XEXP (x, 0), cst), gen_rtx_PLUS (xmode, XEXP (x, 0), cst),
GEN_INT (low)); low);
push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL, push_reload (XEXP (x, 0), NULL_RTX, &XEXP (x, 0), NULL,
BASE_REG_CLASS, xmode, VOIDmode, 0, 0, BASE_REG_CLASS, xmode, VOIDmode, 0, 0,
......
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