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
68252e27
Commit
68252e27
authored
May 05, 2002
by
Kazu Hirata
Committed by
Kazu Hirata
May 05, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cse.c: Fix formatting.
* cse.c: Fix formatting. * emit-rtl.c: Likewise. From-SVN: r53191
parent
b7c13625
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
49 deletions
+57
-49
gcc/ChangeLog
+5
-0
gcc/cse.c
+19
-17
gcc/emit-rtl.c
+33
-32
No files found.
gcc/ChangeLog
View file @
68252e27
2002-05-05 Kazu Hirata <kazu@cs.umass.edu>
* cse.c: Fix formatting.
* emit-rtl.c: Likewise.
2002-05-05 Vladimir Makarov <vmakarov@redhat.com>
2002-05-05 Vladimir Makarov <vmakarov@redhat.com>
* genautomata.c (initiate_states): Add additional guard to
* genautomata.c (initiate_states): Add additional guard to
...
...
gcc/cse.c
View file @
68252e27
...
@@ -742,7 +742,7 @@ approx_reg_cost (x)
...
@@ -742,7 +742,7 @@ approx_reg_cost (x)
int
hardregs
=
0
;
int
hardregs
=
0
;
INIT_REG_SET
(
&
set
);
INIT_REG_SET
(
&
set
);
for_each_rtx
(
&
x
,
approx_reg_cost_1
,
(
void
*
)
&
set
);
for_each_rtx
(
&
x
,
approx_reg_cost_1
,
(
void
*
)
&
set
);
EXECUTE_IF_SET_IN_REG_SET
EXECUTE_IF_SET_IN_REG_SET
(
&
set
,
0
,
i
,
(
&
set
,
0
,
i
,
...
@@ -1990,7 +1990,7 @@ remove_invalid_refs (regno)
...
@@ -1990,7 +1990,7 @@ remove_invalid_refs (regno)
{
{
next
=
p
->
next_same_hash
;
next
=
p
->
next_same_hash
;
if
(
GET_CODE
(
p
->
exp
)
!=
REG
if
(
GET_CODE
(
p
->
exp
)
!=
REG
&&
refers_to_regno_p
(
regno
,
regno
+
1
,
p
->
exp
,
(
rtx
*
)
0
))
&&
refers_to_regno_p
(
regno
,
regno
+
1
,
p
->
exp
,
(
rtx
*
)
0
))
remove_from_table
(
p
,
i
);
remove_from_table
(
p
,
i
);
}
}
}
}
...
@@ -2020,7 +2020,7 @@ remove_invalid_subreg_refs (regno, offset, mode)
...
@@ -2020,7 +2020,7 @@ remove_invalid_subreg_refs (regno, offset, mode)
||
(((
SUBREG_BYTE
(
exp
)
||
(((
SUBREG_BYTE
(
exp
)
+
(
GET_MODE_SIZE
(
GET_MODE
(
exp
))
-
1
))
>=
offset
)
+
(
GET_MODE_SIZE
(
GET_MODE
(
exp
))
-
1
))
>=
offset
)
&&
SUBREG_BYTE
(
exp
)
<=
end
))
&&
SUBREG_BYTE
(
exp
)
<=
end
))
&&
refers_to_regno_p
(
regno
,
regno
+
1
,
p
->
exp
,
(
rtx
*
)
0
))
&&
refers_to_regno_p
(
regno
,
regno
+
1
,
p
->
exp
,
(
rtx
*
)
0
))
remove_from_table
(
p
,
i
);
remove_from_table
(
p
,
i
);
}
}
}
}
...
@@ -2212,8 +2212,8 @@ canon_hash_string (ps)
...
@@ -2212,8 +2212,8 @@ canon_hash_string (ps)
const
char
*
ps
;
const
char
*
ps
;
{
{
unsigned
hash
=
0
;
unsigned
hash
=
0
;
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
ps
;
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
ps
;
if
(
p
)
if
(
p
)
while
(
*
p
)
while
(
*
p
)
hash
+=
*
p
++
;
hash
+=
*
p
++
;
...
@@ -2264,7 +2264,7 @@ canon_hash (x, mode)
...
@@ -2264,7 +2264,7 @@ canon_hash (x, mode)
failure to do so leads to failure to simplify 0<100 type of
failure to do so leads to failure to simplify 0<100 type of
conditionals.
conditionals.
On all machines, we can't record any global registers.
On all machines, we can't record any global registers.
Nor should we record any register that is in a small
Nor should we record any register that is in a small
class, as defined by CLASS_LIKELY_SPILLED_P. */
class, as defined by CLASS_LIKELY_SPILLED_P. */
...
@@ -2375,7 +2375,7 @@ canon_hash (x, mode)
...
@@ -2375,7 +2375,7 @@ canon_hash (x, mode)
if
(
GET_CODE
(
XEXP
(
x
,
0
))
==
MEM
if
(
GET_CODE
(
XEXP
(
x
,
0
))
==
MEM
&&
!
MEM_VOLATILE_P
(
XEXP
(
x
,
0
)))
&&
!
MEM_VOLATILE_P
(
XEXP
(
x
,
0
)))
{
{
hash
+=
(
unsigned
)
USE
;
hash
+=
(
unsigned
)
USE
;
x
=
XEXP
(
x
,
0
);
x
=
XEXP
(
x
,
0
);
if
(
!
RTX_UNCHANGING_P
(
x
)
||
FIXED_BASE_PLUS_P
(
XEXP
(
x
,
0
)))
if
(
!
RTX_UNCHANGING_P
(
x
)
||
FIXED_BASE_PLUS_P
(
XEXP
(
x
,
0
)))
...
@@ -3237,7 +3237,7 @@ find_comparison_args (code, parg1, parg2, pmode1, pmode2)
...
@@ -3237,7 +3237,7 @@ find_comparison_args (code, parg1, parg2, pmode1, pmode2)
#ifdef FLOAT_STORE_FLAG_VALUE
#ifdef FLOAT_STORE_FLAG_VALUE
||
(
code
==
GE
||
(
code
==
GE
&&
GET_MODE_CLASS
(
inner_mode
)
==
MODE_FLOAT
&&
GET_MODE_CLASS
(
inner_mode
)
==
MODE_FLOAT
&&
(
REAL_VALUE_NEGATIVE
&&
(
REAL_VALUE_NEGATIVE
(
FLOAT_STORE_FLAG_VALUE
(
GET_MODE
(
arg1
)))))
(
FLOAT_STORE_FLAG_VALUE
(
GET_MODE
(
arg1
)))))
#endif
#endif
)
)
...
@@ -3270,7 +3270,8 @@ find_comparison_args (code, parg1, parg2, pmode1, pmode2)
...
@@ -3270,7 +3270,8 @@ find_comparison_args (code, parg1, parg2, pmode1, pmode2)
enum
rtx_code
reversed
=
reversed_comparison_code
(
x
,
NULL_RTX
);
enum
rtx_code
reversed
=
reversed_comparison_code
(
x
,
NULL_RTX
);
if
(
reversed
==
UNKNOWN
)
if
(
reversed
==
UNKNOWN
)
break
;
break
;
else
code
=
reversed
;
else
code
=
reversed
;
}
}
else
if
(
GET_RTX_CLASS
(
GET_CODE
(
x
))
==
'<'
)
else
if
(
GET_RTX_CLASS
(
GET_CODE
(
x
))
==
'<'
)
code
=
GET_CODE
(
x
);
code
=
GET_CODE
(
x
);
...
@@ -3808,7 +3809,7 @@ fold_rtx (x, insn)
...
@@ -3808,7 +3809,7 @@ fold_rtx (x, insn)
replacements
[
0
]
=
cheap_arg
;
replacements
[
0
]
=
cheap_arg
;
replacements
[
1
]
=
expensive_arg
;
replacements
[
1
]
=
expensive_arg
;
for
(
j
=
0
;
j
<
2
&&
replacements
[
j
];
j
++
)
for
(
j
=
0
;
j
<
2
&&
replacements
[
j
];
j
++
)
{
{
int
old_cost
=
COST_IN
(
XEXP
(
x
,
i
),
code
);
int
old_cost
=
COST_IN
(
XEXP
(
x
,
i
),
code
);
int
new_cost
=
COST_IN
(
replacements
[
j
],
code
);
int
new_cost
=
COST_IN
(
replacements
[
j
],
code
);
...
@@ -3926,7 +3927,7 @@ fold_rtx (x, insn)
...
@@ -3926,7 +3927,7 @@ fold_rtx (x, insn)
if
(
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
)
if
(
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
)
{
{
true_rtx
=
(
CONST_DOUBLE_FROM_REAL_VALUE
true_rtx
=
(
CONST_DOUBLE_FROM_REAL_VALUE
(
FLOAT_STORE_FLAG_VALUE
(
mode
),
mode
));
(
FLOAT_STORE_FLAG_VALUE
(
mode
),
mode
));
false_rtx
=
CONST0_RTX
(
mode
);
false_rtx
=
CONST0_RTX
(
mode
);
}
}
#endif
#endif
...
@@ -5469,13 +5470,13 @@ cse_insn (insn, libcall_insn)
...
@@ -5469,13 +5470,13 @@ cse_insn (insn, libcall_insn)
continue
;
continue
;
}
}
if
(
elt
)
if
(
elt
)
{
{
src_elt_cost
=
elt
->
cost
;
src_elt_cost
=
elt
->
cost
;
src_elt_regcost
=
elt
->
regcost
;
src_elt_regcost
=
elt
->
regcost
;
}
}
/* Find cheapest and skip it for the next time. For items
/* Find cheapest and skip it for the next time. For items
of equal cost, use this order:
of equal cost, use this order:
src_folded, src, src_eqv, src_related and hash table entry. */
src_folded, src, src_eqv, src_related and hash table entry. */
if
(
src_folded
if
(
src_folded
...
@@ -5509,7 +5510,7 @@ cse_insn (insn, libcall_insn)
...
@@ -5509,7 +5510,7 @@ cse_insn (insn, libcall_insn)
else
if
(
src_related
else
if
(
src_related
&&
preferrable
(
src_related_cost
,
src_related_regcost
,
&&
preferrable
(
src_related_cost
,
src_related_regcost
,
src_elt_cost
,
src_elt_regcost
)
<=
0
)
src_elt_cost
,
src_elt_regcost
)
<=
0
)
trial
=
copy_rtx
(
src_related
),
src_related_cost
=
MAX_COST
;
trial
=
copy_rtx
(
src_related
),
src_related_cost
=
MAX_COST
;
else
else
{
{
trial
=
copy_rtx
(
elt
->
exp
);
trial
=
copy_rtx
(
elt
->
exp
);
...
@@ -5674,7 +5675,7 @@ cse_insn (insn, libcall_insn)
...
@@ -5674,7 +5675,7 @@ cse_insn (insn, libcall_insn)
a new one if one does not already exist. */
a new one if one does not already exist. */
set_unique_reg_note
(
insn
,
REG_EQUAL
,
src_const
);
set_unique_reg_note
(
insn
,
REG_EQUAL
,
src_const
);
/* If storing a constant value in a register that
/* If storing a constant value in a register that
previously held the constant value 0,
previously held the constant value 0,
record this fact with a REG_WAS_0 note on this insn.
record this fact with a REG_WAS_0 note on this insn.
...
@@ -7367,7 +7368,7 @@ cse_basic_block (from, to, next_branch, around_loop)
...
@@ -7367,7 +7368,7 @@ cse_basic_block (from, to, next_branch, around_loop)
we can cse into the loop. Don't do this if we changed the jump
we can cse into the loop. Don't do this if we changed the jump
structure of a loop unless we aren't going to be following jumps. */
structure of a loop unless we aren't going to be following jumps. */
insn
=
prev_nonnote_insn
(
to
);
insn
=
prev_nonnote_insn
(
to
);
if
((
cse_jumps_altered
==
0
if
((
cse_jumps_altered
==
0
||
(
flag_cse_follow_jumps
==
0
&&
flag_cse_skip_blocks
==
0
))
||
(
flag_cse_follow_jumps
==
0
&&
flag_cse_skip_blocks
==
0
))
&&
around_loop
&&
to
!=
0
&&
around_loop
&&
to
!=
0
...
@@ -7674,7 +7675,8 @@ delete_trivially_dead_insns (insns, nreg)
...
@@ -7674,7 +7675,8 @@ delete_trivially_dead_insns (insns, nreg)
dead_libcall
=
0
;
dead_libcall
=
0
;
}
}
}
}
}
while
(
ndead
!=
nlastdead
);
}
while
(
ndead
!=
nlastdead
);
if
(
rtl_dump_file
&&
ndead
)
if
(
rtl_dump_file
&&
ndead
)
fprintf
(
rtl_dump_file
,
"Deleted %i trivially dead insns; %i iterations
\n
"
,
fprintf
(
rtl_dump_file
,
"Deleted %i trivially dead insns; %i iterations
\n
"
,
...
...
gcc/emit-rtl.c
View file @
68252e27
...
@@ -422,7 +422,7 @@ gen_rtx_REG (mode, regno)
...
@@ -422,7 +422,7 @@ gen_rtx_REG (mode, regno)
#endif
#endif
if
(
regno
==
PIC_OFFSET_TABLE_REGNUM
if
(
regno
==
PIC_OFFSET_TABLE_REGNUM
&&
fixed_regs
[
PIC_OFFSET_TABLE_REGNUM
])
&&
fixed_regs
[
PIC_OFFSET_TABLE_REGNUM
])
return
pic_offset_table_rtx
;
return
pic_offset_table_rtx
;
if
(
regno
==
STACK_POINTER_REGNUM
)
if
(
regno
==
STACK_POINTER_REGNUM
)
return
stack_pointer_rtx
;
return
stack_pointer_rtx
;
}
}
...
@@ -532,7 +532,7 @@ gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
...
@@ -532,7 +532,7 @@ gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
HOST_WIDE_INT
arg0
=
va_arg
(
p
,
HOST_WIDE_INT
);
HOST_WIDE_INT
arg0
=
va_arg
(
p
,
HOST_WIDE_INT
);
HOST_WIDE_INT
arg1
=
va_arg
(
p
,
HOST_WIDE_INT
);
HOST_WIDE_INT
arg1
=
va_arg
(
p
,
HOST_WIDE_INT
);
rt_val
=
gen_rtx_CONST_DOUBLE
(
mode
,
arg0
,
arg1
);
rt_val
=
gen_rtx_CONST_DOUBLE
(
mode
,
arg0
,
arg1
);
}
}
break
;
break
;
...
@@ -905,14 +905,14 @@ gen_lowpart_common (mode, x)
...
@@ -905,14 +905,14 @@ gen_lowpart_common (mode, x)
else
if
(
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
else
if
(
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
&&
GET_MODE_BITSIZE
(
mode
)
==
32
&&
GET_MODE_BITSIZE
(
mode
)
==
32
&&
GET_CODE
(
x
)
==
CONST_INT
)
&&
GET_CODE
(
x
)
==
CONST_INT
)
{
{
REAL_VALUE_TYPE
r
;
REAL_VALUE_TYPE
r
;
HOST_WIDE_INT
i
;
HOST_WIDE_INT
i
;
i
=
INTVAL
(
x
);
i
=
INTVAL
(
x
);
r
=
REAL_VALUE_FROM_TARGET_SINGLE
(
i
);
r
=
REAL_VALUE_FROM_TARGET_SINGLE
(
i
);
return
CONST_DOUBLE_FROM_REAL_VALUE
(
r
,
mode
);
return
CONST_DOUBLE_FROM_REAL_VALUE
(
r
,
mode
);
}
}
else
if
(
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
else
if
(
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
&&
GET_MODE_BITSIZE
(
mode
)
==
64
&&
GET_MODE_BITSIZE
(
mode
)
==
64
&&
(
GET_CODE
(
x
)
==
CONST_INT
||
GET_CODE
(
x
)
==
CONST_DOUBLE
)
&&
(
GET_CODE
(
x
)
==
CONST_INT
||
GET_CODE
(
x
)
==
CONST_DOUBLE
)
...
@@ -962,16 +962,16 @@ gen_lowpart_common (mode, x)
...
@@ -962,16 +962,16 @@ gen_lowpart_common (mode, x)
switch
(
GET_MODE_BITSIZE
(
GET_MODE
(
x
)))
switch
(
GET_MODE_BITSIZE
(
GET_MODE
(
x
)))
{
{
case
32
:
case
32
:
REAL_VALUE_TO_TARGET_SINGLE
(
r
,
i
[
3
*
endian
]);
REAL_VALUE_TO_TARGET_SINGLE
(
r
,
i
[
3
*
endian
]);
i
[
1
]
=
0
;
i
[
1
]
=
0
;
i
[
2
]
=
0
;
i
[
2
]
=
0
;
i
[
3
-
3
*
endian
]
=
0
;
i
[
3
-
3
*
endian
]
=
0
;
break
;
break
;
case
64
:
case
64
:
REAL_VALUE_TO_TARGET_DOUBLE
(
r
,
i
+
2
*
endian
);
REAL_VALUE_TO_TARGET_DOUBLE
(
r
,
i
+
2
*
endian
);
i
[
2
-
2
*
endian
]
=
0
;
i
[
2
-
2
*
endian
]
=
0
;
i
[
3
-
2
*
endian
]
=
0
;
i
[
3
-
2
*
endian
]
=
0
;
break
;
break
;
case
96
:
case
96
:
REAL_VALUE_TO_TARGET_LONG_DOUBLE
(
r
,
i
+
endian
);
REAL_VALUE_TO_TARGET_LONG_DOUBLE
(
r
,
i
+
endian
);
i
[
3
-
3
*
endian
]
=
0
;
i
[
3
-
3
*
endian
]
=
0
;
...
@@ -1139,8 +1139,8 @@ gen_highpart (mode, x)
...
@@ -1139,8 +1139,8 @@ gen_highpart (mode, x)
be VOIDmode constant. */
be VOIDmode constant. */
rtx
rtx
gen_highpart_mode
(
outermode
,
innermode
,
exp
)
gen_highpart_mode
(
outermode
,
innermode
,
exp
)
enum
machine_mode
outermode
,
innermode
;
enum
machine_mode
outermode
,
innermode
;
rtx
exp
;
rtx
exp
;
{
{
if
(
GET_MODE
(
exp
)
!=
VOIDmode
)
if
(
GET_MODE
(
exp
)
!=
VOIDmode
)
{
{
...
@@ -1151,6 +1151,7 @@ gen_highpart_mode (outermode, innermode, exp)
...
@@ -1151,6 +1151,7 @@ gen_highpart_mode (outermode, innermode, exp)
return
simplify_gen_subreg
(
outermode
,
exp
,
innermode
,
return
simplify_gen_subreg
(
outermode
,
exp
,
innermode
,
subreg_highpart_offset
(
outermode
,
innermode
));
subreg_highpart_offset
(
outermode
,
innermode
));
}
}
/* Return offset in bytes to get OUTERMODE low part
/* Return offset in bytes to get OUTERMODE low part
of the value in mode INNERMODE stored in memory in target format. */
of the value in mode INNERMODE stored in memory in target format. */
...
@@ -1182,7 +1183,7 @@ subreg_highpart_offset (outermode, innermode)
...
@@ -1182,7 +1183,7 @@ subreg_highpart_offset (outermode, innermode)
int
difference
=
(
GET_MODE_SIZE
(
innermode
)
-
GET_MODE_SIZE
(
outermode
));
int
difference
=
(
GET_MODE_SIZE
(
innermode
)
-
GET_MODE_SIZE
(
outermode
));
if
(
GET_MODE_SIZE
(
innermode
)
<
GET_MODE_SIZE
(
outermode
))
if
(
GET_MODE_SIZE
(
innermode
)
<
GET_MODE_SIZE
(
outermode
))
abort
();
abort
();
if
(
difference
>
0
)
if
(
difference
>
0
)
{
{
...
@@ -1530,10 +1531,10 @@ component_ref_for_mem_expr (ref)
...
@@ -1530,10 +1531,10 @@ component_ref_for_mem_expr (ref)
||
TREE_CODE
(
inner
)
==
VIEW_CONVERT_EXPR
||
TREE_CODE
(
inner
)
==
VIEW_CONVERT_EXPR
||
TREE_CODE
(
inner
)
==
SAVE_EXPR
||
TREE_CODE
(
inner
)
==
SAVE_EXPR
||
TREE_CODE
(
inner
)
==
PLACEHOLDER_EXPR
)
||
TREE_CODE
(
inner
)
==
PLACEHOLDER_EXPR
)
if
(
TREE_CODE
(
inner
)
==
PLACEHOLDER_EXPR
)
if
(
TREE_CODE
(
inner
)
==
PLACEHOLDER_EXPR
)
inner
=
find_placeholder
(
inner
,
&
placeholder_ptr
);
inner
=
find_placeholder
(
inner
,
&
placeholder_ptr
);
else
else
inner
=
TREE_OPERAND
(
inner
,
0
);
inner
=
TREE_OPERAND
(
inner
,
0
);
if
(
!
DECL_P
(
inner
))
if
(
!
DECL_P
(
inner
))
inner
=
NULL_TREE
;
inner
=
NULL_TREE
;
...
@@ -1632,7 +1633,7 @@ set_mem_attributes (ref, t, objectp)
...
@@ -1632,7 +1633,7 @@ set_mem_attributes (ref, t, objectp)
size
=
(
DECL_SIZE_UNIT
(
t
)
size
=
(
DECL_SIZE_UNIT
(
t
)
&&
host_integerp
(
DECL_SIZE_UNIT
(
t
),
1
)
&&
host_integerp
(
DECL_SIZE_UNIT
(
t
),
1
)
?
GEN_INT
(
tree_low_cst
(
DECL_SIZE_UNIT
(
t
),
1
))
:
0
);
?
GEN_INT
(
tree_low_cst
(
DECL_SIZE_UNIT
(
t
),
1
))
:
0
);
align
=
DECL_ALIGN
(
t
);
align
=
DECL_ALIGN
(
t
);
}
}
/* If this is a constant, we know the alignment. */
/* If this is a constant, we know the alignment. */
...
@@ -1708,7 +1709,7 @@ set_mem_alias_set (mem, set)
...
@@ -1708,7 +1709,7 @@ set_mem_alias_set (mem, set)
rtx
mem
;
rtx
mem
;
HOST_WIDE_INT
set
;
HOST_WIDE_INT
set
;
{
{
#ifdef ENABLE_CHECKING
#ifdef ENABLE_CHECKING
/* If the new and old alias sets don't conflict, something is wrong. */
/* If the new and old alias sets don't conflict, something is wrong. */
if
(
!
alias_sets_conflict_p
(
set
,
MEM_ALIAS_SET
(
mem
)))
if
(
!
alias_sets_conflict_p
(
set
,
MEM_ALIAS_SET
(
mem
)))
abort
();
abort
();
...
@@ -1915,7 +1916,7 @@ offset_address (memref, offset, pow2)
...
@@ -1915,7 +1916,7 @@ offset_address (memref, offset, pow2)
new
=
simplify_gen_binary
(
PLUS
,
Pmode
,
addr
,
offset
);
new
=
simplify_gen_binary
(
PLUS
,
Pmode
,
addr
,
offset
);
/* At this point we don't know _why_ the address is invalid. It
/* At this point we don't know _why_ the address is invalid. It
could have secondary memory refereces, multiplies or anything.
could have secondary memory refereces, multiplies or anything.
However, if we did go and rearrange things, we can wind up not
However, if we did go and rearrange things, we can wind up not
...
@@ -1942,7 +1943,7 @@ offset_address (memref, offset, pow2)
...
@@ -1942,7 +1943,7 @@ offset_address (memref, offset, pow2)
GET_MODE
(
new
));
GET_MODE
(
new
));
return
new
;
return
new
;
}
}
/* Return a memory reference like MEMREF, but with its address changed to
/* Return a memory reference like MEMREF, but with its address changed to
ADDR. The caller is asserting that the actual piece of memory pointed
ADDR. The caller is asserting that the actual piece of memory pointed
to is the same, just the form of the address is being changed, such as
to is the same, just the form of the address is being changed, such as
...
@@ -2916,8 +2917,8 @@ prev_cc0_setter (insn)
...
@@ -2916,8 +2917,8 @@ prev_cc0_setter (insn)
/* Increment the label uses for all labels present in rtx. */
/* Increment the label uses for all labels present in rtx. */
static
void
static
void
mark_label_nuses
(
x
)
mark_label_nuses
(
x
)
rtx
x
;
rtx
x
;
{
{
enum
rtx_code
code
;
enum
rtx_code
code
;
int
i
,
j
;
int
i
,
j
;
...
@@ -3027,7 +3028,7 @@ try_split (pat, trial, last)
...
@@ -3027,7 +3028,7 @@ try_split (pat, trial, last)
=
CALL_INSN_FUNCTION_USAGE
(
trial
);
=
CALL_INSN_FUNCTION_USAGE
(
trial
);
/* Copy notes, particularly those related to the CFG. */
/* Copy notes, particularly those related to the CFG. */
for
(
note
=
REG_NOTES
(
trial
);
note
;
note
=
XEXP
(
note
,
1
))
for
(
note
=
REG_NOTES
(
trial
);
note
;
note
=
XEXP
(
note
,
1
))
{
{
switch
(
REG_NOTE_KIND
(
note
))
switch
(
REG_NOTE_KIND
(
note
))
{
{
...
@@ -3081,7 +3082,7 @@ try_split (pat, trial, last)
...
@@ -3081,7 +3082,7 @@ try_split (pat, trial, last)
if
(
GET_CODE
(
trial
)
==
INSN
)
if
(
GET_CODE
(
trial
)
==
INSN
)
for
(
i
=
XVECLEN
(
seq
,
0
)
-
1
;
i
>=
0
;
i
--
)
for
(
i
=
XVECLEN
(
seq
,
0
)
-
1
;
i
>=
0
;
i
--
)
if
(
GET_CODE
(
XVECEXP
(
seq
,
0
,
i
))
==
INSN
)
if
(
GET_CODE
(
XVECEXP
(
seq
,
0
,
i
))
==
INSN
)
mark_label_nuses
(
PATTERN
(
XVECEXP
(
seq
,
0
,
i
)));
mark_label_nuses
(
PATTERN
(
XVECEXP
(
seq
,
0
,
i
)));
tem
=
emit_insn_after
(
seq
,
trial
);
tem
=
emit_insn_after
(
seq
,
trial
);
...
@@ -3256,7 +3257,7 @@ add_insn_after (insn, after)
...
@@ -3256,7 +3257,7 @@ add_insn_after (insn, after)
{
{
set_block_for_insn
(
insn
,
bb
);
set_block_for_insn
(
insn
,
bb
);
if
(
INSN_P
(
insn
))
if
(
INSN_P
(
insn
))
bb
->
flags
|=
BB_DIRTY
;
bb
->
flags
|=
BB_DIRTY
;
/* Should not happen as first in the BB is always
/* Should not happen as first in the BB is always
either NOTE or LABEL. */
either NOTE or LABEL. */
if
(
bb
->
end
==
after
if
(
bb
->
end
==
after
...
@@ -3325,7 +3326,7 @@ add_insn_before (insn, before)
...
@@ -3325,7 +3326,7 @@ add_insn_before (insn, before)
{
{
set_block_for_insn
(
insn
,
bb
);
set_block_for_insn
(
insn
,
bb
);
if
(
INSN_P
(
insn
))
if
(
INSN_P
(
insn
))
bb
->
flags
|=
BB_DIRTY
;
bb
->
flags
|=
BB_DIRTY
;
/* Should not happen as first in the BB is always
/* Should not happen as first in the BB is always
either NOTE or LABEl. */
either NOTE or LABEl. */
if
(
bb
->
head
==
insn
if
(
bb
->
head
==
insn
...
@@ -3404,7 +3405,7 @@ remove_insn (insn)
...
@@ -3404,7 +3405,7 @@ remove_insn (insn)
&&
(
bb
=
BLOCK_FOR_INSN
(
insn
)))
&&
(
bb
=
BLOCK_FOR_INSN
(
insn
)))
{
{
if
(
INSN_P
(
insn
))
if
(
INSN_P
(
insn
))
bb
->
flags
|=
BB_DIRTY
;
bb
->
flags
|=
BB_DIRTY
;
if
(
bb
->
head
==
insn
)
if
(
bb
->
head
==
insn
)
{
{
/* Never ever delete the basic block note without deleting whole
/* Never ever delete the basic block note without deleting whole
...
@@ -3483,7 +3484,7 @@ reorder_insns (from, to, after)
...
@@ -3483,7 +3484,7 @@ reorder_insns (from, to, after)
{
{
rtx
x
;
rtx
x
;
bb
->
flags
|=
BB_DIRTY
;
bb
->
flags
|=
BB_DIRTY
;
if
(
basic_block_for_insn
if
(
basic_block_for_insn
&&
((
unsigned
int
)
INSN_UID
(
from
)
&&
((
unsigned
int
)
INSN_UID
(
from
)
<
basic_block_for_insn
->
num_elements
)
<
basic_block_for_insn
->
num_elements
)
...
@@ -3614,7 +3615,7 @@ remove_unnecessary_notes ()
...
@@ -3614,7 +3615,7 @@ remove_unnecessary_notes ()
then there is no PC range in the generated code that will
then there is no PC range in the generated code that will
actually be in this block, so there's no point in
actually be in this block, so there's no point in
remembering the existence of the block. */
remembering the existence of the block. */
for
(
tmp
=
PREV_INSN
(
insn
);
tmp
;
tmp
=
PREV_INSN
(
tmp
))
for
(
tmp
=
PREV_INSN
(
insn
);
tmp
;
tmp
=
PREV_INSN
(
tmp
))
{
{
/* This block contains a real instruction. Note that we
/* This block contains a real instruction. Note that we
don't include labels; if the only thing in the block
don't include labels; if the only thing in the block
...
@@ -3913,7 +3914,7 @@ emit_line_note_after (file, line, after)
...
@@ -3913,7 +3914,7 @@ emit_line_note_after (file, line, after)
return
0
;
return
0
;
}
}
note
=
rtx_alloc
(
NOTE
);
note
=
rtx_alloc
(
NOTE
);
INSN_UID
(
note
)
=
cur_insn_uid
++
;
INSN_UID
(
note
)
=
cur_insn_uid
++
;
NOTE_SOURCE_FILE
(
note
)
=
file
;
NOTE_SOURCE_FILE
(
note
)
=
file
;
NOTE_LINE_NUMBER
(
note
)
=
line
;
NOTE_LINE_NUMBER
(
note
)
=
line
;
...
@@ -4431,7 +4432,7 @@ end_full_sequence (first, last)
...
@@ -4431,7 +4432,7 @@ end_full_sequence (first, last)
{
{
*
first
=
first_insn
;
*
first
=
first_insn
;
*
last
=
last_insn
;
*
last
=
last_insn
;
end_sequence
();
end_sequence
();
}
}
/* Return 1 if currently emitting into a sequence. */
/* Return 1 if currently emitting into a sequence. */
...
@@ -4929,7 +4930,7 @@ init_emit_once (line_numbers)
...
@@ -4929,7 +4930,7 @@ init_emit_once (line_numbers)
mode
=
GET_MODE_WIDER_MODE
(
mode
))
mode
=
GET_MODE_WIDER_MODE
(
mode
))
{
{
rtx
tem
=
rtx_alloc
(
CONST_DOUBLE
);
rtx
tem
=
rtx_alloc
(
CONST_DOUBLE
);
/* Can't use CONST_DOUBLE_FROM_REAL_VALUE here; that uses the
/* Can't use CONST_DOUBLE_FROM_REAL_VALUE here; that uses the
tables we're setting up right now. */
tables we're setting up right now. */
memcpy
(
&
CONST_DOUBLE_LOW
(
tem
),
r
,
sizeof
(
REAL_VALUE_TYPE
));
memcpy
(
&
CONST_DOUBLE_LOW
(
tem
),
r
,
sizeof
(
REAL_VALUE_TYPE
));
...
...
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