summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2013-07-12 08:41:26 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2013-07-12 08:41:26 +0000
commit7173826daf929b5d925bbb183f1d1e0c4f2e7be8 (patch)
treed5fa37d59785f9f27547b58ef19a4983866c4ff8 /gcc/combine.c
parent5ea851c7f59adf0fde5892c34d5059da38ea7dee (diff)
downloadgcc-7173826daf929b5d925bbb183f1d1e0c4f2e7be8.tar.gz
2013-07-12 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 200918 using svnmerge.py git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@200920 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index b737bc5529f..fc94c68626c 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -7326,7 +7326,8 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
if (pos_rtx != 0
&& GET_MODE_SIZE (pos_mode) > GET_MODE_SIZE (GET_MODE (pos_rtx)))
{
- rtx temp = gen_rtx_ZERO_EXTEND (pos_mode, pos_rtx);
+ rtx temp = simplify_gen_unary (ZERO_EXTEND, pos_mode, pos_rtx,
+ GET_MODE (pos_rtx));
/* If we know that no extraneous bits are set, and that the high
bit is not set, convert extraction to cheaper one - either
@@ -7340,7 +7341,8 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
>> 1))
== 0)))
{
- rtx temp1 = gen_rtx_SIGN_EXTEND (pos_mode, pos_rtx);
+ rtx temp1 = simplify_gen_unary (SIGN_EXTEND, pos_mode, pos_rtx,
+ GET_MODE (pos_rtx));
/* Prefer ZERO_EXTENSION, since it gives more information to
backends. */
@@ -13578,14 +13580,17 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2,
&& hard_regno_nregs[regno][GET_MODE (XEXP (note, 0))] > 1)
{
unsigned int endregno = END_HARD_REGNO (XEXP (note, 0));
- int all_used = 1;
+ bool all_used = true;
unsigned int i;
for (i = regno; i < endregno; i++)
if ((! refers_to_regno_p (i, i + 1, PATTERN (place), 0)
&& ! find_regno_fusage (place, USE, i))
|| dead_or_set_regno_p (place, i))
- all_used = 0;
+ {
+ all_used = false;
+ break;
+ }
if (! all_used)
{
@@ -13629,7 +13634,6 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2,
break;
}
}
-
}
place = 0;