aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2013-09-09 13:06:53 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2013-09-09 13:06:53 +0000
commit2f1cd2ebd65eae6d87332c0bcd5d0e840c886cf3 (patch)
tree8a0c069c9c8784f5d1a4f0ad98b31f8275795896 /gcc/function.c
parent4789c0cef392722e1c084eba900c0c469fba3bc1 (diff)
downloadgcc-2f1cd2ebd65eae6d87332c0bcd5d0e840c886cf3.zip
gcc-2f1cd2ebd65eae6d87332c0bcd5d0e840c886cf3.tar.gz
gcc-2f1cd2ebd65eae6d87332c0bcd5d0e840c886cf3.tar.bz2
asan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_* call.
gcc/ * asan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_* call. (asan_emit_stack_protection): Likewise. * builtins.c (round_trampoline_addr): Likewise. * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise. * expmed.c (expand_smod_pow2, expand_sdiv_pow2, expand_divmod) (emit_store_flag): Likewise. * expr.c (emit_move_resolve_push, push_block, emit_single_push_insn_1) (emit_push_insn, optimize_bitfield_assignment_op, expand_expr_real_1): Likewise. * function.c (instantiate_virtual_regs_in_insn): Likewise. * ifcvt.c (noce_try_store_flag_constants): Likewise. * loop-unroll.c (unroll_loop_runtime_iterations): Likewise. * modulo-sched.c (generate_prolog_epilog): Likewise. * optabs.c (expand_binop, widen_leading, expand_doubleword_clz) (expand_ctz, expand_ffs, expand_unop): Likewise. From-SVN: r202392
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 08731e84..d6434e8 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1544,9 +1544,10 @@ instantiate_virtual_regs_in_insn (rtx insn)
{
start_sequence ();
- x = expand_simple_binop (GET_MODE (SET_DEST (set)), PLUS,
- new_rtx, GEN_INT (offset), SET_DEST (set),
- 1, OPTAB_LIB_WIDEN);
+ x = expand_simple_binop (GET_MODE (SET_DEST (set)), PLUS, new_rtx,
+ gen_int_mode (offset,
+ GET_MODE (SET_DEST (set))),
+ SET_DEST (set), 1, OPTAB_LIB_WIDEN);
if (x != SET_DEST (set))
emit_move_insn (SET_DEST (set), x);
@@ -1666,8 +1667,8 @@ instantiate_virtual_regs_in_insn (rtx insn)
to see if (plus new offset) is a valid before we put
this through expand_simple_binop. */
x = expand_simple_binop (GET_MODE (x), PLUS, new_rtx,
- GEN_INT (offset), NULL_RTX,
- 1, OPTAB_LIB_WIDEN);
+ gen_int_mode (offset, GET_MODE (x)),
+ NULL_RTX, 1, OPTAB_LIB_WIDEN);
seq = get_insns ();
end_sequence ();
emit_insn_before (seq, insn);
@@ -1681,9 +1682,10 @@ instantiate_virtual_regs_in_insn (rtx insn)
if (offset != 0)
{
start_sequence ();
- new_rtx = expand_simple_binop (GET_MODE (new_rtx), PLUS, new_rtx,
- GEN_INT (offset), NULL_RTX,
- 1, OPTAB_LIB_WIDEN);
+ new_rtx = expand_simple_binop
+ (GET_MODE (new_rtx), PLUS, new_rtx,
+ gen_int_mode (offset, GET_MODE (new_rtx)),
+ NULL_RTX, 1, OPTAB_LIB_WIDEN);
seq = get_insns ();
end_sequence ();
emit_insn_before (seq, insn);