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
2e1ec94f
Commit
2e1ec94f
authored
Jul 08, 2010
by
Ramana Radhakrishnan
Committed by
Ramana Radhakrishnan
Jul 08, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix PR44768
From-SVN: r161947
parent
a03a9774
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
19 additions
and
6 deletions
+19
-6
gcc/ChangeLog
+9
-0
gcc/cfgexpand.c
+8
-4
gcc/ipa-inline.c
+1
-1
gcc/tree-inline.h
+1
-1
No files found.
gcc/ChangeLog
View file @
2e1ec94f
2010-07-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR bootstrap/44768
* cfgexpand.c (estimated_stack_frame_size): Make self-contained
with respect to current_function_decl. Pass decl of the function.
* tree-inline.h (estimated_stack_frame_size): Adjust prototype.
* ipa-inline.c (compute_inline_parameters): Pass decl to
estimated_stack_frame_size.
2010-07-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
...
...
gcc/cfgexpand.c
View file @
2e1ec94f
...
...
@@ -1252,8 +1252,8 @@ fini_vars_expansion (void)
stack_vars_alloc
=
stack_vars_num
=
0
;
}
/* Make a fair guess for the size of the stack frame of the
current
function
. This doesn't have to be exact, the result is only used
/* Make a fair guess for the size of the stack frame of the
decl
passed
. This doesn't have to be exact, the result is only used
in the inline heuristics. So we don't want to run the full stack
var packing algorithm (which is quadratic in the number of stack
vars). Instead, we calculate the total size of all stack vars.
...
...
@@ -1261,12 +1261,15 @@ fini_vars_expansion (void)
vars doesn't happen very often. */
HOST_WIDE_INT
estimated_stack_frame_size
(
void
)
estimated_stack_frame_size
(
tree
decl
)
{
HOST_WIDE_INT
size
=
0
;
size_t
i
;
tree
var
,
outer_block
=
DECL_INITIAL
(
current_function_decl
);
unsigned
ix
;
tree
old_cur_fun_decl
=
current_function_decl
;
current_function_decl
=
decl
;
push_cfun
(
DECL_STRUCT_FUNCTION
(
decl
));
init_vars_expansion
();
...
...
@@ -1287,7 +1290,8 @@ estimated_stack_frame_size (void)
size
+=
account_stack_vars
();
fini_vars_expansion
();
}
pop_cfun
();
current_function_decl
=
old_cur_fun_decl
;
return
size
;
}
...
...
gcc/ipa-inline.c
View file @
2e1ec94f
...
...
@@ -2019,7 +2019,7 @@ compute_inline_parameters (struct cgraph_node *node)
/* Estimate the stack size for the function. But not at -O0
because estimated_stack_frame_size is a quadratic problem. */
self_stack_size
=
optimize
?
estimated_stack_frame_size
()
:
0
;
self_stack_size
=
optimize
?
estimated_stack_frame_size
(
node
->
decl
)
:
0
;
inline_summary
(
node
)
->
estimated_self_stack_size
=
self_stack_size
;
node
->
global
.
estimated_stack_size
=
self_stack_size
;
node
->
global
.
stack_frame_offset
=
0
;
...
...
gcc/tree-inline.h
View file @
2e1ec94f
...
...
@@ -185,6 +185,6 @@ extern tree remap_decl (tree decl, copy_body_data *id);
extern
tree
remap_type
(
tree
type
,
copy_body_data
*
id
);
extern
gimple_seq
copy_gimple_seq_and_replace_locals
(
gimple_seq
seq
);
extern
HOST_WIDE_INT
estimated_stack_frame_size
(
void
);
extern
HOST_WIDE_INT
estimated_stack_frame_size
(
tree
);
#endif
/* GCC_TREE_INLINE_H */
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