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
8e08106d
Commit
8e08106d
authored
Jun 16, 1997
by
Michael Meissner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use REG_SET macros
From-SVN: r14250
parent
119f2738
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
12 additions
and
27 deletions
+12
-27
gcc/caller-save.c
+1
-2
gcc/combine.c
+4
-8
gcc/local-alloc.c
+3
-11
gcc/reload1.c
+2
-3
gcc/sched.c
+2
-3
No files found.
gcc/caller-save.c
View file @
8e08106d
...
...
@@ -357,8 +357,7 @@ save_call_clobbered_regs (insn_mode)
{
regset
regs_live
=
basic_block_live_at_start
[
b
];
rtx
prev_block_last
=
PREV_INSN
(
basic_block_head
[
b
]);
REGSET_ELT_TYPE
bit
;
int
offset
,
i
,
j
;
int
i
,
j
;
int
regno
;
/* Compute hard regs live at start of block -- this is the
...
...
gcc/combine.c
View file @
8e08106d
...
...
@@ -740,8 +740,7 @@ set_nonzero_bits_and_sign_copies (x, set)
&&
REGNO
(
x
)
>=
FIRST_PSEUDO_REGISTER
/* If this register is undefined at the start of the file, we can't
say what its contents were. */
&&
!
(
basic_block_live_at_start
[
0
][
REGNO
(
x
)
/
REGSET_ELT_BITS
]
&
((
REGSET_ELT_TYPE
)
1
<<
(
REGNO
(
x
)
%
REGSET_ELT_BITS
)))
&&
!
REGNO_REG_SET_P
(
basic_block_live_at_start
[
0
],
REGNO
(
x
))
&&
GET_MODE_BITSIZE
(
GET_MODE
(
x
))
<=
HOST_BITS_PER_WIDE_INT
)
{
if
(
set
==
0
||
GET_CODE
(
set
)
==
CLOBBER
)
...
...
@@ -2367,8 +2366,7 @@ try_combine (i3, i2, i1)
regno
=
REGNO
(
i2dest
);
REG_N_SETS
(
regno
)
--
;
if
(
REG_N_SETS
(
regno
)
==
0
&&
!
(
basic_block_live_at_start
[
0
][
regno
/
REGSET_ELT_BITS
]
&
((
REGSET_ELT_TYPE
)
1
<<
(
regno
%
REGSET_ELT_BITS
))))
&&
!
REGNO_REG_SET_P
(
basic_block_live_at_start
[
0
],
regno
))
REG_N_REFS
(
regno
)
=
0
;
}
}
...
...
@@ -2390,8 +2388,7 @@ try_combine (i3, i2, i1)
{
REG_N_SETS
(
regno
)
--
;
if
(
REG_N_SETS
(
regno
)
==
0
&&
!
(
basic_block_live_at_start
[
0
][
regno
/
REGSET_ELT_BITS
]
&
((
REGSET_ELT_TYPE
)
1
<<
(
regno
%
REGSET_ELT_BITS
))))
&&
!
REGNO_REG_SET_P
(
basic_block_live_at_start
[
0
],
regno
))
REG_N_REFS
(
regno
)
=
0
;
}
}
...
...
@@ -10626,8 +10623,7 @@ reg_dead_at_p (reg, insn)
}
for
(
i
=
reg_dead_regno
;
i
<
reg_dead_endregno
;
i
++
)
if
(
basic_block_live_at_start
[
block
][
i
/
REGSET_ELT_BITS
]
&
((
REGSET_ELT_TYPE
)
1
<<
(
i
%
REGSET_ELT_BITS
)))
if
(
REGNO_REG_SET_P
(
basic_block_live_at_start
[
block
],
i
))
return
0
;
return
1
;
...
...
gcc/local-alloc.c
View file @
8e08106d
...
...
@@ -1181,8 +1181,7 @@ update_equiv_regs ()
&&
GET_CODE
(
insn
)
==
INSN
&&
REG_BASIC_BLOCK
(
regno
)
<
0
)
{
int
l
,
offset
;
REGSET_ELT_TYPE
bit
;
int
l
;
emit_insn_before
(
copy_rtx
(
PATTERN
(
equiv_insn
)),
insn
);
REG_NOTES
(
PREV_INSN
(
insn
))
=
REG_NOTES
(
equiv_insn
);
...
...
@@ -1202,11 +1201,8 @@ update_equiv_regs ()
if
(
block
>=
0
&&
insn
==
basic_block_head
[
block
])
basic_block_head
[
block
]
=
PREV_INSN
(
insn
);
offset
=
regno
/
REGSET_ELT_BITS
;
bit
=
((
REGSET_ELT_TYPE
)
1
<<
(
regno
%
REGSET_ELT_BITS
));
for
(
l
=
0
;
l
<
n_basic_blocks
;
l
++
)
basic_block_live_at_start
[
l
][
offset
]
&=
~
bit
;
CLEAR_REGNO_REG_SET
(
basic_block_live_at_start
[
l
],
regno
)
;
}
}
}
...
...
@@ -1253,11 +1249,7 @@ block_alloc (b)
/* Initialize table of hardware registers currently live. */
#ifdef HARD_REG_SET
regs_live
=
*
basic_block_live_at_start
[
b
];
#else
COPY_HARD_REG_SET
(
regs_live
,
basic_block_live_at_start
[
b
]);
#endif
REG_SET_TO_HARD_REG_SET
(
regs_live
,
basic_block_live_at_start
[
b
]);
/* This loop scans the instructions of the basic block
and assigns quantities to registers.
...
...
gcc/reload1.c
View file @
8e08106d
...
...
@@ -2092,9 +2092,8 @@ reload (first, global, dumpfile)
if
(
!
frame_pointer_needed
)
for
(
i
=
0
;
i
<
n_basic_blocks
;
i
++
)
basic_block_live_at_start
[
i
][
HARD_FRAME_POINTER_REGNUM
/
REGSET_ELT_BITS
]
&=
~
((
REGSET_ELT_TYPE
)
1
<<
(
HARD_FRAME_POINTER_REGNUM
%
REGSET_ELT_BITS
));
CLEAR_REGNO_REG_SET
(
basic_block_live_at_start
[
i
],
HARD_FRAME_POINTER_REGNUM
);
/* Come here (with failure set nonzero) if we can't get enough spill regs
and we decide not to abort about it. */
...
...
gcc/sched.c
View file @
8e08106d
...
...
@@ -3436,9 +3436,8 @@ schedule_block (b, file)
if
(
reload_completed
==
0
)
{
bcopy
((
char
*
)
basic_block_live_at_start
[
b
],
(
char
*
)
bb_live_regs
,
regset_bytes
);
bzero
((
char
*
)
bb_dead_regs
,
regset_bytes
);
COPY_REG_SET
(
bb_live_regs
,
basic_block_live_at_start
[
b
]);
CLEAR_REG_SET
(
bb_dead_regs
);
if
(
b
==
0
)
{
...
...
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