aboutsummaryrefslogtreecommitdiff
path: root/gcc/dse.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/dse.cc')
-rw-r--r--gcc/dse.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/dse.cc b/gcc/dse.cc
index ffc86ff..1d756fd 100644
--- a/gcc/dse.cc
+++ b/gcc/dse.cc
@@ -814,8 +814,7 @@ emit_inc_dec_insn_before (rtx mem ATTRIBUTE_UNUSED,
{
start_sequence ();
emit_insn (gen_add3_insn (dest, src, srcoff));
- new_insn = get_insns ();
- end_sequence ();
+ new_insn = end_sequence ();
}
else
new_insn = gen_move_insn (dest, src);
@@ -1190,7 +1189,10 @@ canon_address (rtx mem,
address = strip_offset_and_add (address, offset);
if (ADDR_SPACE_GENERIC_P (MEM_ADDR_SPACE (mem))
- && const_or_frame_p (address))
+ && const_or_frame_p (address)
+ /* Literal addresses can alias any base, avoid creating a
+ group for them. */
+ && ! CONST_SCALAR_INT_P (address))
{
group_info *group = get_group_info (address);
@@ -1824,8 +1826,7 @@ find_shift_sequence (poly_int64 access_bytes,
gen_int_shift_amount (new_mode, shift),
new_reg, 1, OPTAB_DIRECT);
- shift_seq = get_insns ();
- end_sequence ();
+ shift_seq = end_sequence ();
if (target != new_reg || shift_seq == NULL)
continue;
@@ -2044,8 +2045,7 @@ replace_read (store_info *store_info, insn_info_t store_insn,
}
else
read_reg = copy_to_mode_reg (read_mode, read_reg);
- insns = get_insns ();
- end_sequence ();
+ insns = end_sequence ();
if (insns != NULL_RTX)
{