1. 01 Dec, 2003 1 commit
    • common.opt: Remove -fgnu-linker. · dc170a87
      	* common.opt: Remove -fgnu-linker.
      	* flags.h: Remove flag_gnu_linker.
      	* opts.c: Don't handle OPT_fgnu_linker.
      	* toplev.c: Don't initialize flag_gnu_linker.
      	Remove gnu-linker entry from f_options.
      	* config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
      	Don't reset flag_gnu_linker.
      	* config/mips/mips.c (override_options): Likewise.
      	* doc/invoke.texi: Remove all mention of -fgnu-linker.
      
      From-SVN: r74117
      Zack Weinberg committed
  2. 20 Oct, 2003 1 commit
    • toplev.c (rest_of_compilation): Fix webizer pass ordering. · d4d1ebc1
      	* toplev.c (rest_of_compilation): Fix webizer pass ordering.
      
      	* cgraphunit.c (decide_is_function_needed):  Fix test dealing
      	with functions implicitly made inline.
      
      	* cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
      	(cgraph_finalize_function): Use it.
      	(cgraph_mark_inline): Allow incrmental decisions
      	* invoke.texi (max-inline-slope, min-inline-insns): Kill.
      	* params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
      	* tree-inline.c (limits_allow_inlining): Kill.
      	(expand_call_inline): Always use unit-at-a-time path.
      
      	* decl.c (start_cleanup_fn):  Set DECL_DECLARED_INLINE_P to deffer
      	the expansion.
      
      	* testsuite/g++.dg/opt/inline4.C: Do not use min-inline-insns
      	parameter.
      	* testsuite/gcc.dg/inline-2.c: Likewise.
      
      From-SVN: r72721
      Jan Hubicka committed
  3. 19 Oct, 2003 1 commit
    • Makefile.in (toplev.o): Add value-prof.h dependency. · fca9dc00
      	* Makefile.in (toplev.o): Add value-prof.h dependency.
      	(value-prof.o): Add REGS_H dependency.
      	* common.opt (fprofile-values, fvpt): New.
      	* flags.h (flag_value_profile_transformations): Declare.
      	* opts.c (common_handle_option): Handle -fprofile_values and
      	-fvpt.
      	* profile.c (branch_prob): Don't remove death notes here.
      	* timevar.def (TV_VPT): New.
      	* value-prof.c: Include regs.h.
      	(insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
      	gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
      	mod_subtract_transform, value_profile_transformations): New.
      	(insn_values_to_profile): Call insn_divmod_values_to_profile.
      	(find_values_to_profile): Add dumps.
      	* value-prof.h (value_profile_transformations): Declare.
      	* toplev.c: Include value-prof.h.
      	(rest_of_handle_value_profile_transformations): New.
      	(enum dump_file_index): Add DFI_vpt.
      	(dump_file): Add vpt dump.
      	(flag_value_profile_transformations): New.
      	(lang_independent_options): Add flag_profile_values and
      	flag_value_profile_transformations.
      	(rest_of_compilation): Call
      	rest_of_handle_value_profile_transformations.
      	(process_options): Let -fvpt imply -fprofile-values.
      	* doc/invoke.texi (-fvpt): Document.
      
      From-SVN: r72685
      Zdenek Dvorak committed
  4. 17 Oct, 2003 1 commit
    • common.opt: Add description of the new -fgcse-las flag. · f5f2e3cd
      2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
      
      	* common.opt: Add description of the new -fgcse-las flag.
      	* flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
      	* gcse.c (hash_scan_set): Handle the case of store expression and
      	insert the memory expression to the hash table, this way we make it
      	possible to discover redundant loads after stores and remove them.
      	(pre_insert_copy_insn): moved the call to update_ld_motion_stores,
      	to pre_insert_copies, it is not the correct place to call it after
      	adding stores to be in the available expression hash table.
      	(pre_insert_copies): Added the call to update_ld_motion_stores when
      	one or more copies were inserted.
      	* opts.c (common_handle_option): Handle the -fgcse-las flag.
      	* toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
      
      	* doc/invoke.tex: Document new -fgcse-las flag.
      
      From-SVN: r72612
      Mostafa Hagog committed
  5. 11 Oct, 2003 1 commit
    • Makefile.in (web.o): New. · 62551c66
      	* Makefile.in (web.o): New.
      	* web.c: New file.
      	* rtl.h (web_main): Declare.
      	* timervar.def (TV_WEB): New.
      	* toplev.c (dump_file_index, dump_file_info): Add DFI_web.
      	(rest_of_hanle_web): New.
      	(flag_web): New static variable.
      	(lang_independent_options): Add "web".
      	(rest_of_compilation): Call rest_of_handle_web.
      	* invoke.texi (-fweb): Document.
      	* common.opt (fweb): New.
      	* flags.h (flag_web): New.
      	* opts.c (decode_options): Set flag_web at -O3.
      
      	* passes.texi (web construction):  Document.
      	* invoke.texi (-O3): Document that -fweb is enabled.
      
      	* regrename.c (regrename_optimize): Deal better with situation when
      	replacement failed.
      
      	* sched-ebb.c: Include params.h and profile.h
      	(schedule_ebbs):  Use tracer parameters to discover superblocks
      	* Makefile.in (sched-ebb.o):  Add dependencies.
      
      From-SVN: r72383
      Jan Hubicka committed
  6. 09 Oct, 2003 1 commit
    • haifa-sched.c (ok_for_early_schedule): New function. · 569fa502
              * haifa-sched.c (ok_for_early_schedule): New function.
              (early_queue_to_ready): New function.
              (schedule_block): Allow early removal of insns from Q.
              (schedule_insn): Update INSN_TICK in case of premature
              issue.
              * common.opt (sched_stalled_insns): New flag.
              (sched_stalled_insns_dep): New flag.
              * flags.h: Same above flags.
              * opts.c: Same as above.
              * toplev.c: Same as above.
              * target.h (targetm.sched.is_costly_dependence): New
              hook.
              * target-def.h: Same as above.
              * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
              Support new flag -msched-costly-dep.
              (DEFAULT_SCHED_COSTLY_DEP): Define.
              * config/rs6000/rs6000.c:
              (rs6000_is_costly_dependence): New function.
              (is_load_insn, is_store_insn): New functions.
              (is_load_insn1, is_store_insn1, is_mem_ref): New
              functions.
              * doc/invoke.texi (-fsched-stalled-insns-dep)
              (-fsched-stalled-insns, -msched-costly-dep): Document
              options.
              * doc/tm.texi (is_costly_dependence): Define new
              scheduler target hook.
      
      From-SVN: r72261
      Dorit Naishlos committed
  7. 28 Sep, 2003 1 commit
    • toplev.c (flag_evaluation_order): New global variable. · c67e6e14
      	* toplev.c (flag_evaluation_order): New global variable.
      	* flags.h (flag_evaluation_order): Prototype here.
      	* expr.c (expand_operands): If we need to preserve observable
      	evaluation order, protect exp1 from clobbering exp0's result.
      
      	* java/lang.c (java_init_options): Set flag_evaluation_order.
      	* java/expr.c (force_evaluation_order): Don't attempt to force
      	evaluation order of binary operations using save_expr.
      	* java/parse.y (java_complete_lhs): No longer need to call
      	force_evaluation_order when constructing binary operators.
      
      From-SVN: r71873
      Roger Sayle committed
  8. 03 Sep, 2003 1 commit
    • toplev.c (flag_rounding_math): New global variable. · 039c3d42
      	* toplev.c (flag_rounding_math): New global variable.
      	(f_options): Add to the list of language independent options.
      	* flags.h (flag_rounding_math): Prototype here.
      	(HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
      	* common.opt (frounding-math): New common command line option.
      	* opts.c (common_handle_option): Handle OPT_frounding_math.
      	(set_fast_math_flags): -ffast-math clears flag_rounding_math.
      
      	* doc/invoke.texi: Document this new command line option.
      
      From-SVN: r71032
      Roger Sayle committed
  9. 08 Aug, 2003 1 commit
    • common.opt: Add debug switches. · df38ffef
      	* common.opt: Add debug switches.
      	* flags.h (use_gnu_debug_info_extensions): Boolify.
      	* opts.c (write_symbols, debug_info_level,
      	use_gnu_debug_info_extensions): Move from toplev.c.
      	(set_debug_level): New.
      	(common_handle_options): Handle debug switches.
      	(print_help): Display target options directly.
      	* toplev.c (debug_hooks): Don't initialize.
      	(write_symbols, debug_info_level,
      	use_gnu_debug_info_extensions): Move to opts.c.
      	(debug_args, display_help, decode_g_option): Remove.
      	(process_options): Set no debug if level zero here,
      	and no-debug-hooks.  Error here if impossible debug format selected.
      	* toplev.h (display_help, decode_g_option): Remove.
      testsuite:
      	* lib/gcc-dg.exp: Update for diagnostic change.
      
      From-SVN: r70253
      Neil Booth committed
  10. 01 Jul, 2003 1 commit
  11. 29 Jun, 2003 1 commit
    • alloc-pool.c: Fix comment formatting. · f9da5064
      	* alloc-pool.c: Fix comment formatting.
      	* bitmap.c: Likewise.
      	* bitmap.h: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* collect2.c: Likewise.
      	* cse.c: Likewise.
      	* df.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expmed.c: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* libgcov.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* optabs.c: Likewise.
      	* prefix.c: Likewise.
      	* rtlanal.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      
      From-SVN: r68672
      Kazu Hirata committed
  12. 27 Jun, 2003 1 commit
  13. 26 Jun, 2003 1 commit
    • value-prof.c: New. · af166e5d
      	* value-prof.c: New.
      	* value-prof.h: New.
      	* Makefile.in (value-prof.o): New.
      	(LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
      	(profile.o): Add value-prof.h and tree.h dependency.
      	* flags.h (flag_profile_values): Declare.
      	* gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
      	Add new counters.
      	(GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
      	GCOV_COUNTER_V_DELTA): New counter sections.
      	(__gcov_merge_single, __gcov_merge_delta): Declare.
      	* flow.c (mark_used_regs): Set subregs_of_mode only when the
      	structure is initialized.
      	* libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
      	* profile.c: Include value-prof.h and tree.h.
      	(gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
      	gen_const_delta_profiler, instrument_values): New static functions.
      	(get_exec_counts): Fix comment.
      	(branch_prob): Invoke instrument_values.
      	* toplev.c (flag_profile_values): New flag.
      	* doc/invoke.texi (-fprofile-values): Document.
      
      From-SVN: r68519
      Zdenek Dvorak committed
  14. 20 Jun, 2003 1 commit
    • c-decl.c (store_parm_decls): Make saved_warn_shadow boolean. · e01cc6dc
      	* c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
      	* common.opt: Add remaining -W options and -g.
      	* diagnostic.c (warnings_are_errors): Remove.
      	* flags.h: Make most warning flags boolean.
      	* opts.c (common_handle_option): Handle remaining -W options, and -g.
      	Move many warning flags from toplev.c, making them boolean.
      	* toplev.c: Remove many warning flags.
      	(decode_W_option): Remove.
      	(decode_g_option): Make extern.  Error on unknown switch.
      	(lang_independent_W_options): Use warn_dummy.
      	(independent_decode_option): Just handle -f switches now.
      	* toplev.h (decode_g_option): New.
      
      From-SVN: r68287
      Neil Booth committed
  15. 19 Jun, 2003 1 commit
    • c-tree.h: Remove declaration of poplevel. · e295f317
      	* c-tree.h: Remove declaration of poplevel.
      
      	* tree.h: Remove declaration of approx_sqrt.
      
      	* c-lex.c: Remove redundant declaration of asm_out_file.
      
      	* flags.h: Remove declaration of warn_unknown_pragma and
      	main_input_filename.
      
      	* rtl.h: Remove functions from fold-const.c since they're already
      	declared in tree.h.
      
      	* regs.h: Remove redundant declaration of reg_names.
      
      cp:
      
      	* cp-tree.h: Remove duplicated declarations.
      
      From-SVN: r68193
      Andreas Jaeger committed
  16. 18 Jun, 2003 1 commit
    • bt-load.c: New file. · fe3ad572
      2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
                  J"orn Rennecke <joern.rennecke@superh.com>
      
      	* bt-load.c: New file.
      	* Makefile.in (OBJS): Include bt-load.o
      	(bt-load.o): Add dependencies.
      	* flags.h (flag_branch_target_load_optimize): Declare.
      	(flag_branch_target_load_optimize2): Likewise.
      	* hooks.c (hook_reg_class_void_no_regs): New function.
      	(hook_bool_bool_false): Likewise.
      	* hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
      	* rtl.h (branch_target_load_optimize): Declare.
      	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(TARGET_INITIALIZER): Include these.
      	* target.h (struct gcc_target): Add branch_target_register_class
      	and branch_target_register_callee_saved members.
      	* toplev.c (enum dump_file_index): Add DFI_branch_target_load
      	(dump_file) Add "tars" entry.
      	(flag_branch_target_load_optimize): New variable.
      	(flag_branch_target_load_optimize2): Likewise.
      	(lang_independent_options): Add entries for new options.
      	(rest_of_compilation): Call branch_target_load_optimize.
      	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	* doc/invoke.texi: Document -fbranch-target-load-optimize and
      	-fbranch-target-load-optimize2.
      	* rtl.h (epilogue_completed): Declare.
      	* recog.c (epilogue_completed): New variable.
      	* toplev.c (rest_of_compilation): Set it.
      	* flow.c (mark_regs_live_at_end): Use it.
      	* config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      
      	* sh.c (shmedia_space_reserved_for_target_registers): New variable.
      	(sh_target_reg_class): New function.
      	(sh_optimize_target_register_callee_saved): Likwise.
      	(shmedia_target_regs_stack_space): Likewise.
      	(shmedia_reserve_space_for_target_registers_p): Likewise.
      	(shmedia_target_regs_stack_adjust): Likewise.
      	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
      	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
      	(calc_live_regs): If flag_branch_target_load_optimize2 and
      	TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
      	for target registers, make sure that we save all target registers.
      	(sh_expand_prologue, sh_expand_epilogue): Take target register
      	optimizations into account.  Collapse stack adjustments if that
      	is beneficial.
      	(initial_elimination_offset): Reserve space for target registers
      	if necessary.
      	* sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
      	(OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
      
      Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com>
      
      From-SVN: r68165
      Stephen Clarke committed
  17. 15 Jun, 2003 1 commit
    • c-pch.c (asm_file_name): Remove. · d185d268
      	* c-pch.c (asm_file_name): Remove.
      	* common.opt: Add more switches.
      	* flags.h (g_switch_set): Boolify.
      	* opts.c (g_switch_value, g_switch_set, exit_after_options,
      	version_flag): Move from toplev.c.
      	(common_handle_option): Handle more switches from toplev.c.
      	* toplev.c (display_help, display_target_options, decode_d_option,
      	print_version): Make non-static, remove prototypes.
      	(aux_base_name, asm_file_name, aux_info_file_name): Constify.
      	(version_flag, g_switch_value, g_switch_set, exit_after_options):
      	Remove.
      	(independent_decode_option): Move some handlers to opts.c.
      	* toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
      	exit_after_options, version_flag, display_help, display_target_options,
      	print_version, decode_d_option): New.
      java:
      	* lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
      
      From-SVN: r67971
      Neil Booth committed
  18. 03 Jun, 2003 1 commit
    • configure.in (HAVE_LD_PIE): Check for ld -pie. · 24a4dd31
      	* configure.in (HAVE_LD_PIE): Check for ld -pie.
      	* config.in: Rebuilt.
      	* configure: Rebuilt.
      	* toplev.c (flag_pie, flag_shlib): New variables.
      	(f_options): Add -fpie and -fPIE.
      	(parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
      	Set flag_shlib if flag_pic and not -fpie/-fPIE.
      	* flags.h (flag_pic, flag_shlib): Add.
      	* varasm.c (default_binds_local_p): Use flag_shlib instead of
      	flag_pic.
      	* gcc.c (LINK_PIE_SPEC): Define.
      	(LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
      	(option_map): Add --pie -> -pie mapping.
      	* config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
      	and -fPIE the same way as -fPIC.
      	* config/openbsd.h (ASM_SPEC): Likewise.
      	* config/frv/frv.h (ASM_SPEC): Likewise.
      	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
      	* config/arm/semi.h (ASM_SPEC): Likewise.
      	* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
      	* config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
      	* config/i386/beos-elf.h (CC1_SPEC): Likewise.
      	* config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
      	* config/m68k/linux.h (CPP_SPEC): Likewise.
      	* config/m68k/netbsd.h (ASM_SPEC): Likewise.
      	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
      	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
      	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
      	* config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
      	* config/pa/pa-linux.h (CPP_SPEC): Likewise.
      	* config/netbsd-aout.h (ASM_SPEC): Likewise.
      	* config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
      	* config/rs6000/vxworks.h (CPP_SPEC): Likewise.
      	* config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
      	* config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
      	* config/sparc/sparc.h (ASM_SPEC): Likewise.
      	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
      	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
      	* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
      	* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
      	* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
      	* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
      	Simplify.
      	* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	* doc/invoke.texi: Document -pie, -fpie and -fPIE options.
      
      From-SVN: r67359
      Jakub Jelinek committed
  19. 31 May, 2003 1 commit
    • flags.h (flag_wrapv): New flag controlling overflow semantics. · 4fa26a60
      	* flags.h (flag_wrapv): New flag controlling overflow semantics.
      	* toplev.c (flag_wrapv): Declare the variable with default false.
      	(lang_independent_options): New option "-fwrapv" to set the above.
      
      	* fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
      	as x, when signed arithmetic overflow wraps around.
      	(fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
      	* loop.c (basic_induction_var): Ignore BIVs that rely on undefined
      	overflow when flag_wrapv is true.
      
      	* java/lang.c (java_init_options): Prescribe wrap-around two's
      	complement arithmetic overflow by setting flag_wrapv.
      
      	* doc/invoke.texi: Document new -fwrapv command line option.
      	* doc/c-tree.texi: Mention that the overflow semantics of
      	NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
      	upon both flag_wrapv and flag_trapv.
      
      	* gcc.dg/fwrapv-1.c: New test case.
      	* gcc.dg/fwrapv-2.c: New test case.
      
      	* libjava.lang/Overflow.java: New test.
      	* libjava.lang/Overflow.out: New file.
      
      From-SVN: r67270
      Roger Sayle committed
  20. 19 May, 2003 1 commit
    • flags.h (g_switch_value): Change to an unsigned HOST_WIDE_INT. · 307b599c
      	* flags.h (g_switch_value): Change to an unsigned
      	HOST_WIDE_INT.
      	* toplev.c (g_switch_value): Likewise.
      
      	* config/alpha/alpha.c (small_symbolic_operand): Remove
      	g_switch_value cast.
      	(alpha_in_small_data_p): Cast size to an unsigned
      	HOST_WIDE_INT.
      
      	* config/frv/frv.c (frv_in_small_data_p): Cast size to an
      	unsigned HOST_WIDE_INT.
      	* config/frv/frv.h (g_switch_value, g_switch_set): Remove.
      	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
      
      	* config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
      	unsigned HOST_WIDE_INT.
      	(m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
      	* config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
      	(ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
      
      	* config/rs6000/rs6000.c (rs6000_file_start): Use
      	HOST_WIDE_INT_PRINT_UNSIGNED.
      	(small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
      	(rs6000_elf_in_small_data_p): Cast size to unsigned
      	HOST_WIDE_INT.
      	* config/rs6000/sysv4.h (g_switch_value, g_switch_set):
      	Remove.
      	(SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
      	g_switch_set.
      	(ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
      	g_switch_value cast.
      
      From-SVN: r66945
      Matt Kraai committed
  21. 07 May, 2003 1 commit
    • except.c: Revert 04-01 and 04-02 forced-unwind changes. · a944ceb9
      gcc/
              * except.c: Revert 04-01 and 04-02 forced-unwind changes.
              * flags.h, toplev.c, doc/invoke.texi: Likewise.
      
              * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
              * unwind.inc (_Unwind_DeleteException): Check for null
              exception_cleanup.
      
              * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
              * unwind.inc (_Unwind_Resume_or_Rethrow): New.
              * unwind.h: Declare them.
              * libgcc-std.ver (GCC_3.3): Export them.
      
      gcc/cp/
              * cfns.gperf: Comment out POSIX thread cancellation points,
              plus abort and raise.
              * cfns.h: Regenerate.
      
      gcc/testsuite/
              * g++.dg/eh/forced1.C: Expect catch-all handlers to run.
              Verify exception_cleanup not called for rethrows.
              * g++.dg/eh/forced2.C: Test that exception_cleanup is called
              when exiting catch block without rethrowing.
              * g++.dg/eh/forced3.C: New.
              * g++.dg/eh/forced4.C: New.
      
      libstdc++-v3/
              * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
              (__cxa_end_catch): Likewise.
              * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
              _Unwind_Resume_or_Rethrow.
              * libsupc++/eh_personality.cc (empty_exception_spec): New.
              (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
              for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
              exceptions.  Don't push terminate/unexpected to cxa functions.
              (__cxa_call_unexpected): Remove foreign exception fixmes.
      
      From-SVN: r66583
      Richard Henderson committed
  22. 26 Apr, 2003 1 commit
    • flags.h (time_report): Remove. · 09b04f2d
      	* flags.h (time_report): Remove.
      	* timevar.c (timevar_enable): New.
      	(TIMEVAR_ENABLE): Remove, use timevar_enable.
      	(timevar_init): Rename from init_timevar.
      	* timevar.h (timevar_init): Rename from init_timevar.
      	* toplev.c (time_report): Make static.
      	(do_compile): Conditionally call init_timevar first.
      	(preprocess_options): Move some code to do_compile.
      
      From-SVN: r66110
      Neil Booth committed
  23. 12 Apr, 2003 2 commits
    • re PR c++/9393 (Anonymous namespaces and compiling the same file twice) · a37db56b
      	PR c++/9393
      	* doc/invoke.texi (Debugging Options): Document -frandom-seed.
      	* configure.in: Check for gettimeofday.
      	* tree.c (flag_random_seed): Define.
      	(default_flag_random_seed): New.
      	(append_random_chars): Use flag_random_seed rather than trying
      	to acquire randomness here.
      	* tree.h (default_flag_random_seed): Declare.
      	* toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
      	descriptions.
      	(decode_f_option): Handle -frandom-seed.
      	(print_switch_values): Call default_flag_random_seed.
      	* flags.h (flag_random_seed): Declare.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/alpha/t-crtfm: Use -frandom-seed.
      
      From-SVN: r65500
      Geoffrey Keating committed
    • c-pch.c: Include flags.h. · df026186
      	* c-pch.c: Include flags.h.  Add comments to routines.
      	(struct c_pch_validity): New.
      	(get_ident): Update PCH file version number.
      	(pch_init): Output current debugging type.
      	(c_common_valid_pch): Check debugging type.
      	* Makefile.in (c-pch.o): Update dependencies.
      	* flags.h (debug_type_names): Declare.
      	* toplev.c (debug_type_names): Move out of decode_g_option.
      
      From-SVN: r65499
      Geoffrey Keating committed
  24. 02 Apr, 2003 1 commit
    • except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION notes for… · 125ca8fd
      except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION notes for nothrow calls if flag_forced_unwind_exceptions.
      
              * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
              notes for nothrow calls if flag_forced_unwind_exceptions.
              (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
              (sjlj_find_directly_reachable_regions): Likewise.
              (reachable_handlers): Likewise.
              (can_throw_external): Likewise.
              (collect_one_action_chain): Record cleanups after catch-all and
              must-not-throw if flag_forced_unwind_exceptions.
              * flags.h (flag_forced_unwind_exceptions): Declare.
              * toplev.c (flag_forced_unwind_exceptions): New.
              (lang_independent_options): Add it.
      	* doc/invoke.text: Add it.
      
              * g++.dg/eh/forced1.C: New.
              * g++.dg/eh/forced2.C: New.
      
      From-SVN: r65158
      Richard Henderson committed
  25. 09 Mar, 2003 1 commit
  26. 28 Feb, 2003 1 commit
    • flags.h: Add flag_eliminate_unused_debug_types. · 73c68f61
              * flags.h: Add flag_eliminate_unused_debug_types.
              * toplev.c: Add flag_eliminate_unused_debug_types.
              (f_options): Add -feliminate-unused-debug-types.
              * dwarf2out.c (struct file_table): Add emitted member.
              (splice_child_die): Fix the parent pointer for the child being
              spliced.
              (lookup_filename): Maintain file_table.emitted array.  Don't
              output .file directive here.
              (maybe_emit_file): (new)
              (init_file_table): Set up file_table.emitted.
              (dwarf2out_source_line): Use maybe_emit_file.
              (dwarf2out_start_source_file): Use maybe_emit_file.
              (dwarf2out_init): Use maybe_emit_file.
              (prune_unused_types_walk_attribs): (new)
              (prune_unused_types_mark): (new)
              (prune_unused_types_walk): (new)
              (prune_unused_types_prune): (new)
              (prune_unused_types): (new)
              (dwarf2out_finish): Call prune_unused_types if
              flag_eliminate_unused_debug_types is set.
              * doc/invoke.texi (Option Summary): Add
              -feliminate-unused-debug-types.
              (Debugging Options): Likewise.
      
      From-SVN: r63588
      Scott Snyder committed
  27. 26 Feb, 2003 1 commit
    • cse.c (count_reg_usage): Fix handling of REG_EQUAL notes. · b17d5d7c
      	* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
      
      	* Makefile.in (loop-unroll.o): New.
      	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
      	(unroll_and_peel_loops): Declare.
      	* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
      	flag_old_unroll_loops.
      	* loop.c (loop_invariant_p): Ditto.
      	* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
      	flag_old_unroll_all_loops.
      	* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
      	(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
      	* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
      	(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
      	PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
      	PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
      	PARAM_MAX_ONCE_PEELED_INSNS): New.
      	* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
      	(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
      	instead of old one.
      	(flag_peel_loops): New.
      	(lang_independent_options): The new flags added.
      	(rest_of_compilation): Call new unroller.
      	(process_options): Setup flags for coexistence of old and new unroller.
      	* doc/invoke.texi: Document new options.
      	* doc/passes.texi: Document new unroller pass.
      
      From-SVN: r63462
      Zdenek Dvorak committed
  28. 20 Feb, 2003 1 commit
    • toplev.c (flag_sched2_use_superblocks, [...]): New global variables. · b9422b69
      	* toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces):  New global variables.
      	(lang_independent_options):  Add -fsched2-use-superblocks -fsced2-use-traces.
      	(rest_of_compilation): Deal with it.
      	* invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
      	* flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces): Declare.
      	* rtl.h (reg_to_stack):  Update prototype.
      	* reg-stack.c (reg_to_stack): Return when something has changed;
      	update liveness when executing after superblock scheduling.
      
      	* combine.c (simplify_shift_const):  Simplify few special cases
      	into constants.
      
      From-SVN: r63183
      Jan Hubicka committed
  29. 12 Feb, 2003 1 commit
    • Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time · e72fcfe8
      	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
      	(OBJS): Add callgraph.o
      	(callgraph.o): New.
      	* c-decl.c (expand_body_1): Break out from ...
      	(expand_body): This one;  change calling convention
      	(finish_function): Move some of expand_body logic here.
      	(c_expand_deferred_function): Update call of expand_body
      	(c_expand_stmt): Use c_expand_body_1.
      	* c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
      	* c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
      	* c-tree.h (c_expand_body): Declare.
      	* callgraph.c: New file.
      	* flags.h (flag_unit_at_a_time): Declare.
      	* langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
      	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
      	LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
      	* langhooks.h (struct lang_hooks_for_callgraph): New.
      	(struct lang_hooks): Add callgraph field.
      	* toplev.c (flag_unit_at_a_time): New.
      	(lang_independent_options): Add flag_unit_at_a_time.
      	(process_options): Disable unit-at-a-time mode for frontends not
      	supporting callgraph.
      	* tree-inline.c (typedef struct inline_data): Add "decl"
      	(expand_call_inline): Update callgraph.
      	(optimize_inline_calls): Set id.decl.
      	* tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
      	cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
      	cgraph_calls_p): Declare.
      	* invoke.texi (-funit-at-a-time): Document
      
      From-SVN: r62789
      Jan Hubicka committed
  30. 01 Feb, 2003 1 commit
    • flags.h (flag_volatile): Remove declaration. · 271bd540
      	* flags.h (flag_volatile): Remove declaration.
      	(flag_volatile_global, flag_volatile_static): Likewise.
      	* c-typeck.c (build_indirect_ref): Don't check flag_volatile.
      	* toplev.c (flag_volatile): Remove definition.
      	(flag_volatile_global, flag_volatile_static): Likewise.
      	(f_options): Remove corresponding entries here.
      	* varasm.c (make_decl_rtl): Don't check flag_volatile_global
      	or flag_volatile_static.
      	* doc/invoke.texi: Remove documentation of -fvolatile,
      	-fvolatile-global and -fvolatile-static.
      
      cp/
      	* typeck.c (build_indirect_ref): Don't check flag_volatile.
      
      ada/
      	* utils2.c (build_unary_op): Don't check flag_volatile.
      	* gnat_ug.texi: Remove -fvolatile from example.
      	* gnat_ug_vxw.texi: Likewise.
      
      testsuite/
      	* g++.dg/init/new1.C: Remove -fvolatile dg-options line.
      	* g++.dg/init/new2.C: Likewise.
      	* g++.dg/other/new1.C: Likewise.
      
      From-SVN: r62245
      Richard Sandiford committed
  31. 24 Jan, 2003 1 commit
    • Rename -W to -Wextra. · 65ca2d60
      2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
      
      	Rename -W to -Wextra.
      	* c-decl.c:  Update comments.
      	* c-typeck.c:  Likewise.
      	* flags.h:  Likewise.
      	* function.c:  Likewise.
      	* stmt.c:  Likewise.
      	* toplev.c:  Update comments.
      	(W_options):  Add 'extra'.
      	(display_help):  Remove '-W'.
      	(decode_W_option):  Special warn_uninitialized treatment in the case
      	of -Wextra.
      	* doc/invoke.texi:  Update with new entries.
      
      From-SVN: r61696
      Phil Edwards committed
  32. 23 Jan, 2003 1 commit
    • re PR rtl-optimization/8423 (CSE1 not propagating __builtin_constant_p enough) · 34ee7f82
      	PR optimization/8423
      	* cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
      	its argument is constant, or 0 if !flag_gcse.
      	* simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
      	if it's argument is constant.
      	* gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
      	(hash_scan_set): Don't record CONSTANT_P_RTX expressions.
      	(do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
      	* builtins.c (purge_builtin_constant_p): New function to force
      	instantiation of any remaining CONSTANT_P_RTX nodes.
      	* rtl.h (purge_builtin_constant_p): Prototype here.
      	* toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
      	pass after GCSE and before loop.
      	(flag_gcse): No longer static.
      	* flags.h (flag_gcse): Prototype here.
      
      From-SVN: r61642
      Roger Sayle committed
  33. 17 Jan, 2003 1 commit
    • et-forest.c: Fix comment typos. · fbe5a4a6
      	* et-forest.c: Fix comment typos.
      	* et-forest.h: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* flags.h: Likewise.
      	* flow.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* gengtype.c: Likewise.
      	* genrecog.c: Likewise.
      	* global.c: Likewise.
      	* gthr-rtems.h: Likewise.
      
      From-SVN: r61443
      Kazu Hirata committed
  34. 20 Oct, 2002 1 commit
    • re PR c/761 (Undocumented options, part 1) · e03b7153
      	PR c/761
      	* toplev.c (flag_unsafe_profile_arcs): Remove.
      	(flag_bounded_pointers): Remove.
      	(flag_bounds_check): Correct comments.
      	(lang_independent_options): Remove -funsafe-profile-arcs and
      	-fbounded-pointers.  Correct -fbounds-check comments.
      
      	* flags.h: Correct flag_schedule_interblock comments.
      	(flag_bounded_pointers): Remove prototype.
      	(flag_bounds_check): Correct comments.
      
      	* c-opts.c (c_common_init_options): No need to mark
      	flag_bounds_check as unspecified.
      	(c_common_post_options): And no need to set it from
      	flag_bounded_pointers if its still unspecified.
      
      	* doc/invoke.texi: Fix some overfull hboxes in "make dvi".
      	Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
      	-fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
      	-fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
      
      From-SVN: r58334
      Roger Sayle committed
  35. 08 Oct, 2002 1 commit
    • c-opts.c (c_common_decode_option): Add warn_strict_aliasing to -Wall. · bf52f899
      gcc:
      	* c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
      	-Wall.
      	* c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
      	message.
      	* flags.h (warn_strict_aliasing): Declare.
      	* toplev.c (warn_strict_aliasing): Define.
      	(lang_independent_options): Add it.
      	* doc/invoke.texi (-Wstrict-aliasing): Document it.
      testsuite:
      	* gcc.dg/alias-1.c: Tweak expected warning.
      
      From-SVN: r57938
      Nathan Sidwell committed
  36. 02 Oct, 2002 1 commit
    • re PR rtl-optimization/6627 (-fno-align-functions regression from 2.95) · f963b5d9
      	PR optimization/6627
      	* toplev.c (force_align_functions_log): New global variable.
      	* flags.h (force_align_functions_log): Add extern prototype.
      	* varasm.c (assemble_start_function): Use it to force minimum
      	function alignment.
      	* config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
      	minimum function alignment to one byte.
      	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
      	the least significant bit of vtable member function pointers.
      	* tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
      	here from cp/cp-tree.h.
      
      	* cp/cp-tree.h (enum ptrmemfunc_vbit_where_t): Delete definition
      	from here, and move it to tree.h.
      	* cp/decl.c (cxx_init_decl_processing): If storing the vbit
      	in function pointers, ensure that force_align_functions_log
      	is atleast one.
      
      	* java/lang.c (java_init): If storing the vbit in function
      	pointers, ensure that force_align_functions_log is atleast
      	one to aid compatability with g++ vtables.
      
      From-SVN: r57745
      Roger Sayle committed
  37. 27 Sep, 2002 1 commit
    • extend.texi (tls_model): Document. · dce81a1a
      	* doc/extend.texi (tls_model): Document.
      	* varasm.c (decl_tls_model): New.
      	* c-common.c (handle_tls_model_attribute): New.
      	(c_common_attribute_table): Add tls_model.
      	* config/alpha/alpha.c (alpha_encode_section_info): Use
      	decl_tls_model.
      	* flags.h (enum tls_model, flag_tls_default): Move...
      	* tree.h (enum tls_model, flag_tls_default): ...here.
      	(decl_tls_model): New prototype.
      	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
      	* config/i386/i386.c (ix86_encode_section_info): Likewise.
      	* config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
      	Allow !flag_pic.
      
      From-SVN: r57588
      Jakub Jelinek committed
  38. 22 Sep, 2002 1 commit
    • dbxout.c: Follow spelling conventions. · cc2902df
      	* dbxout.c: Follow spelling conventions.
      	* defaults.h: Likewise.
      	* df.c: Likewise.
      	* diagnostic.h: Likewise.
      	* doloop.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* flags.h: Likewise.
      	* flow.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* gcc.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genconfig.c: Likewise.
      	* genrecog.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc.h: Likewise.
      	* global.c: Likewise.
      	* gthr-win32.h: Likewise.
      	* integrate.c: Likewise.
      	* jump.c: Likewise.
      	* langhooks.c: Likewise.
      	* langhooks.h: Likewise.
      	* line-map.h: Likewise.
      	* local-alloc.c: Likewise.
      	* longlong.h: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise.
      
      From-SVN: r57406
      Kazu Hirata committed
  39. 30 Jul, 2002 1 commit
    • flags.h: Declare flag_finite_math_only. · 2e8f2e8f
      2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
      
      	* flags.h: Declare flag_finite_math_only.
      	Use it in definition of HONOR_NANS and
      	HONOR_INFINITIES.
      	* c-common.c (cb_register_builtins): Emit
      	__FINITE_MATH_ONLY__ when flag_finite_math_only
      	is set.
      	* combine.c (simplify_if_then_else): If
      	flag_finite_math_only is set, a == b has a
      	definite value.
      	* toplev.c: Initialize flag_finite_math_only.
      	(set_flags_fast_math): Set it on -ffast-math.
      	(flag_fast_math_set_p): Test it.
      doc:
      	* invoke.texi: Document -ffinite-math-only.
      f:
      	* com.c (ffe_init_options): Set
      	flag_finite_math_only.
      	* invoke.texi: Document -fno-finite-math-only.
      
      From-SVN: r55887
      Toon Moene committed