From 4d1d804584e7b0795a7c355d3a9cafaa947f1071 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Sat, 28 Mar 1998 00:12:41 +0000 Subject: basic-block.h (basic_block_computed_jump_target): Declare. * basic-block.h (basic_block_computed_jump_target): Declare. * flags.h: (current_function_has_computed_jump): Declare. * flow.c: (basic_block_computed_jump_target): Define. (flow_analysis): Allocate it. Set current_function_has_computed_jump to 0. (find_basic_blocks): Set current_function_has_computed_jump and elements of basic_block_computed_jump_target to 1 as appropriate. * function.c: (current_function_has_computed_jump): Define. * global.c (global_conflicts): Don't allocate pseudos into stack regs at the start of a block that is reachable by a computed jump. * reg-stack.c (stack_reg_life_analysis): If must restart, do so immediately. (subst_stack_regs): Undo change from Sep 4 1997. (uses_reg_or_mem): Now unused, deleted. * stupid.c (stupid_life_analysis): Compute current_function_has_computed_jump. (stupid_find_reg): Don't allocate stack regs if the function has a computed goto. * haifa-sched.c (is_cfg_nonregular): Delete code to determine if the current function has a computed jump. Use the global value instead. Co-Authored-By: Jeffrey A Law From-SVN: r18860 --- gcc/function.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index 062e631..f69076f 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -126,6 +126,13 @@ int current_function_has_nonlocal_label; int current_function_has_nonlocal_goto; +/* Nonzero if this function has a computed goto. + + It is computed during find_basic_blocks or during stupid life + analysis. */ + +int current_function_has_computed_jump; + /* Nonzero if function being compiled contains nested functions. */ int current_function_contains_functions; -- cgit v1.1