Makefile.in: Update.

* Makefile.in: Update.
	* common.opt: New switches.
	* opts.c: Include diagnostic.h.
	(common_handle_option): Handle new switches.
	* toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
	flag_if_conversion2, flag_delete_null_pointer_checks,
	flag_rerun_cse_after_loop): Make extern.
	(flag_dummy): New.
	(f_options): Update to use flag_dummy for moved options.
	(decode_f_option): Some switches moved to opts.c.
	* toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
	flag_if_conversion2, flag_delete_null_pointer_checks,
	flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
	flag_tracer, flag_thread_jumps, flag_unroll_loops,
	flag_unroll_all_loops, flag_unswitch_loops): New.
f:
	* lang.opt: Add -fpreprocessed.
	* top.c (ffe_handle_option): Handle it.

From-SVN: r68315
This commit is contained in:
Neil Booth 2003-06-21 20:28:18 +00:00 committed by Neil Booth
parent 25abc0a5ef
commit de32c0cb3b
9 changed files with 520 additions and 88 deletions

View File

@ -1,3 +1,21 @@
2003-06-21 Neil Booth <neil@daikokuya.co.uk>
* Makefile.in: Update.
* common.opt: New switches.
* opts.c: Include diagnostic.h.
(common_handle_option): Handle new switches.
* toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
flag_if_conversion2, flag_delete_null_pointer_checks,
flag_rerun_cse_after_loop): Make extern.
(flag_dummy): New.
(f_options): Update to use flag_dummy for moved options.
(decode_f_option): Some switches moved to opts.c.
* toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
flag_if_conversion2, flag_delete_null_pointer_checks,
flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
flag_tracer, flag_thread_jumps, flag_unroll_loops,
flag_unroll_all_loops, flag_unswitch_loops): New.
Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_va_arg): Fix allocation of temporary slot.

View File

@ -1482,7 +1482,8 @@ diagnostic.o : diagnostic.c diagnostic.h real.h diagnostic.def \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(TM_P_H) flags.h $(GGC_H) \
input.h toplev.h intl.h langhooks.h $(LANGHOOKS_DEF_H)
opts.o : opts.c opts.h options.h toplev.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TREE_H) $(TM_H) $(LANGHOOKS_H) $(GGC_H) $(RTL_H) output.h
coretypes.h $(TREE_H) $(TM_H) $(LANGHOOKS_H) $(GGC_H) $(RTL_H) \
output.h diagnostic.h
toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
function.h flags.h xcoffout.h input.h $(INSN_ATTR_H) output.h diagnostic.h \
debug.h insn-config.h intl.h $(RECOG_H) Makefile toplev.h \

View File

@ -151,27 +151,198 @@ Common RejectNegative Joined UInteger
falign-loops=
Common RejectNegative Joined UInteger
fbranch-target-load-optimize
Common
fbranch-target-load-optimize2
Common
fcall-saved-
Common Joined RejectNegative
fcall-used-
Common Joined RejectNegative
fcaller-saves
Common
fcrossjumping
Common
fcse-follow-jumps
Common
fcse-skip-blocks
Common
fdefer-pop
Common
fdelayed-branch
Common
fdelete-null-pointer-checks
Common
fdiagnostics-show-location=
Common Joined RejectNegative
feliminate-dwarf2-dups
Common
feliminate-unused-debug-types
Common
fexpensive-optimizations
Common
ffast-math
Common
ffixed-
Common Joined RejectNegative
ffloat-store
Common
fforce-addr
Common
fforce-mem
Common
ffunction-cse
Common
fgcse
Common
fgcse-lm
Common
fgcse-sm
Common
fif-conversion
Common
fif-conversion2
Common
finline
Common
finline-functions
Common
fkeep-inline-functions
Common
fkeep-static-consts
Common
floop-optimize
Common
fmessage-length=
Common RejectNegative Joined UInteger
fmove-all-movables
Common
fold-unroll-loops
Common
fold-unroll-all-loops
Common
fomit-frame-pointer
Common
foptimize-sibling-calls
Common
fpcc-struct-return
Common
fpeel-loops
Common
fpeephole
Common
fprefetch-loop-arrays
Common
frandom-seed
Common
frandom-seed=
Common Joined RejectNegative
freduce-all-givs
Common
freg-struct-return
Common
frerun-cse-after-loop
Common
frerun-loop-opt
Common
fsched-verbose=
Common RejectNegative Joined
fschedule-insns
Common
fschedule-insns2
Common
fshared-data
Common
fstack-limit
Common
fstack-limit-register=
Common RejectNegative Joined
fstack-limit-symbol=
Common RejectNegative Joined
fstrength-reduce
Common
fsyntax-only
Common
fthread-jumps
Common
ftls-model=
Common Joined RejectNegative
ftracer
Common
funit-at-a-time
Common
funroll-loops
Common
funroll-all-loops
Common
funswitch-loops
Common
fwritable-strings
Common
g
Common JoinedOrMissing

