Skip to content

Commit 0dc5c5c

Browse files
Richard Hendersonstffrdhrn
Richard Henderson
authored andcommitted
or1k: Support -fstack-usage
1 parent 388cb6f commit 0dc5c5c

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

gcc/config/or1k/or1k.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116

117117
static struct
118118
{
119+
HOST_WIDE_INT static_size;
119120
HOST_WIDE_INT total_size;
120121
int save_size;
121122
unsigned int save_mask;
@@ -174,6 +175,8 @@ or1k_compute_frame_size ()
174175
vars_size = OR1K_ALIGN (vars_size, UNITS_PER_WORD);
175176
args_size = crtl->outgoing_args_size;
176177
total_size = vars_size + save_size + args_size;
178+
179+
frame_info.static_size = total_size;
177180
if (crtl->is_leaf && !cfun->calls_alloca)
178181
{
179182
if (total_size > or1k_redzone)
@@ -1354,6 +1357,9 @@ or1k_expand_prologue (void)
13541357
unsigned int save_mask = frame_info.save_mask;
13551358
rtx insn;
13561359

1360+
if (flag_stack_usage_info)
1361+
current_function_static_stack_size = frame_info.static_size;
1362+
13571363
if (total_size == 0 && save_mask == 0)
13581364
goto fini;
13591365

gcc/testsuite/gcc.dg/stack-usage-1.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@
9797
#define SIZE 252
9898
#elif defined (__M32R__)
9999
#define SIZE 252
100+
#elif defined (__OR1K__) || defined(__OR1KND__)
101+
#define SIZE 252
100102
#else
101103
# define SIZE 256
102104
#endif

0 commit comments

Comments
 (0)