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
cfc3d13f
Commit
cfc3d13f
authored
Apr 21, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Finish installation of last change.
From-SVN: r7125
parent
8d092274
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
31 deletions
+60
-31
gcc/stmt.c
+60
-31
No files found.
gcc/stmt.c
View file @
cfc3d13f
...
...
@@ -179,37 +179,6 @@ typedef struct case_node *case_node_ptr;
/* This must be a signed type, and non-ANSI compilers lack signed char. */
static
short
*
cost_table
;
static
int
use_cost_table
;
static
int
estimate_case_costs
();
static
void
balance_case_nodes
();
static
void
emit_case_nodes
();
static
void
group_case_nodes
();
static
void
emit_jump_if_reachable
();
static
int
warn_if_unused_value
();
static
void
expand_goto_internal
();
static
void
bc_expand_goto_internal
();
static
int
expand_fixup
();
static
void
bc_expand_fixup
();
void
fixup_gotos
();
static
void
bc_fixup_gotos
();
void
free_temp_slots
();
static
void
expand_cleanups
();
static
void
expand_null_return_1
();
static
int
tail_recursion_args
();
static
void
do_jump_if_equal
();
int
bc_expand_exit_loop_if_false
();
void
bc_expand_start_cond
();
void
bc_expand_end_cond
();
void
bc_expand_start_else
();
void
bc_expand_end_bindings
();
void
bc_expand_start_case
();
void
bc_check_for_full_enumeration_handling
();
void
bc_expand_end_case
();
void
bc_expand_decl
();
extern
rtx
bc_allocate_local
();
extern
rtx
bc_allocate_variable_array
();
/* Stack of control and binding constructs we are currently inside.
...
...
@@ -482,6 +451,56 @@ struct label_chain
struct
label_chain
*
next
;
tree
label
;
};
static
void
expand_goto_internal
PROTO
((
tree
,
rtx
,
rtx
));
static
void
bc_expand_goto_internal
PROTO
((
enum
bytecode_opcode
,
struct
bc_label
*
,
tree
));
static
int
expand_fixup
PROTO
((
tree
,
rtx
,
rtx
));
static
void
bc_expand_fixup
PROTO
((
enum
bytecode_opcode
,
struct
bc_label
*
,
int
));
static
void
fixup_gotos
PROTO
((
struct
nesting
*
,
rtx
,
tree
,
rtx
,
int
));
static
void
bc_fixup_gotos
PROTO
((
struct
nesting
*
,
int
,
tree
,
rtx
,
int
));
static
int
warn_if_unused_value
PROTO
((
tree
));
static
void
bc_expand_start_cond
PROTO
((
tree
,
int
));
static
void
bc_expand_end_cond
PROTO
((
void
));
static
void
bc_expand_start_else
PROTO
((
void
));
static
void
bc_expand_end_loop
PROTO
((
void
));
static
void
bc_expand_end_bindings
PROTO
((
tree
,
int
,
int
));
static
void
bc_expand_decl
PROTO
((
tree
,
tree
));
static
void
bc_expand_variable_local_init
PROTO
((
tree
));
static
void
bc_expand_decl_init
PROTO
((
tree
));
static
void
expand_null_return_1
PROTO
((
rtx
,
int
));
static
int
tail_recursion_args
PROTO
((
tree
,
tree
));
static
void
expand_cleanups
PROTO
((
tree
,
tree
));
static
void
bc_expand_start_case
PROTO
((
struct
nesting
*
,
tree
,
tree
,
char
*
));
static
int
bc_pushcase
PROTO
((
tree
,
tree
));
static
void
bc_check_for_full_enumeration_handling
PROTO
((
tree
));
static
void
bc_expand_end_case
PROTO
((
tree
));
static
void
do_jump_if_equal
PROTO
((
rtx
,
rtx
,
rtx
,
int
));
static
int
estimate_case_costs
PROTO
((
case_node_ptr
));
static
void
group_case_nodes
PROTO
((
case_node_ptr
));
static
void
balance_case_nodes
PROTO
((
case_node_ptr
*
,
case_node_ptr
));
static
int
node_has_low_bound
PROTO
((
case_node_ptr
,
tree
));
static
int
node_has_high_bound
PROTO
((
case_node_ptr
,
tree
));
static
int
node_is_bounded
PROTO
((
case_node_ptr
,
tree
));
static
void
emit_jump_if_reachable
PROTO
((
rtx
));
static
void
emit_case_nodes
PROTO
((
rtx
,
case_node_ptr
,
rtx
,
tree
));
int
bc_expand_exit_loop_if_false
();
void
bc_expand_start_cond
();
void
bc_expand_end_cond
();
void
bc_expand_start_else
();
void
bc_expand_end_bindings
();
void
bc_expand_start_case
();
void
bc_check_for_full_enumeration_handling
();
void
bc_expand_end_case
();
void
bc_expand_decl
();
extern
rtx
bc_allocate_local
();
extern
rtx
bc_allocate_variable_array
();
void
init_stmt
()
...
...
@@ -841,6 +860,7 @@ expand_goto_internal (body, label, last_insn)
/* Generate a jump with OPCODE to the given bytecode LABEL which is
found within BODY. */
static
void
bc_expand_goto_internal
(
opcode
,
label
,
body
)
enum
bytecode_opcode
opcode
;
...
...
@@ -1070,7 +1090,16 @@ bc_expand_fixup (opcode, label, stack_level)
fputc
(
'\n'
,
stderr
);
#endif
}
/* Expand any needed fixups in the outputmost binding level of the
function. FIRST_INSN is the first insn in the function. */
void
expand_fixups
(
first_insn
)
rtx
first_insn
;
{
fixup_gotos
(
NULL_PTR
,
NULL_RTX
,
NULL_TREE
,
first_insn
,
0
);
}
/* When exiting a binding contour, process all pending gotos requiring fixups.
THISBLOCK is the structure that describes the block being exited.
...
...
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