View File

@ -1,3 +1,8 @@
Sat Jun 21 21:29:38 2003 Neil Booth <neil@daikokuya.co.uk>
* lang.opt: Add -fpreprocessed.
* top.c (ffe_handle_option): Handle it.
Fri Jun 20 10:00:31 2003 Nathan Sidwell <nathan@codesourcery.com>
* com.c (finish_function): Adjust expand_function_end call.

View File

@ -214,6 +214,9 @@ F77
fpedantic
F77
fpreprocessed
F77
fsecond-underscore
F77

View File

@ -573,6 +573,7 @@ ffe_handle_option (size_t scode, const char *arg, int value)
case OPT_Wcomments:
case OPT_Wimport:
case OPT_Wtrigraphs:
case OPT_fpreprocessed:
/* These are for cpp. */
break;

View File

@ -33,6 +33,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "flags.h"
#include "toplev.h"
#include "params.h"
#include "diagnostic.h"
/* Value of the -G xx switch, and whether it was passed or not. */
unsigned HOST_WIDE_INT g_switch_value;
@ -537,6 +538,14 @@ common_handle_option (size_t scode, const char *arg,
align_loops = value;
break;
case OPT_fbranch_target_load_optimize:
flag_branch_target_load_optimize = value;
break;
case OPT_fbranch_target_load_optimize2:
flag_branch_target_load_optimize2 = value;
break;
case OPT_fcall_used_:
fix_register (arg, 0, 1);
break;
@ -545,6 +554,56 @@ common_handle_option (size_t scode, const char *arg,
fix_register (arg, 0, 0);
break;
case OPT_fcaller_saves:
flag_caller_saves = value;
break;
case OPT_fcrossjumping:
flag_crossjumping = value;
break;
case OPT_fcse_follow_jumps:
flag_cse_follow_jumps = value;
break;
case OPT_fcse_skip_blocks:
flag_cse_skip_blocks = value;
break;
case OPT_fdefer_pop:
flag_defer_pop = value;
break;
case OPT_fdelayed_branch:
flag_delayed_branch = value;
break;
case OPT_fdelete_null_pointer_checks:
flag_delete_null_pointer_checks = value;
break;
case OPT_fdiagnostics_show_location_:
if (!strcmp (arg, "once"))
diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE;
else if (!strcmp (arg, "every-line"))
diagnostic_prefixing_rule (global_dc)
= DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE;
else
return 0;
break;
case OPT_feliminate_dwarf2_dups:
flag_eliminate_dwarf2_dups = value;
break;
case OPT_feliminate_unused_debug_types:
flag_eliminate_unused_debug_types = value;
break;
case OPT_fexpensive_optimizations:
flag_expensive_optimizations = value;
break;
case OPT_ffast_math:
set_fast_math_flags (value);
break;
@ -553,6 +612,156 @@ common_handle_option (size_t scode, const char *arg,
fix_register (arg, 1, 1);
break;
case OPT_ffunction_cse:
flag_no_function_cse = !value;
break;
case OPT_ffloat_store:
flag_float_store = value;
break;
case OPT_fforce_addr:
flag_force_addr = value;
break;
case OPT_fforce_mem:
flag_force_mem = value;
break;
case OPT_fgcse:
flag_gcse = value;
break;
case OPT_fgcse_lm:
flag_gcse_lm = value;
break;
case OPT_fgcse_sm:
flag_gcse_sm = value;
break;
case OPT_fif_conversion:
flag_if_conversion = value;
break;
case OPT_fif_conversion2:
flag_if_conversion2 = value;
break;
case OPT_finline:
flag_no_inline = !value;
break;
case OPT_finline_functions:
flag_inline_functions = value;
break;
case OPT_fkeep_inline_functions:
flag_keep_inline_functions =value;
break;
case OPT_fkeep_static_consts:
flag_keep_static_consts = value;
break;
case OPT_floop_optimize:
flag_loop_optimize = value;
break;
case OPT_fmessage_length_:
output_set_maximum_length (&global_dc->buffer, value);
break;
case OPT_fmove_all_movables:
flag_move_all_movables = value;
break;
case OPT_fold_unroll_all_loops:
flag_old_unroll_all_loops = value;
break;
case OPT_fold_unroll_loops:
flag_old_unroll_loops = value;
break;
case OPT_fomit_frame_pointer:
flag_omit_frame_pointer = value;
break;
case OPT_foptimize_sibling_calls:
flag_optimize_sibling_calls = value;
break;
case OPT_fpeel_loops:
flag_peel_loops = value;
break;
case OPT_fpcc_struct_return:
flag_pcc_struct_return = value;
break;
case OPT_fpeephole:
flag_no_peephole = !value;
break;
case OPT_fprefetch_loop_arrays:
flag_prefetch_loop_arrays = value;
break;
case OPT_frandom_seed:
/* The real switch is -fno-random-seed. */
if (value)
return 0;
flag_random_seed = NULL;
break;
case OPT_frandom_seed_:
flag_random_seed = arg;
break;
case OPT_freduce_all_givs:
flag_reduce_all_givs = value;
break;
case OPT_freg_struct_return:
flag_pcc_struct_return = !value;
break;
case OPT_frerun_cse_after_loop:
flag_rerun_cse_after_loop = value;
break;
case OPT_frerun_loop_opt:
flag_rerun_loop_opt = value;
break;
case OPT_fsched_verbose_:
#ifdef INSN_SCHEDULING
fix_sched_param ("verbose", arg);
break;
#else
return 0;
#endif
case OPT_fschedule_insns:
flag_schedule_insns = value;
break;
case OPT_fschedule_insns2:
flag_schedule_insns_after_reload = value;
break;
case OPT_fshared_data:
flag_shared_data = value;
break;
case OPT_fstack_limit:
/* The real switch is -fno-stack-limit. */
if (value)
return 0;
stack_limit_rtx = NULL_RTX;
break;
case OPT_fstack_limit_register_:
{
int reg = decode_reg_name (arg);
@ -567,6 +776,18 @@ common_handle_option (size_t scode, const char *arg,
stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (arg));
break;
case OPT_fstrength_reduce:
flag_strength_reduce = value;
break;
case OPT_fsyntax_only:
flag_syntax_only = value;
break;
case OPT_fthread_jumps:
flag_thread_jumps = value;
break;
case OPT_ftls_model_:
if (!strcmp (arg, "global-dynamic"))
flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC;
@ -580,6 +801,30 @@ common_handle_option (size_t scode, const char *arg,
warning ("unknown tls-model \"%s\"", arg);
break;
case OPT_ftracer:
flag_tracer = value;
break;
case OPT_funit_at_a_time:
flag_unit_at_a_time = value;
break;
case OPT_funroll_all_loops:
flag_unroll_all_loops = value;
break;
case OPT_funroll_loops:
flag_unroll_loops = value;
break;
case OPT_funswitch_loops:
flag_unswitch_loops = value;
break;
case OPT_fwritable_strings:
flag_writable_strings = value;
break;
case OPT_g:
decode_g_option (arg);
break;

View File

@ -654,24 +654,24 @@ int flag_syntax_only = 0;
/* Nonzero means perform loop optimizer. */
static int flag_loop_optimize;
int flag_loop_optimize;
/* Nonzero means perform crossjumping. */
static int flag_crossjumping;
int flag_crossjumping;
/* Nonzero means perform if conversion. */
static int flag_if_conversion;
int flag_if_conversion;
/* Nonzero means perform if conversion after reload. */
static int flag_if_conversion2;
int flag_if_conversion2;
/* Nonzero means to use global dataflow analysis to eliminate
useless null pointer tests. */
static int flag_delete_null_pointer_checks;
int flag_delete_null_pointer_checks;
/* Nonzero means perform global CSE. */
@ -702,7 +702,7 @@ int flag_branch_target_load_optimize2 = 0;
/* Nonzero means to rerun cse after loop optimization. This increases
compilation time about 20% and picks up a few more common expressions. */
static int flag_rerun_cse_after_loop;
int flag_rerun_cse_after_loop;
/* Nonzero means to run loop optimizations twice. */
@ -1040,6 +1040,9 @@ static const param_info lang_independent_params[] = {
{ NULL, 0, NULL }
};
/* Used for the f_options array temporarily. */
static int flag_dummy;
/* Table of language-independent -f options.
STRING is the option name. VARIABLE is the address of the variable.
ON_VALUE is the value to store in VARIABLE
@ -1048,107 +1051,107 @@ static const param_info lang_independent_params[] = {
static const lang_independent_options f_options[] =
{
{"eliminate-dwarf2-dups", &flag_eliminate_dwarf2_dups, 1,
{"eliminate-dwarf2-dups", &flag_dummy, 1,
N_("Perform DWARF2 duplicate elimination") },
{"eliminate-unused-debug-types", &flag_eliminate_unused_debug_types, 1,
{"eliminate-unused-debug-types", &flag_dummy, 1,
N_("Perform unused type elimination in debug info") },
{"float-store", &flag_float_store, 1,
{"float-store", &flag_dummy, 1,
N_("Do not store floats in registers") },
{"defer-pop", &flag_defer_pop, 1,
{"defer-pop", &flag_dummy, 1,
N_("Defer popping functions args from stack until later") },
{"omit-frame-pointer", &flag_omit_frame_pointer, 1,
{"omit-frame-pointer", &flag_dummy, 1,
N_("When possible do not generate stack frames") },
{"optimize-sibling-calls", &flag_optimize_sibling_calls, 1,
{"optimize-sibling-calls", &flag_dummy, 1,
N_("Optimize sibling and tail recursive calls") },
{"tracer", &flag_tracer, 1,
{"tracer", &flag_dummy, 1,
N_("Perform superblock formation via tail duplication") },
{"unit-at-a-time", &flag_unit_at_a_time, 1,
{"unit-at-a-time", &flag_dummy, 1,
N_("Compile whole compilation unit at a time") },
{"cse-follow-jumps", &flag_cse_follow_jumps, 1,
{"cse-follow-jumps", &flag_dummy, 1,
N_("When running CSE, follow jumps to their targets") },
{"cse-skip-blocks", &flag_cse_skip_blocks, 1,
{"cse-skip-blocks", &flag_dummy, 1,
N_("When running CSE, follow conditional jumps") },
{"expensive-optimizations", &flag_expensive_optimizations, 1,
{"expensive-optimizations", &flag_dummy, 1,
N_("Perform a number of minor, expensive optimizations") },
{"thread-jumps", &flag_thread_jumps, 1,
{"thread-jumps", &flag_dummy, 1,
N_("Perform jump threading optimizations") },
{"strength-reduce", &flag_strength_reduce, 1,
{"strength-reduce", &flag_dummy, 1,
N_("Perform strength reduction optimizations") },
{"unroll-loops", &flag_unroll_loops, 1,
{"unroll-loops", &flag_dummy, 1,
N_("Perform loop unrolling when iteration count is known") },
{"unroll-all-loops", &flag_unroll_all_loops, 1,
{"unroll-all-loops", &flag_dummy, 1,
N_("Perform loop unrolling for all loops") },
{"old-unroll-loops", &flag_old_unroll_loops, 1,
{"old-unroll-loops", &flag_dummy, 1,
N_("Perform loop unrolling when iteration count is known") },
{"old-unroll-all-loops", &flag_old_unroll_all_loops, 1,
{"old-unroll-all-loops", &flag_dummy, 1,
N_("Perform loop unrolling for all loops") },
{"peel-loops", &flag_peel_loops, 1,
{"peel-loops", &flag_dummy, 1,
N_("Perform loop peeling") },
{"unswitch-loops", &flag_unswitch_loops, 1,
{"unswitch-loops", &flag_dummy, 1,
N_("Perform loop unswitching") },
{"prefetch-loop-arrays", &flag_prefetch_loop_arrays, 1,
{"prefetch-loop-arrays", &flag_dummy, 1,
N_("Generate prefetch instructions, if available, for arrays in loops") },
{"move-all-movables", &flag_move_all_movables, 1,
{"move-all-movables", &flag_dummy, 1,
N_("Force all loop invariant computations out of loops") },
{"reduce-all-givs", &flag_reduce_all_givs, 1,
{"reduce-all-givs", &flag_dummy, 1,
N_("Strength reduce all loop general induction variables") },
{"writable-strings", &flag_writable_strings, 1,
{"writable-strings", &flag_dummy, 1,
N_("Store strings in writable data section") },
{"peephole", &flag_no_peephole, 0,
{"peephole", &flag_dummy, 0,
N_("Enable machine specific peephole optimizations") },
{"force-mem", &flag_force_mem, 1,
{"force-mem", &flag_dummy, 1,
N_("Copy memory operands into registers before using") },
{"force-addr", &flag_force_addr, 1,
{"force-addr", &flag_dummy, 1,
N_("Copy memory address constants into regs before using") },
{"function-cse", &flag_no_function_cse, 0,
{"function-cse", &flag_dummy, 0,
N_("Allow function addresses to be held in registers") },
{"inline-functions", &flag_inline_functions, 1,
{"inline-functions", &flag_dummy, 1,
N_("Integrate simple functions into their callers") },
{"keep-inline-functions", &flag_keep_inline_functions, 1,
{"keep-inline-functions", &flag_dummy, 1,
N_("Generate code for funcs even if they are fully inlined") },
{"inline", &flag_no_inline, 0,
{"inline", &flag_dummy, 0,
N_("Pay attention to the 'inline' keyword") },
{"keep-static-consts", &flag_keep_static_consts, 1,
{"keep-static-consts", &flag_dummy, 1,
N_("Emit static const variables even if they are not used") },
{"syntax-only", &flag_syntax_only, 1,
{"syntax-only", &flag_dummy, 1,
N_("Check for syntax errors, then stop") },
{"shared-data", &flag_shared_data, 1,
{"shared-data", &flag_dummy, 1,
N_("Mark data as shared rather than private") },
{"caller-saves", &flag_caller_saves, 1,
{"caller-saves", &flag_dummy, 1,
N_("Enable saving registers around function calls") },
{"pcc-struct-return", &flag_pcc_struct_return, 1,
{"pcc-struct-return", &flag_dummy, 1,
N_("Return 'short' aggregates in memory, not registers") },
{"reg-struct-return", &flag_pcc_struct_return, 0,
{"reg-struct-return", &flag_dummy, 0,
N_("Return 'short' aggregates in registers") },
{"delayed-branch", &flag_delayed_branch, 1,
{"delayed-branch", &flag_dummy, 1,
N_("Attempt to fill delay slots of branch instructions") },
{"gcse", &flag_gcse, 1,
{"gcse", &flag_dummy, 1,
N_("Perform the global common subexpression elimination") },
{"gcse-lm", &flag_gcse_lm, 1,
{"gcse-lm", &flag_dummy, 1,
N_("Perform enhanced load motion during global subexpression elimination") },
{"gcse-sm", &flag_gcse_sm, 1,
{"gcse-sm", &flag_dummy, 1,
N_("Perform store motion after global subexpression elimination") },
{"branch-target-load-optimize", &flag_branch_target_load_optimize, 1,
{"branch-target-load-optimize", &flag_dummy, 1,
N_("Perform branch target load optimization before prologue / epilogue threading") },
{"branch-target-load-optimize2", &flag_branch_target_load_optimize2, 1,
{"branch-target-load-optimize2", &flag_dummy, 1,
N_("Perform branch target load optimization after prologue / epilogue threading") },
{"loop-optimize", &flag_loop_optimize, 1,
{"loop-optimize", &flag_dummy, 1,
N_("Perform the loop optimizations") },
{"crossjumping", &flag_crossjumping, 1,
{"crossjumping", &flag_dummy, 1,
N_("Perform cross-jumping optimization") },
{"if-conversion", &flag_if_conversion, 1,
{"if-conversion", &flag_dummy, 1,
N_("Perform conversion of conditional jumps to branchless equivalents") },
{"if-conversion2", &flag_if_conversion2, 1,
{"if-conversion2", &flag_dummy, 1,
N_("Perform conversion of conditional jumps to conditional execution") },
{"rerun-cse-after-loop", &flag_rerun_cse_after_loop, 1,
{"rerun-cse-after-loop", &flag_dummy, 1,
N_("Run CSE pass after loop optimizations") },
{"rerun-loop-opt", &flag_rerun_loop_opt, 1,
{"rerun-loop-opt", &flag_dummy, 1,
N_("Run the loop optimizer twice") },
{"delete-null-pointer-checks", &flag_delete_null_pointer_checks, 1,
{"delete-null-pointer-checks", &flag_dummy, 1,
N_("Delete useless null pointer checks") },
{"schedule-insns", &flag_schedule_insns, 1,
{"schedule-insns", &flag_dummy, 1,
N_("Reschedule instructions before register allocation") },
{"schedule-insns2", &flag_schedule_insns_after_reload, 1,
{"schedule-insns2", &flag_dummy, 1,
N_("Reschedule instructions after register allocation") },
{"sched-interblock",&flag_schedule_interblock, 1,
N_("Enable scheduling across basic blocks") },
@ -4191,36 +4194,6 @@ decode_f_option (const char *arg)
set_param_value ("min-inline-insns", 10);
}
}
#ifdef INSN_SCHEDULING
else if ((option_value = skip_leading_substring (arg, "sched-verbose=")))
fix_sched_param ("verbose", option_value);
#endif
else if ((option_value
= skip_leading_substring (arg, "message-length=")))
output_set_maximum_length
(&global_dc->buffer, read_integral_parameter
(option_value, arg - 2, diagnostic_line_cutoff (global_dc)));
else if ((option_value
= skip_leading_substring (arg, "diagnostics-show-location=")))
{
if (!strcmp (option_value, "once"))
diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE;
else if (!strcmp (option_value, "every-line"))
diagnostic_prefixing_rule (global_dc)
= DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE;
else
error ("unrecognized option `%s'", arg - 2);
}
else if (!strcmp (arg, "no-stack-limit"))
stack_limit_rtx = NULL_RTX;
else if ((option_value = skip_leading_substring (arg, "random-seed=")))
flag_random_seed = option_value;
else if (!strcmp (arg, "no-random-seed"))
flag_random_seed = NULL;
else if (!strcmp (arg, "preprocessed"))
/* Recognize this switch but do nothing. This prevents warnings
about an unrecognized switch if cpplib has not been linked in. */
;
else
return 0;

View File

@ -104,6 +104,21 @@ extern bool version_flag;
extern int target_flags_explicit;
/* See toplev.c. */
extern int flag_loop_optimize;
extern int flag_crossjumping;
extern int flag_if_conversion;
extern int flag_if_conversion2;
extern int flag_delete_null_pointer_checks;
extern int flag_keep_static_consts;
extern int flag_peel_loops;
extern int flag_rerun_cse_after_loop;
extern int flag_thread_jumps;
extern int flag_tracer;
extern int flag_unroll_loops;
extern int flag_unroll_all_loops;
extern int flag_unswitch_loops;
extern void display_help (void);
extern void display_target_options (void);
extern void print_version (FILE *, const char *);