diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-09-09 13:06:53 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2013-09-09 13:06:53 +0000 |
commit | 2f1cd2ebd65eae6d87332c0bcd5d0e840c886cf3 (patch) | |
tree | 8a0c069c9c8784f5d1a4f0ad98b31f8275795896 /gcc/expr.c | |
parent | 4789c0cef392722e1c084eba900c0c469fba3bc1 (diff) | |
download | gcc-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/expr.c')
-rw-r--r-- | gcc/expr.c | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -3132,7 +3132,7 @@ emit_move_resolve_push (enum machine_mode mode, rtx x) /* Do not use anti_adjust_stack, since we don't want to update stack_pointer_delta. */ temp = expand_simple_binop (Pmode, PLUS, stack_pointer_rtx, - GEN_INT (adjust), stack_pointer_rtx, + gen_int_mode (adjust, Pmode), stack_pointer_rtx, 0, OPTAB_LIB_WIDEN); if (temp != stack_pointer_rtx) emit_move_insn (stack_pointer_rtx, temp); @@ -3643,7 +3643,8 @@ push_block (rtx size, int extra, int below) { temp = copy_to_mode_reg (Pmode, size); if (extra != 0) - temp = expand_binop (Pmode, add_optab, temp, GEN_INT (extra), + temp = expand_binop (Pmode, add_optab, temp, + gen_int_mode (extra, Pmode), temp, 0, OPTAB_LIB_WIDEN); anti_adjust_stack (temp); } @@ -3911,7 +3912,7 @@ emit_single_push_insn_1 (enum machine_mode mode, rtx x, tree type) add_optab, #endif stack_pointer_rtx, - GEN_INT (rounded_size), + gen_int_mode (rounded_size, Pmode), NULL_RTX, 0, OPTAB_LIB_WIDEN)); offset = (HOST_WIDE_INT) padding_size; @@ -4127,8 +4128,8 @@ emit_push_insn (rtx x, enum machine_mode mode, tree type, rtx size, size = GEN_INT (INTVAL (size) - used); else size = expand_binop (GET_MODE (size), sub_optab, size, - GEN_INT (used), NULL_RTX, 0, - OPTAB_LIB_WIDEN); + gen_int_mode (used, GET_MODE (size)), + NULL_RTX, 0, OPTAB_LIB_WIDEN); } /* Get the address of the stack space. @@ -4475,7 +4476,8 @@ optimize_bitfield_assignment_op (unsigned HOST_WIDE_INT bitsize, binop = code == BIT_IOR_EXPR ? ior_optab : xor_optab; if (bitpos + bitsize != str_bitsize) { - rtx mask = GEN_INT (((unsigned HOST_WIDE_INT) 1 << bitsize) - 1); + rtx mask = gen_int_mode (((unsigned HOST_WIDE_INT) 1 << bitsize) - 1, + str_mode); value = expand_and (str_mode, value, mask, NULL_RTX); } value = expand_shift (LSHIFT_EXPR, str_mode, value, bitpos, NULL_RTX, 1); @@ -9857,7 +9859,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, if (TYPE_UNSIGNED (TREE_TYPE (field))) { - op1 = GEN_INT (((HOST_WIDE_INT) 1 << bitsize) - 1); + op1 = gen_int_mode (((HOST_WIDE_INT) 1 << bitsize) - 1, + imode); op0 = expand_and (imode, op0, op1, target); } else |