mmix: support -fstack-usage
commite21a33c232038574c67cb2a9222c4d5fbe33f7d3
authorHans-Peter Nilsson <hp@bitrange.com>
Mon, 20 Jul 2020 23:15:36 +0000 (21 01:15 +0200)
committerHans-Peter Nilsson <hp@bitrange.com>
Mon, 20 Jul 2020 23:17:26 +0000 (21 01:17 +0200)
treeb01f7867bce03f8b7ad395543012a9a5166ad62e
parent932fbc868ad429167a3d4d5625aa9d6dc0b4506b
mmix: support -fstack-usage

MMIX has two stacks; the regular one using register $254 as a
convention and the register-stack, pushed and popped by call
instructions (usually).  The decision to only report the stack usage
of the regular stack (and not of the register stack) may be updated,
perhaps the sum is better.  This initial decision is helped a little
bit by the order of passes: the size of the register-stack is
calculated only later (in the machine-dependent reorg pass), long
after finalization of the stack-usage info (in the prologue/epilogue
pass).  No regressions for mmix-knuth-mmixware (but a whole lot more
PASSes), committed.

gcc:
* config/mmix/mmix.c (mmix_expand_prologue): Calculate the total
allocated size and set current_function_static_stack_size, if
flag_stack_usage_info.
gcc/config/mmix/mmix.c