From bbcb0c056be0883aa970eb5552bb713d516d9c1e Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Tue, 1 Feb 2005 10:03:15 +0000 Subject: re PR rtl-optimization/15242 (pessimization of "goto *") PR optimization/15242 * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param. * basic-block.h (duplicate_computed_gotos): Add prototype. * bb-reorder.c (duplicate_computed_gotos): New function to duplicate sufficiently small blocks ending in a computed jump. * passes.c (rest_of_compilation): Call duplicate_computed_gotos if not optimizing for size. * cfgcleanup.c (try_crossjump_bb): If not optimizing for size, never do tail merging for blocks ending in a computed jump. * doc/invoke.texi: Document the max-goto-duplication-insns param. From-SVN: r94531 --- gcc/basic-block.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/basic-block.h') diff --git a/gcc/basic-block.h b/gcc/basic-block.h index e742c92..47cd99d 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -812,6 +812,7 @@ extern bool control_flow_insn_p (rtx); /* In bb-reorder.c */ extern void reorder_basic_blocks (unsigned int); +extern void duplicate_computed_gotos (void); extern void partition_hot_cold_basic_blocks (void); /* In cfg.c */ -- cgit v1.1