Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
cf0d9408
Commit
cf0d9408
authored
Jan 05, 2002
by
Kazu Hirata
Committed by
Kazu Hirata
Jan 05, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* combine.c: Fix formatting.
From-SVN: r48569
parent
bedca03a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
35 deletions
+39
-35
gcc/ChangeLog
+4
-0
gcc/combine.c
+35
-35
No files found.
gcc/ChangeLog
View file @
cf0d9408
2002-01-05 Kazu Hirata <kazu@hxi.com>
* combine.c: Fix formatting.
2002-01-05 Craig Rodrigues <crodrigu@bbn.com>
PR middle-end/1557
...
...
gcc/combine.c
View file @
cf0d9408
...
...
@@ -1134,7 +1134,7 @@ can_combine_p (insn, i3, pred, succ, pdest, psrc)
for
(
p
=
NEXT_INSN
(
insn
);
p
!=
i3
;
p
=
NEXT_INSN
(
p
))
if
(
INSN_P
(
p
)
&&
p
!=
succ
&&
volatile_refs_p
(
PATTERN
(
p
)))
return
0
;
return
0
;
}
/* If INSN is an asm, and DEST is a hard register, reject, since it has
...
...
@@ -1954,7 +1954,7 @@ try_combine (i3, i2, i1, new_direct_jump_p)
isn't mentioned in any SETs in NEWPAT that are field assignments. */
if
(
!
combinable_i3pat
(
NULL_RTX
,
&
newpat
,
i1dest
,
NULL_RTX
,
0
,
(
rtx
*
)
0
))
0
,
(
rtx
*
)
0
))
{
undo_all
();
return
0
;
...
...
@@ -2011,23 +2011,23 @@ try_combine (i3, i2, i1, new_direct_jump_p)
XVECEXP
(
newpat
,
0
,
0
)
=
old
;
}
if
(
added_sets_1
)
XVECEXP
(
newpat
,
0
,
--
total_sets
)
=
(
GET_CODE
(
PATTERN
(
i1
))
==
PARALLEL
?
gen_rtx_SET
(
VOIDmode
,
i1dest
,
i1src
)
:
PATTERN
(
i1
));
if
(
added_sets_1
)
XVECEXP
(
newpat
,
0
,
--
total_sets
)
=
(
GET_CODE
(
PATTERN
(
i1
))
==
PARALLEL
?
gen_rtx_SET
(
VOIDmode
,
i1dest
,
i1src
)
:
PATTERN
(
i1
));
if
(
added_sets_2
)
{
/* If there is no I1, use I2's body as is. We used to also not do
the subst call below if I2 was substituted into I3,
but that could lose a simplification. */
if
(
i1
==
0
)
XVECEXP
(
newpat
,
0
,
--
total_sets
)
=
i2pat
;
else
/* See comment where i2pat is assigned. */
XVECEXP
(
newpat
,
0
,
--
total_sets
)
=
subst
(
i2pat
,
i1dest
,
i1src
,
0
,
0
);
}
if
(
added_sets_2
)
{
/* If there is no I1, use I2's body as is. We used to also not do
the subst call below if I2 was substituted into I3,
but that could lose a simplification. */
if
(
i1
==
0
)
XVECEXP
(
newpat
,
0
,
--
total_sets
)
=
i2pat
;
else
/* See comment where i2pat is assigned. */
XVECEXP
(
newpat
,
0
,
--
total_sets
)
=
subst
(
i2pat
,
i1dest
,
i1src
,
0
,
0
);
}
}
/* We come here when we are replacing a destination in I2 with the
...
...
@@ -2992,7 +2992,7 @@ find_split_point (loc, insn)
&&
GET_CODE
(
XEXP
(
SET_DEST
(
x
),
2
))
==
CONST_INT
&&
GET_CODE
(
SET_SRC
(
x
))
==
CONST_INT
&&
((
INTVAL
(
XEXP
(
SET_DEST
(
x
),
1
))
+
INTVAL
(
XEXP
(
SET_DEST
(
x
),
2
)))
+
INTVAL
(
XEXP
(
SET_DEST
(
x
),
2
)))
<=
GET_MODE_BITSIZE
(
GET_MODE
(
XEXP
(
SET_DEST
(
x
),
0
))))
&&
!
side_effects_p
(
XEXP
(
SET_DEST
(
x
),
0
)))
{
...
...
@@ -3044,7 +3044,7 @@ find_split_point (loc, insn)
&&
GET_CODE
(
XEXP
(
SET_SRC
(
x
),
0
))
==
REG
&&
(
pos
=
exact_log2
(
INTVAL
(
XEXP
(
SET_SRC
(
x
),
1
))))
>=
7
&&
GET_CODE
(
SET_DEST
(
x
))
==
REG
&&
(
split
=
find_single_use
(
SET_DEST
(
x
),
insn
,
(
rtx
*
)
0
))
!=
0
&&
(
split
=
find_single_use
(
SET_DEST
(
x
),
insn
,
(
rtx
*
)
0
))
!=
0
&&
(
GET_CODE
(
*
split
)
==
EQ
||
GET_CODE
(
*
split
)
==
NE
)
&&
XEXP
(
*
split
,
0
)
==
SET_DEST
(
x
)
&&
XEXP
(
*
split
,
1
)
==
const0_rtx
)
...
...
@@ -4713,8 +4713,8 @@ simplify_if_then_else (x)
simplify_gen_unary
(
NEG
,
mode
,
simplify_gen_unary
(
ABS
,
mode
,
true_rtx
,
mode
),
mode
);
default
:
break
;
default
:
break
;
}
/* Look for MIN or MAX. */
...
...
@@ -10967,19 +10967,19 @@ static enum rtx_code
combine_reversed_comparison_code
(
exp
)
rtx
exp
;
{
enum
rtx_code
code1
=
reversed_comparison_code
(
exp
,
NULL
);
rtx
x
;
if
(
code1
!=
UNKNOWN
||
GET_MODE_CLASS
(
GET_MODE
(
XEXP
(
exp
,
0
)))
!=
MODE_CC
)
return
code1
;
/* Otherwise try and find where the condition codes were last set and
use that. */
x
=
get_last_value
(
XEXP
(
exp
,
0
));
if
(
!
x
||
GET_CODE
(
x
)
!=
COMPARE
)
return
UNKNOWN
;
return
reversed_comparison_code_parts
(
GET_CODE
(
exp
),
XEXP
(
x
,
0
),
XEXP
(
x
,
1
),
NULL
);
enum
rtx_code
code1
=
reversed_comparison_code
(
exp
,
NULL
);
rtx
x
;
if
(
code1
!=
UNKNOWN
||
GET_MODE_CLASS
(
GET_MODE
(
XEXP
(
exp
,
0
)))
!=
MODE_CC
)
return
code1
;
/* Otherwise try and find where the condition codes were last set and
use that. */
x
=
get_last_value
(
XEXP
(
exp
,
0
));
if
(
!
x
||
GET_CODE
(
x
)
!=
COMPARE
)
return
UNKNOWN
;
return
reversed_comparison_code_parts
(
GET_CODE
(
exp
),
XEXP
(
x
,
0
),
XEXP
(
x
,
1
),
NULL
);
}
/* Return comparison with reversed code of EXP and operands OP0 and OP1.
Return NULL_RTX in case we fail to do the reversal. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment