+2011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
+
+ PR gcc/46898
+ * config/lm32/lm32.md (ashrsi3): Added needed variable.
+
+2011-02-25 Jon Beniston <jon@beniston.com>
+
+ PR gcc/46898
+ * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
+ * config/lm32/lm32.md (ashlsi3): Remove unused variable.
+ * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
+ (lm32_block_move_inline): Add type cast to remove warning.
+ (lm32_expand_prologue): Generate fp in a way compatible with
+ dwarf2out.
+ (gen_int_relational): Move declarations to start of function.
+
2011-02-25 Eric Botcazou <ebotcazou@adacore.com>
PR tree-optimization/45470
#define TARGET_CAN_ELIMINATE lm32_can_eliminate
#undef TARGET_LEGITIMATE_ADDRESS_P
#define TARGET_LEGITIMATE_ADDRESS_P lm32_legitimate_address_p
+#undef TARGET_EXCEPT_UNWIND_INFO
+#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
struct gcc_target targetm = TARGET_INITIALIZER;
{
enum machine_mode mode;
int branch_p;
+ rtx temp;
+ rtx cond;
+ rtx label;
mode = GET_MODE (cmp0);
if (mode == VOIDmode)
/* Setup frame pointer if it's needed. */
if (frame_pointer_needed == 1)
{
- /* Load offset - Don't use total_size, as that includes pretend_size,
- which isn't part of this frame? */
- insn =
- emit_move_insn (frame_pointer_rtx,
- GEN_INT (current_frame_info.args_size +
- current_frame_info.callee_size +
- current_frame_info.locals_size));
- RTX_FRAME_RELATED_P (insn) = 1;
+ /* Move sp to fp. */
+ insn = emit_move_insn (frame_pointer_rtx, stack_pointer_rtx);
+ RTX_FRAME_RELATED_P (insn) = 1;
- /* Add in sp. */
- insn = emit_add (frame_pointer_rtx,
- frame_pointer_rtx, stack_pointer_rtx);
+ /* Add offset - Don't use total_size, as that includes pretend_size,
+ which isn't part of this frame? */
+ insn = emit_add (frame_pointer_rtx,
+ frame_pointer_rtx,
+ GEN_INT (current_frame_info.args_size +
+ current_frame_info.callee_size +
+ current_frame_info.locals_size));
RTX_FRAME_RELATED_P (insn) = 1;
}