Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r81764
|
|
* flags.h (flag_short_enums): Update comment.
* opts.c (decode_options): Set flag_short_enums to 2.
* toplev.c (flag_short_enums): Update comment.
(process_options): Call default_short_enums target hook.
From-SVN: r81704
|
|
* commom.opt (Wfatal-errors): Add it.
* diagnostic.c (flag_fatal_errors): Define it.
(diagnostic_action_after_output): Check for flag_fatal_errors.
* flags.h (flag_fatal_errors): Declare it.
* opts.c (common_handle_option): Add OPT_Wfatal_errors.
* doc/invoke.texi (Warning Options): Document -Wfatal-errors.
From-SVN: r81323
|
|
-O3.
2004-04-17 Paolo Bonzini <bonzini@gnu.org>
* opts.c (decode_options): Do not enable flag_rename_registers
and flag_web at -O3.
* toplev.c (flag_rename_registers): Initialize
flag_rename_registers and flag_web to
AUTODETECT_FLAG_VAR_TRACKING.
(default_debug_hooks): New global.
(process_options): Initialize default_debug_hooks. Warn if
-fvar-tracking specified but not supported by the current
debug format. Do not run var tracking at -O0 or if not
supported by the current debug format, even if
-fvar-tracking was given. If -fno-rename-registers
is not specified, always run register renaming if var
tracking is supported by the default debugging information
format for the target, and we are at -O1 or higher; similarly
for -fweb, but only at -O2 or higher.
* doc/invoke.texi (Optimize Options): Document this.
From-SVN: r80789
|
|
2004-04-09 Caroline Tice <ctice@apple.com>
* basic-block.h (struct edge_def): Add new field, crossing_edge.
(struct basic_block_def): Add new field, partition.
(UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro
definitions.
(partition_hot_cold_basic_blocks): Add extern function
declaration.
* bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new
include statements.
(N_ROUNDS): Increase the maximum number of rounds by 1.
(branch_threshold): Add array value for new round.
(exec_threshold): Add array value for new round.
(push_to_next_round_p): New function.
(add_unlikely_executed_notes): New function.
(find_rarely_executed_basic_blocks_and_crossing_edges): New function.
(mark_bb_for_unlikely_executed_section): New function.
(add_labels_and_missing_jumps): New function.
(add_reg_crossing_jump_notes): New function.
(fix_up_fall_thru_edges): New function.
(find_jump_block): New function.
(fix_crossing_conditional_branches): New function.
(fix_crossing_unconditional_branches): New function.
(fix_edges_for_rarely_executed_code): New function.
(partition_hot_cold_basic_blocks): New function.
(find_traces): Add an extra round for partitioning hot/cold
basic blocks.
(find_traces_1_round): Add a parameter. Modify to push all cold blocks,
and only cold blocks, into the last (extra) round of collecting traces.
(better_edge_p): Add a parameter. Modify to favor non-crossing edges
over crossing edges.
(bb_to_key): Add code to correctly identify cold blocks when
doing partitioning.
(connect_traces): Modify to connect all the non-cold traces first, then
go back and connect up all the cold traces.
(reorder_basic_blocks): Add call to add_unlikely_executed_notes.
* cfg.c (entry_exit_blocks): Add initialization for partition field in
entry and exit blocks.
* cfgbuild.c (make_edges): Update current_function_has_computed_jump
if we are doing hot/cold partitioning.
* cfgcleanup.c (cfglayout.h): Add new include statement.
(try_simplify_condjump): Modify to not attempt on blocks with jumps
that cross section boundaries.
(try_forward_edges): Likewise.
(merge_blocks_move_predecessor_nojumps): Likewise.
(merge_blocks_move_successor_nojumps): Likewise.
(merge_blocks_move): Likewise.
(try_crossjump_to_edge): Modify to not attempt after we have done
the block partitioning.
(try_crossjump_bb): Modify to not attempt on blocks with jumps that
cross section boundaries.
(try_optimize_cfg): Likewise.
* cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
jumps that cross section boundaries.
* cfglayout.c (flags.h): Add new include statement.
(update_unlikely_executed_notes): New function.
(fixup_reorder_chain): Add code so when a new jumping basic block is
added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
updated appropriately.
(duplicate_insn_chain): Add code to duplicate the new NOTE insn
introduced by this optimization.
* cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new
extern function declaration.
* cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
list of notes that can be deleted.
(create_basic_block_structure): Add initialization for partition field.
(rtl_can_merge_blocks): Modify to test blocks for jumps that cross
section boundaries.
(try_redirect_by_replacing_jump): Modify to not attempt on jumps that
cross section boundaries.
(commit_one_edge_insertion): Add code so newly created basic block
ends up in correct (hot or cold) section. Modify to disallow
insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
(rtl_verify_flow_info_1): Add code to verify that no fall_thru edge
crosses section boundaries.
(cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
cross section boundaries.
(force_nonfallthru_and_redirect): Modify to make sure new basic block
ends up in correct section, with correct notes attached.
* common.opt (freorder-blocks-and-partition): Add new flag for this
optimization.
* dbxout.c (dbx_function_end): Add code to make sure scope labels at
the end of functions are written into the correct (hot or cold)
section.
(dbx_source_file): Add code so writing debug file information
doesn't incorrectly change sections.
* defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
in partitioning hot/cold basic blocks into separate sections.
(SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
section partitioning.
(HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
conditional branches can span all of memory.
(HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
unconditional branches can span all of memory.
* final.c (scan_ahead_for_unlikely_executed_note): New function.
(final_scan_insn): Add code to check for NOTE instruction indicating
whether basic block belongs in hot or cold section, and to make sure
the current basic block is being written to the appropriate section.
Also added code to ensure that jump table basic blocks end up in the
correct section.
* flags.h (flag_reorder_blocks_and_partition): New flag.
* ifcvt.c (find_if_case_1): Modify to not attempt if conversion if
one of the branches has a jump that crosses between sections.
(find_if_case_2): Likewise.
(ifcvt): Modify to not attempt to mark loop exit edges after
hot/cold partitioning has occurred.
* opts.c (decode_options): Code to handle new flag,
flag_reorder_blocks_and_partition; also to turn it off if
flag_exceptions is on.
(common_handle_option): Code to handle new flag,
flag_reorder_blocks_and_partition.
* output.h (unlikely_text_section): New extern function declaration.
(in_unlikely_text_section): New extern function declaration.
* passes.c (rest_of_handle_stack_regs): Add
flag_reorder_blocks_and_partition as an 'or' condition for calling
reorder_basic_blocks.
(rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition
as an 'or' condition for calling reorder_basic_blocks.
(rest_of_compilation): Add call to partition_hot_cold_basic_blocks.
* print-rtl.c (print_rtx): Add code for handling new note,
NOTE_INSN_UNLIKELY_EXECUTED_CODE
* rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
(REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
cross between section boundaries.
* rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction,
indicating the basic block containing it belongs in the cold section.
(REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
between hot and cold sections.
* toplev.c (flag_reorder_blocks_and_partition): Add code to
initialize this flag, and to tie it to the command-line option
freorder-blocks-and-partition.
* varasm.c (cfglayout.h): Add new include statement.
(unlikely_section_label_printed): New global variable, used for
determining when to output section name labels for cold sections.
(in_section): Add in_unlikely_executed_text to enum data structure.
(text_section): Modify code to use SECTION_FORMAT_STRING and
NORMAL_TEXT_SECTION_NAME macros.
(unlikely_text_section): New function.
(in_unlikely_text_section): New function.
(function_section): Add code to make sure beginning of function is
written into correct section (hot or cold).
(assemble_start_function): Add code to make sure stuff is written to
the correct section.
(assemble_zeros): Add in_unlikely_text_section as an 'or' condition
to an if statement that was checking 'in_text_section'.
(assemble_variable): Add 'in_unlikely_text_section' as an 'or'
condition to an if statement that was checking 'in_text_section'.
(default_section_type_flags_1): Add check: if in cold section
flags = SECTION_CODE.
* config/darwin.c (darwin_asm_named_section): Modify to use
SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
* config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
specifically for the i386.
(HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386.
* config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
text string to something more informative.
(NORMAL_TEXT_SECTION_NAME): Add new definition.
(SECTION_FORMAT_STRING): Add new definition.
* config/rs6000/rs6000.c (rs6000_assemble_integer): Add
'!in_unlikely_text_section' as an 'and' condition to an if statement
that was already checking '!in_text_section'.
* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
sure these are properly defined for linux on ppc.
* doc/invoke.texi (freorder-blocks-and-partition): Add documentation
for this new flag.
* doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new
reg_note.
* doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
these new macros.
From-SVN: r80564
|
|
max-inline-insns-* parameters when...
2004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
* opts.c (decode_options): Do function inlining with very small
max-inline-insns-* parameters when optimizing for size.
From-SVN: r80359
|
|
lang_hooks.foo ().
* alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
with lang_hooks.foo ().
* builtins.c (expand_builtin_va_arg): Likewise.
* c-common.c (fname_as_string, c_common_truthvalue_conversion,
c_common_type_for_mode, c_common_nodes_and_builtins,
handle_mode_attribute, handle_vector_size_attribute): Likewise.
* c-convert.c (convert): Likewise.
* c-format.c (check_format_types): Likewise.
* c-objc-common.c (c_tree_printer): Likewise.
* c-typeck.c (build_unary_op, build_conditional_expr,
build_binary_op): Likewise.
* calls.c (try_to_integrate, expand_call,
emit_library_call_value_1): Likewise.
* cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
Likewise.
* cgraphunit.c (record_call_1, cgraph_analyze_function,
cgraph_expand_function): Likewise.
* convert.c (convert_to_pointer, convert_to_integer): Likewise.
* coverage.c (build_fn_info_type, build_ctr_info_type,
build_gcov_info, create_coverage): Likewise.
* dbxout.c (dbxout_init): Likewise.
* diagnostic.c (diagnostic_report_current_function): Likewise.
* dojump.c (do_jump): Likewise.
* dwarf2out.c (dwarf2_name): Likewise.
* except.c (init_eh): Likewise.
* explow.c (expr_size, int_expr_size): Likewise.
* expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
Likewise.
* expr.c (store_expr, store_constructor, safe_from_p,
expand_expr_real, do_store_flag, try_casesi): Likewise.
* function.c (push_function_context_to, pop_function_context_from,
free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
put_var_into_stack, allocate_struct_function, current_function_name):
Likewise.
* integrate.c (copy_decl_for_inlining, expand_inline_function):
Likewise.
* langhooks.c (lhd_clear_binding_stack, write_global_declarations,
lhd_print_error_function): Likewise.
* opts.c (handle_option, decode_options): Likewise.
* passes.c (open_dump_file): Likewise.
* print-tree.c (print_node): Likewise.
* stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
expand_decl_cleanup, emit_case_nodes): Likewise.
* stor-layout.c (variable_size): Likewise.
* toplev.c (announce_function, wrapup_global_declarations,
check_global_declarations, compile_file, default_tree_printer,
process_options, lang_dependent_init, finalize): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-inline.c (remap_decl, remap_block, copy_body_r,
initialize_inlined_parameters, declare_return_variable,
inlinable_function_p, expand_call_inline, optimize_inline_calls,
walk_tree, copy_tree_r): Likewise.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
* tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
variably_modified_type_p, dump_tree_statistics): Likewise.
* varasm.c (assemble_variable, compare_constant, copy_constant,
force_const_mem, compute_reloc_for_constant, output_constant,
output_addressed_constants, initializer_constant_valid_p): Likewise.
From-SVN: r79481
|
|
* alias.c (alias_sets_might_conflict_p): New.
* c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
* common.opt (Wstrict-aliasing=): New.
* flags.h (warn_strict_aliasing): Change type to int.
* opts.c (warn_strict_aliasing): Change type to int.
(common_handle_option): Handle OPT_Wstrict_aliasing_.
* tree.h (alias_sets_might_conflict_p): Declare it.
* doc/invoke.tex (-Wstrict-aliasing=2): Document it.
From-SVN: r79222
|
|
2004-03-03 Mostafa Hagog <mustafa@il.ibm.com>
* common.opt: Add description of the new -fgcse-after-reload flag.
* flags.h (flag_gcse_after_reload): Declaration of global variable.
* gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
is_jump_table_basic_block, bb_has_well_behaved_predecessors,
get_bb_avail_insn, hash_scan_set_after_reload,
compute_hash_table_after_reload, eliminate_partially_redundant_loads,
gcse_after_reload, get_bb_avail_insn): New functions to implement
gcse-after-reload.
(gcse_after_reload_main): New function, the main entry point to
gcse-after-reload.
* rtl.h (gcse_after_reload_main): Declaration of the new function.
* opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
* toplev.c (flag_gcse_after_reload): Initialization.
* passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
* params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
the gcse after reload optimization.
* params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
parameters.
* doc/invoke.texi: Documentation for the new flag gcse-after-reload.
From-SVN: r78842
|
|
gcc/
Remove -fwritable-strings.
* c-common.c (fix_string_type): Don't check
flag_writable_strings.
(fix_string_type): Likewise.
* c-opts.c (set_std_c89): Don't initialize
flag_writable_strings.
(set_std_c99): Likewise.
* common.opt (fwritable-strings): Remove.
* flags.h: Remove the external declaration of
flag_writable_strings.
* opts.c (common_handle_option) <OPT_fwritable_strings>:
Remove.
* toplev.c (flag_writable_strings): Remove.
(f_options): Remove an entry for writable-strings.
* varasm.c (const_hash_1) <STRING_CST>: Don't check
flag_writable_strings.
(compare_constant) <STRING_CST>: Likewise.
(build_constant_desc): Likewise.
* config/darwin.c (machopic_select_section): Likewise.
* config/arm/arm.c (AOF_ASSEMBLER): Likewise.
* config/arm/pe.c (arm_pe_encode_section_info): Likewise.
* config/iq2000/iq2000.c (iq2000_select_section): Likewise.
* config/mips/mips.c (mips_select_section): Likewise.
(mips_encode_section_info): Likewise.
* config/pa/pa.c (pa_select_section): Likewise.
* config/pa/pa.h (TEXT_SPACE_P): Likewise.
* config/v850/v850.c (v850_select_section): Likewise.
* doc/invoke.texi (-fwritable-strings): Remove.
(-fno-const-strings): Don't mention -fwritable-strings.
* doc/trouble.texi: Don't mention -fwritable-strings.
gcc/cp/
* decl.c (cxx_init_decl_processing): Don't check
flag_writable_strings.
gcc/testsuite/
* gcc.dg/fwritable-strings-1.c: Remove.
Co-Authored-By: Kazu Hirata <kazu@cs.umass.edu>
From-SVN: r78333
|
|
* Makefile.in (opts.o): Depend on target.h.
* opts.c (decode_options): Use targetm.default_short_enums
instead of DEFAULT_SHORT_ENUMS.
* system.h (DEFAULT_SHORT_ENUMS): Poison.
* target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
(TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
* target.h (gcc_target): Add default_short_enums.
* config/cris/cris.h: Remove a comment about
DEFAULT_SHORT_ENUMS.
* config/ip2k/ip2k.h: Likewise.
* doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
TARGET_DEFAULT_SHORT_ENUMS. Update the description.
From-SVN: r78303
|
|
Revert:
2004-02-19 Kazu Hirata <kazu@cs.umass.edu>
* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
* system.h (DEFAULT_SHORT_ENUMS): Poison.
* config/cris/cris.h: Remove a comment about
DEFAULT_SHORT_ENUMS.
* config/ip2k/ip2k.h: Likewise.
* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
From-SVN: r78168
|
|
* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
* system.h (DEFAULT_SHORT_ENUMS): Poison.
* config/cris/cris.h: Remove a comment about
DEFAULT_SHORT_ENUMS.
* config/ip2k/ip2k.h: Likewise.
* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
From-SVN: r78122
|
|
value is implicit first parameter preceding "this")
PR c++/11326
* c-common.c (flag_abi_version): Remove.
* c-common.h (flag_abi_version): Likewise.
* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
* c.opt (fabi-version): Remove.
* calls.c (expand_call): Always pass a function type to
struct_value_rtx. Use convert_memory_address.
* common.opt (fabi-version): Add it.
* flags.h (flag_abi_version): Likewise.
(abi_version_at_least): New macro.
* opts.c (common_handle_option): Add OPT_fabi_version.
* toplev.c (flag_abi_version): Define it.
* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
New function.
(ia64_output_mi_thunk): Use it.
(ia64_struct_value_rtx): Likewise.
PR c++/11326
* cp-tree.h (abi_version_at_least): Remove.
* mangle.c: Include flags.h.
PR c++/11326
* g++.dg/abi/structret1.C: New test.
From-SVN: r77968
|
|
Josef Zlomek <zlomekj@suse.cz>
* Makefile.in (var-tracking.o): New.
* common.opt (fvar-tracking): New.
* flags.h (flag_var_tracking): New.
* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
* opts.c (common_handle_option): Add OPT_fvar_tracking.
* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
* rtl.c (note_insn_name): Likewise.
* rtl.def (VAR_LOCATION): New.
* rtl.h (NOTE_VAR_LOCATION): New.
(NOTE_VAR_LOCATION_DECL): New.
(NOTE_VAR_LOCATION_LOC): New.
(enum insn_note): NOTE_INSN_VAR_LOCATION was added.
(variable_tracking_main): New exported function.
* timevar.def (TV_VAR_TRACKING): New.
* toplev.c (enum dump_file_index): Added DFI_vartrack.
(dump_file): "vartrack" was added (-dV).
(flag_var_tracking): New.
(f_options): "var-tracking" was added.
(rest_of_handle_variable_tracking): New function.
(rest_of_compilation): Run variable tracking.
(process_options): If user has not specified flag_var_tracking set it
according to optimize, debug_info_level and debug_hooks.
* tree.h (frame_base_decl): New.
* var-tracking.c: New file.
* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
(ia64_override_options): Set flags to run variable tracking in machine
dependent reorg instead of toplev.c.
(ia64_reorg): Run variable tracking if wanted.
* doc/invoke.texi: Mention variable tracking in -dV,
add and -fvar-tracking.
* doc/passes.texi: Added variable tracking pass.
Daniel Berlin <dberlin@dberlin.org>
* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
* dbxout.c (dbx_debug_hooks): Likewise.
(xcoff_debug): Likewise.
* debug.c (do_nothing_debug_hooks): Likewise.
* dwarf2out.c (dwarf2_debug_hooks): Likewise.
* dwarfout.c (dwarf_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
* final.c (final_scan_insn): Call var_location debug hook for each
NOTE_INSN_VAR_LOCATION.
Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
From-SVN: r77418
|
|
* c-ppoutput.c (pp_dir_change): New function.
* c-common.h (pp_dir_change): New declaration.
* cpplib.h (struct cpp_options): Remove working_directory field.
* cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
(cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
Don't handle -fworking_directory here, but in c_common_post_options.
(read_original_directory): Don't back up when done.
Don't clear no-longer used working_directory flag.
* cpplib.h: Update declarations to match.
* c-lex.c (cb_dir_change): Move to c-opts.c.
(init_c_lex): Don't set dir_change callback here, since we want
to set it even if flag_preprocess_only.
* c-opts.c (cb_dir_change): Function moved from c-lex.c.
(c_common_post_options): Set dir_change callback.
Call pp_dir_change if approporiate.
(finish_options): Don't call cpp_find_main_file here. Hence remove
unneeded parameter and result. Do LC_RENAME for <built-in>.
(c_common_post_options): Call cpp_read_main_file here instead.
(c_common_init): Update accordingly.
(push_command_line_include): Don't cpp_push_main_file.
Do LC_RENAME rather than LC_LEASE to get back to main file.
Compared to pre-10-01 version, inline cpp_rename_to_main_file.
(c_common_parse_file): Call cpp_read_main_file for subsequent main
files, but call finish_options for all files.
* c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
* fix-header.c (read_scan_file): Call cpp_read_main_file instead of
cpp_find_main_file + cpp_push_main_file.
* c-lex.c (fe_file_change): Don't set main_input_filename here.
* opts.c (handle_options): Only set main_input_filename first time.
From-SVN: r77303
|
|
'long long' with constant)
* Makefile.in (bt-load.o): Depend on except.h.
* bt-load.c (except.h): #include.
(compute_defs_uses_and_gen): If insn at end of BB can throw
within this function, consider registers used by it unavailable for
btr migration.
(move_btr_def): If insn at end of BB can throw, insert before rather
than after.
* flags.h (flag_btr_bb_exclusive): Declare.
* toplev.c (flag_btr_bb_exclusive): New variable.
(f_options): Add btr-bb-exclusive.
* bt-load.c (augment_live_range): Restore old behaviour if
flag_btr_bb_exclusive is set.
* common.opt: Add entry for -fbtr-bb-exclusive.
* opts.c (common_handle_options): Same.
* doc/invoke.texi: Document -fbtr-bb-exclusive.
* bt-load.c (btrs_live_at_end): New variable.
(compute_defs_uses_and_gen): Compute its pointed-to array.
(clear_btr_from_live_range, add_btr_to_live_range): Update it.
(augment_live_range): When augmenting with a new dominator,
use only its btrs_live_at_end set, but also add in the full set
of the old dominator.
(btr_def_live_range): Use btrs_live_at_end.
(move_btr_def): Set other_btr_uses_before_def, and move new set
to the end of the basic block, if appropriate.
(migrate_btr_defs): Allocate and free btrs_live_at_end.
* bt-load.c (basic_block_freq): Remove outdated comment.
2004-01-27 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.h: Correct target_flags free bits comment.
(PREDICATE_CODES): Remove duplicate.
* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
(MASK_PROFILE_KERNEL): Adjust define.
2004-01-27 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
of long string literals from 32 bytes to sizeof (void *) when !-Os
and to 1 with -Os.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
constant addresses in the normal mode.
2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* system.h (CHAR_BITFIELD): Delete.
(BOOL_BITFIELD): New.
* c-decl.c (c_scope): Use BOOL_BITFIELD.
* gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(arc_return_in_memory): Likewise.
* config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
(PROMOTE_FUNCTION_RETURN): Likewise.
(RETURN_IN_MEMORY): Likewise.
(STRUCT_VALUE): Likewise.
2004-01-26 Richard Henderson <rth@redhat.com>
* c-parse.in (extension): Use itype.
(SAVE_EXT_FLAGS): Don't allocate a tree.
(RESTORE_EXT_FLAGS): Don't read a tree.
2004-01-26 Jan Hubicka <jh@suse.cz>
* cselib.c (discard_useless_values): Clear out value pointer pointing
to datastructure to be recycled.
2004-01-25 Jan Hubicka <jh@suse.cz>
* genextract.c (main): Do not output the memset when not checking.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
switch statement instead of a chain of if statements.
2004-01-26 Jeff Law <law@redhat.com>
* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
acute accents for Petur Runolfsson's entry.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
(TARGET_RETURN_IN_MEMORY): Likewise.
* config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
(RETURN_IN_MEMORY): Likewise.
2004-01-26 Fariborz Jahanian <fjahanian@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_move): split slow
unaligned load/store into smaller loads and stores.
2004-01-26 Fariborz Jahanian <fjahanian@apple.com>
* function.c (assign_parms): Do not assign
long long argument to memory in prologue if
is it loaded into register.
2004-01-26 Fariborz Jahanian <fjahanian@apple.com>
PR middle-end/13779
* expr.c (emit_group_load): split constant
correctly into register components of PARALLEL insn.
2004-01-26 Fariborz Jahanian <fjahanian@apple.com>
* gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
Use adjust_address_nv directly with appropriate mode.
(restore_stack_nonlocal): Ditto.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/xtensa/xtensa-protos.h: Remove the prototype for
xtensa_builtin_saveregs.
* config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(xtensa_builtin_saveregs): Make it static.
(xtensa_return_in_memory): New.
* config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
(PROMOTE_FUNCTION_RETURN): Likewise.
(PROMOTE_PROTOTYPES): Likewise.
(STRUCT_VALUE): Likewise.
(RETURN_IN_MEMORY): Likewise.
(EXPAND_BUILTIN_SAVEREGS): Likewise.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
(arm_setup_incoming_varargs): Likewise.
* config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
(cris_setup_incoming_varargs): Likewise.
* config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
(ns32k_struct_value_rtx): Likewise.
* config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
NS32K_STRUCT_VALUE_REGNUM.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(arm_struct_value_rtx): Likewise.
* config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
(STRUCT_VALUE): Likewise.
(STRUCT_VALUE_REGNUM): Likewise.
(PROMOTE_PROTOTYPES): Likewise.
2004-01-26 Kazu Hirata <kazu@cs.umass.edu>
* config/ia64/ia64-protos.h: Remove the prototype for
ia64_setup_incoming_varargs and ia64_return_in_memory.
* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(ia64_setup_incoming_varargs): Adjust the arguments to meet
the requirement of TARGET_SETUP_INCOMING_VARARGS.
(ia64_return_in_memory): Make it static. Change the return
type to bool from int. Add an argument.
(ia64_struct_value_rtx): New.
* config/ia64/ia64.h: Remove commented-out definitions of
PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
PROMOTE_PROTOTYPES.
(RETURN_IN_MEMORY): Remove.
(STRUCT_VALUE_REGNUM): Likewise.
(STRICT_ARGUMENT_NAMING): Likewise.
2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/13666
* config/sparc/sparc.c (function_arg_union_value): New function.
(function_arg): Use it to deal with unions.
(function_value): Likewise. Define 'regbase' only for ARCH64.
Replace a conditional statement by a simpler one.
2004-01-26 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips16_optimize_gp): Delete.
(mips_reorg): Don't call it.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
(floatunsqihf2): Remove operand 6.
(fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
fix patterns.
(ldi_conditional, ldf_conditional): Validate operands.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
(HAVE_GAS_HIDDEN): Undefine as interim measure.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
memory references if TARGET_EXPOSE_LDP nonzero.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
invalid operand combinations.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (c4x_check_legit_addr): Rename to
c4x_legitimate_address_p. Fix post_modify check.
* config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
* config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/pa/pa-protos.h: Remove the prototype for
hppa_builtin_saveregs. Add a prototype for
pa_return_in_memory.
* config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(pa_struct_value_rtx): Likewise.
(pa_return_in_memory): Likewise.
* config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
PA_STRUCT_VALUE_REGNUM.
(INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
(EXPAND_BUILTIN_SAVEREGS): Remove.
(PROMOTE_PROTOTYPES): Likewise.
(PROMOTE_FUNCTION_RETURN): Likewise.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(vax_struct_value_rtx): Likewise.
* config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
VAX_STRUCT_VALUE_REGNUM.
(PROMOTE_PROTOTYPES): Remove.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref.
2003-04-25 Chris Demetriou <cgd@broadcom.com>
* config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
and MIPS64 have HI/LO interlocks. Update comment.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/stormy16/stormy16-protos.h: Remove the prototype for
xstormy16_setup_incoming_varargs.
* config/stormy16/stormy16.c
(xstormy16_setup_incoming_varargs): Remove.
(xstormy16_return_in_memory): New.
(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
* config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
(PROMOTE_FUNCTION_RETURN): Likewise
(PROMOTE_PROTOTYPES): Likewise
(RETURN_IN_MEMORY): Likewise
(STRUCT_VALUE): Likewise
(SETUP_INCOMING_VARARGS): Likewise
2004-01-25 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_offset_within_object_p): New function.
(mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
ABI has 64-bit pointers and the object file only allows 32-bit symbols.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
(PROMOTE_FUNCTION_RETURN): Likewise.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/mn10300/mn10300-protos.h: Remove the prototype for
mn10300_builtin_saveregs.
* config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
(mn10300_return_in_memory): Likewise.
(mn10300_builtin_saveregs): Make it static.
* config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
(RETURN_IN_MEMORY): Likewise.
(STRUCT_VALUE): Likewise.
(EXPAND_BUILTIN_SAVEREGS): Likewise.
2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
PR bootstrap/13853
* cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
using ccr.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/i860/i860-protos.h: Remove the prototype for
i860_saveregs.
* config/i860/i860.c (i860_saveregs): Make it static.
(i860_struct_value_rtx): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
* config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
I860_STRUCT_VALUE_REGNUM.
(EXPAND_BUILTIN_SAVEREGS): Remove.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
(TARGET_RETURN_IN_MEMORY): Likewise.
(m68hc11_struct_value_rtx): Likewise.
(m68hc11_return_in_memory): Likewise.
* config/m68hc11/m68hc11.h: Remove a commented-out definition
of PROMOTE_PROTOTYPES.
(RETURN_IN_MEMORY): Remove.
(STRUCT_VALUE_REGNUM): Likewise.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/mmix/mmix-protos.h: Remove the prototype for
mmix_setup_incoming_varargs.
* config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(mmix_setup_incoming_varargs): Make it static.
(mmix_struct_value_rtx): New.
* config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
(STRUCT_VALUE_REGNUM): Remove.
(SETUP_INCOMING_VARARGS): Likewise.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/mips/mips-protos.h: Remove the prototypes for
mips_setup_incoming_varargs and mips_return_in_memory.
* config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_PROMOTE_PROTOTYPES): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(mips_setup_incoming_varargs): Match the prototype for
TARGET_SETUP_INCOMING_VARARGS.
(mips_return_in_memory): Make it static. Add argument fntype.
(mips_strict_argument_naming): New.
* config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
(PROMOTE_FUNCTION_ARGS): Likewise.
(PROMOTE_FUNCTION_RETURN): Likewise.
(STRUCT_VALUE): Likewise.
(RETURN_IN_MEMORY): Likewise.
(SETUP_INCOMING_VARARGS): Likewise.
(STRICT_ARGUMENT_NAMING): Likewise.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(ip2k_return_in_memory): Likewise.
(ip2k_setup_incoming_varargs): Likewise.
* config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
(STRUCT_VALUE): Likewise.
(STRUCT_VALUE_INCOMING): Likewise.
(SETUP_INCOMING_VARARGS): Likewise.
2004-01-25 Kazu Hirata <kazu@cs.umass.edu>
* config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
(TARGET_RETURN_IN_MEMORY): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(avr_return_in_memory): Remove.
* config/avr/avr.h (RETURN_IN_MEMORY): Remove.
(STRUCT_VALUE): Likewise.
(STRUCT_VALUE_INCOMING): Likewise.
(STRICT_ARGUMENT_NAMING): Likewise.
2004-01-25 Jan Hubicka <jh@suse.cz>
* combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
2004-01-25 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
(mips_regno_mode_ok_for_base_p): Declare.
* config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
(FRAME_POINTER_REGNUM): Renumber to 78.
(FIRST_PSEUDO_REGISTER): Update comment accordingly.
(BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
(GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
(REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
(REG_MODE_OK_FOR_BASE_P): Likewise.
* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
entry for 77 to "$arg" and entry for 78 to "$frame".
(mips_regno_to_class): Map 77 and 78 to ALL_REGS.
(mips_reg_mode_ok_for_base_p): Remove.
(mips_regno_mode_ok_for_base_p): New function, derived from old
BASE_REG_P macro. Don't enforce the mips16 stack pointer
restrictions unless we're being strict.
(mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* c-common.h: Fix comment typos.
* c-decl.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* et-forest.c: Likewise.
* flow.c: Likewise.
* function.c: Likewise.
* ifcvt.c: Likewise.
* integrate.c: Likewise.
* jump.c: Likewise.
* postreload.c: Likewise.
* varray.c: Likewise.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* doc/frontends.texi: Update copyright.
* doc/gcov.texi: Likewise.
* doc/gty.texi: Likewise.
* doc/sourcebuild.texi: Likewise.
* doc/standards.texi: Likewise.
2004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
PR target/12978
* c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
Remove movstrqi_small because it conflicts with movstrqi_large.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(cris_struct_value_rtx): Likewise.
* config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
(CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
STRUCT_VALUE_REGNUM.
(STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
2004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
PR bootstrap/13848
* cse.c (cse_cc_succs): Change the mode of the source expression
as soon as decide we need a new mode. Don't permit changing modes
if we found a match in a successor block.
(cse_condition_code_reg): Save original mode of source expression
so that we know whether we have to change the mode in other
insns.
2004-01-24 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (change_address, adjust_address_1, offset_address,
widen_memory_access): Return early when there is nothing to change.
2004-01-24 Jakub Jelinek <jakub@redhat.com>
* simplify-rtx.c (simplify_relational_operation): Don't
simplify address == constant into address + -constant == 0.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* gcc.c (process_command): Don't internationalize the
Copyright message.
* mips-tfile.c (main): Likewise.
2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
* cse.c: (cse_cc_succs) Fix comparison warning.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md: Remove extraneous USE in expanders.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300-protos.h: Provide prototypes for
h8300_legitimate_constant_p and h8300_legitimate_address_p.
* config/h8300/h8300.c (h8300_legitimate_constant_p): New.
(h8300_rtx_ok_for_base_p): Likewise.
(h8300_legitimate_address_p): Likewise.
* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
h8300_legitimate_constant_p.
(RTX_OK_FOR_BASE_P): Remove.
(GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
(REG_OK_FOR_INDEX_STRICT_P): Likewise.
(REG_OK_FOR_BASE_STRICT_P): Likewise.
(REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
(REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
(REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
(REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
2004-01-24 Jan Hubicka <jh@suse.cz>
* cselib.c (remove_useless_values): Do not access discarded values.
2004-01-24 Joseph S. Myers <jsm@polyomino.org.uk>
* c-typeck.c (build_conditional_expr): Do not allow non-lvalue
arrays.
2004-01-23 Kazu Hirata <kazu@cs.umass.edu>
* recog.c: Fix a typo in copyright.
2004-01-23 Andrew Pinski <apinski@apple.com>
* config/rs6000/rs6000.md (call): Fix misappiled patch.
(call_value): Likewise.
2004-01-23 Richard Henderson <rth@redhat.com>
PR opt/12941
* combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
(simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
if SHIFT_COUNT_TRUNCATED is set.
2004-01-23 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
separate real and imaginary parts.
* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
2004-01-23 Hartmut Penner <hpenner@de.ibm.com>
PR target/13674
* config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
loading into GPR.
2004-01-23 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing
change.
* alloc-pool.c (align_four): Kill.
(create_alloc_pool): Align size to eight.
(free_alloc_pool, free_pool): Invalidate deallocated data.
2004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
PR gcc/1532
* cse.c (cse_change_cc_mode): New static function.
(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
(cse_condition_code_reg): New function.
* rtl.h (cse_condition_code_reg): Declare.
* toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
* target.h (struct gcc_target): Add fixed_condition_code_regs and
cc_modes_compatible.
* target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
(TARGET_CC_MODES_COMPATIBLE): Define.
(TARGET_INITIALIZER): Add new initializers.
* targhooks.c (default_cc_modes_compatible): New function.
* targhooks.c (default_cc_modes_compatible): Declare.
* hooks.c (hook_bool_intp_intp_false): New function.
* hooks.h (hook_bool_intp_intp_false): Declare.
* config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
(TARGET_CC_MODES_COMPATIBLE): Define.
(ix86_fixed_condition_code_regs): New static function.
(ix86_cc_modes_compatible): Likewise.
* doc/tm.texi (Condition Code): Document new hooks.
2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (bad_lval): Renamed to ...
(alpha_bad_lval): ... this.
Removed file list.
Restrict to alpha*-dec-osf*.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/dirent.h: Remove, moving test ...
* fixinc/tests/base/testing.h: ... here, reflecting new name.
2004-01-23 Zack Weinberg <zack@codesourcery.com>
PR c/13814
* c-decl.c (diagnose_mismatched_decls): Also discard a
built-in if we encounter an old-style definition with the
same name.
2004-01-23 Jakub Jelinek <jakub@redhat.com>
* config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
set to default{32,64}.
2004-01-21 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
[!__powerpc64__]: Corrected to handle kernels with changed ucontext.
2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
Olivier Hainque <hainque@act-europe.fr>
* fold-const.c (fold_binary_op_with_conditional_arg): Only
build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
2004-01-23 Daniel Jacobowitz <drow@mvista.com>
* config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
size for minipool references.
2004-01-23 Roger Sayle <roger@eyesopen.com>
* real.c (real_floor, real_ceil): Tweak to allow input and output
arguments to overlap.
(real_round): New function to implement round(3m) semantics.
* real.h (real_round): Prototype here.
* builtins.c (fold_builtin_round): New function to constant fold
round, roundf and roundl.
(fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
2004-01-23 Alexandre Oliva <aoliva@redhat.com>
PR optimization/13819
* config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
introduced by 2004-01-20's Jan Hubicka's copy_insn change.
(sh_handle_sp_switch_attribute): Remove warning.
2003-11-30 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
2004-01-23 J"orn Rennecke <joern.rennecke@superh.com>
* doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
may or may not return non-NIL.
* postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
check CANNOT_CHANGE_MODE_CLASS
2004-01-23 Jan Hubicka <jh@suse.cz>
* basic-block.h (PROP_POSTRELOAD): New macro.
(CLEANUP_LOG_LINKS): New.
* cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
* toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
* cselib.c (value_pool): New.
(new_cselib_val): Use pool.
(cselib_init): Initialize value_pool
(cselib_finish): Free pool.
2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (scan_record_type): New function.
(function_arg_slotno): Use it to determine which kinds of
registers the record can be passed in.
2004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca>
* config/pa/fptr.c: Fix old-style definition.
2004-01-22 Paolo Bonzini <bonzini@gnu.org>
PR optimization/13724
* cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it
represents the zero bits produced by a ZERO_EXTEND operation.
2004-01-22 Roger Sayle <roger@eyesopen.com>
PR optimization/13821
* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
correctly calculate the lowpart offset of the contracted subreg.
2004-01-22 Ian Lance Taylor <ian@wasabisystems.com>
* doc/invoke.texi (Optimize Options): Note that --param arguments
are subject to change without notice.
2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config.gcc (mips-sgi-irix6*o32): Removed.
* config/mips/iris6-o32-as.h: Likewise.
* config/mips/iris6-o32-gas.h: Likewise.
* config/mips/iris6-o32.h: Likewise.
2004-01-22 Jan Hubicka <jh@suse.cz>
* cfgcleanup.c (first_pass): New static variable.
(try_forward_edges): Add work limiting check for threading.
(try_crossjump_bb): Add work limiting check for crossjumping.
(try_optimize_cfg): Maintain first pass variable.
2004-01-22 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
handles complex and vector modes.
2004-01-22 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
(REG_OK_FOR_BASE_P_STRICT): Likewise.
(STRICT): Likewise.
2004-01-22 Daniel Jacobowitz <drow@mvista.com>
* c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
(genrtl_for_stmt): Remove emit_nop calls.
2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/13713
PR target/13324
* pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
2004-01-22 Daniel Jacobowitz <drow@mvista.com>
* config/arm/arm.c: Include "debug.h".
(thumb_pushpop): Take two new arguments. Add some commentary.
Output frame information when pushing.
(thumb_exit, thumb_unexpanded_epilogue): Update calls to
thumb_pushpop.
(thumb_output_function_prologue): Likewise. Accumulate a CFA
offset, and pass it to thumb_pushpop. Output CFI information.
(thumb_expand_prologue): Add some frame-related markers and notes.
2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (s390_frame_info): Allow large frame sizes
for TARGET_64BIT.
(s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
* config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
2004-01-22 Roger Sayle <roger@eyesopen.com>
Paolo Bonzini <bonzini@gnu.org>
* rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
(subreg_lsb): Change to call new subreg_lsb_1 helper function.
* rtl.h (subreg_lsb_1): Prototype here.
* simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
sign extensions.
2004-01-22 Kazu Hirata <kazu@cs.umass.edu>
* doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
macro need not be defined if jump-tables should contain
relative addresses only when -fPIC or -fPIC is in effect.
2004-01-22 Jan Hubicka <jh@suse.cz>
* alias.c (reg_base_value): Turn into varray.
(reg_base_value_size): Kill.
(old_reg_base_value): New deletable varray.
(alias_invariant_size): New variable.
(REG_BASE_VALUE): Update to use varray.
(find_base_value): Likewise.
(record_set): Likewise.
(record_base_value): Likewise.
(memrefs_conflict_p): Likewise.
(record_set): Likewise
(record_base_value): Likewise.
(memrefs_conflict_p): Use alias_invariant_size.
(init_alias_analysis): Use varray; set alias_invariant_size;
rescale other arrays to be sized by maxreg.
(end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (function_arg_slotno): Use
FLOAT_TYPE_P to detect FP fields in structures.
(function_arg_record_value_1): Likewise.
(function_arg_record_value_2): Likewise.
2004-01-22 Jan Hubicka <jh@suse.cz>
* function.c (allocate_struct_function): Do not initialize expr, emit
and varasm.
(prepare_function_start): Do it here.
* c-parse.in (maybe_type_qual): Do not produce line number notes.
2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/13559
* config/sparc/sparc.c (function_arg_record_value_3): Revert
to 'word_mode' once the first slot has been filled.
2004-01-22 Olivier Hainque <hainque@act-europe.fr>
* config/sparc/sparc.c (function_arg_record_value_1): Fix
computation of the number of integer registers required.
2004-01-21 Kazu Hirata <kazu@cs.umass.edu>
* config/i386/i386.md: Simplify certain comparisons of
const_int.
2004-01-21 Andrew Pinski <apinski@apple.com>
PR target/13785
* config/rs6000/rs6000.md (call_value): Force operand
1 not operand 0 into a register.
2004-01-21 Kazu Hirata <kazu@cs.umass.edu>
* cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
unwind-dw2-fde.h: Update copyright.
2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa-protos.h: Update copyright.
* pa.h: Likewise.
* pa.md: Likewise.
2004-01-21 Caroline Tice <ctice@apple.com>
PR target/12308
* config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
flags register.
(fix_truncdfdi2): Likewise.
(fix_truncsfdi2): Likewise.
(*fix_truncdi_1): Likewise.
(fix_truncxfsi2): Likewise.
(fix_truncdfsi2): Likewise.
(fix_truncsfsi2): Likewise.
(*fix_truncsi_1): Likewise.
(fix_truncxfhi2): Likewise.
(fix_truncdfhi2): Likewise.
(fix_truncsfhi2): Likewise.
(*fix_trunchi_1): Likewise.
2004-01-21 Kazu Hirata <kazu@cs.umass.edu>
* alias.c, basic-block.h, c-common.c, c-common.h,
c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
genautomata.c, genconditions.c, genemit.c, genflags.c,
gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
unwind.h, varray.c, varray.h: Update copyright.
2004-01-21 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/coff.h: Update copyright.
* config/h8300/elf.h: Likewise.
* config/h8300/h8300-protos.h: Likewise.
* config/h8300/h8300.c: Likewise.
* config/h8300/h8300.h: Likewise.
* config/h8300/h8300.md: Likewise.
2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
ultrix_unistd): New hacks.
* fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
ULTRIX_CONST2_CHECK): Add checks.
* fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
* fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
* fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
* fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
* fixinc/tests/base/locale.h: New file.
* fixinc/fixincl.x: Rebuilt.
2004-01-21 Andreas Jaeger <aj@suse.de>
Michael Matz <matz@suse.de>
* doc/extend.texi (Extended Asm): Clarify memory clobber.
2004-01-21 Jakub Jelinek <jakub@redhat.com>
* crtstuff.c (frame_dummy, __do_global_ctors_1): Call
_Jv_RegisterClasses through a function pointer.
2004-01-21 Falk Hueffner <falk@debian.org>
PR target/12898
* config/alpha/alpha.c (alpha_emit_set_const_1): If
no_new_pseudos, use gen_rtx_SET directly for SImode constants
which need multiple instructions to emit.
2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
* config/m32r/m32r.h (CPP_SPEC): Define.
2004-01-21 Zack Weinberg <zack@codesourcery.com>
* c-decl.c (merge_decls): Kill different_binding_level and
different_tu arguments; simplify throughout.
(duplicate_decls): Likewise.
(pushdecl, merge_translation_unit_decls): Update calls to
duplicate_decls.
2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
$(SYSTEM_H).
(print-rtl1.o): Depend on $(SYSTEM_H).
2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
PR bootstrap/12730
* configure.ac: Delete definition and subsitution of docdir.
Add info, man, srcman and srcinfo to target hooks. Create doc/
directory.
* configure: Regenerate.
* Makefile.in: Don't substitute docdir and delete all references
throughout.
(MAKEINFOFLAGS): Define.
(stmp-docobjdir): Delete.
(INFOFILES, MANFILES): Define.
(info): Call lang.info, srcinfo and lang.srcinfo.
(generated-manpages): Call lang.man, srcman and lang.srcman.
(srcinfo, srcman): New rules to copy back files to source directory.
(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
(install-man): Revamp rule.
(clean): Update dvi directory.
(distclean): Delete TAGS from front end directorys.
(maintainer-clean): Delete all document files in source directory.
objc/Make-lang.in (objc.man, objc.info): Dummy entries.
(objc.srcman, objc.srcinfo): Likewise.
2004-01-20 Bruce Korb <bkorb@gnu.org>
* fixinc/inclhack.def(math_exception): bypass only for glibc.
(matherr_decl): rename & relocate as exception_structure.
This fix must precede the math_exception fix.
2004-01-20 Roger Sayle <roger@eyesopen.com>
* fold-const.c (fold_convert): Rename to fold_convert_const.
(fold_convert_const): Change arguments to take a tree_code,
a type and the operand/expression to be converted. Return
NULL_TREE if no simplification is possible. Add support for
FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
(fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
Adjust call to fold_convert to match new fold_convert_const.
Avoid modifying the tree passed to fold in-place.
2004-01-21 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
* dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
* doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
* pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
(emit_move_sequence): Check scratch_reg first in various if statements.
Extend source simplification to handle all 64-bit CONST_INTs.
(pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
frame size.
(hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
frame offset calculations.
* pa.h (NEW_HP_ASSEMBLER): Add comment.
(MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
LEGITIMATE_64BIT_CONST_INT_P): Define.
(LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
any CONST_INT as legitimate during and after reload.
(VAL_32_BITS_P, INT_32_BITS): Define.
(LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
2004-01-20 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
containing hard regs are shared.
(gen_hard_reg_clobber): New function.
(hard_reg_clobbers): New array.
* genemit.c (gen_exp): Use gen_hard_reg_clobber.
(copy_rtx): Do not copy clobbers containing hard regs.
* rtl.h (gen_hard_reg_clobber): Declare.
2004-01-20 Jan Hubicka <jh@suse.cz>
* varray.c: Include hashtab.h
(varray_descriptor): New structure.
(hash_descriptor, eq_descriptor, varray_descriptor,
print_statistics): New static functions
(varray_init, varray_grow): Update statistics
(dump_varray_statistics): New function.
* varray.h (dump_varray_statistics): Declare.
* toplev.c (finalize): Call it.
* Makefile.in (varray.o): Add dependency.
2004-01-20 Jan Hubicka <jh@suse.cz>
* cselib.c: Include alloc-pool.h
(empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
(elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
(new_elt_list, new_elt_loc_list, unchain_one_elt_list,
unchain_one_elt_loc_list_pool, unchain_one_value,
new_cselib_val): Simplify using allocpool.
(cselib_init): Initialize allocpools.
(cselib_finish): Finish allocpools.
* Makefile.in (cselib.o): Depend on alloc-pool.h
2004-01-20 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_load_call_address): Make the call insn
use $gp if it could be calling a lazy binding stub.
2004-01-20 Kazu Hirata <kazu@cs.umass.edu>
* config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
(TARGET_STRUCT_VALUE_RTX): Likewise.
* config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
(PROMOTE_FUNCTION_RETURN): Remove.
(STRUCT_VALUE): Remove.
2004-01-20 Denis Chertykov <denisc@overta.ru>
PR bootstrap/13735
* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
register as pointer after reload.
2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
PR optimization/12440
* loop.c: Include ggc.h.
(loop_optimize): Run garbage collector between optimization of loops.
* Makefile.in (loop.o): Add GGC_H dependency.
2004-01-20 Hartmut Penner <hpenner@de.ibm.com>
* gcc/config/rs6000/rs6000.c (function_arg) Handle
vector register special in function without prototype.
(function_arg_advance): Vector parameters get always
GPRs allocated for the linux64 target.
2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
not TARGET_M32RX_MASK.
2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/13557
* config/sparc/sparc.c (function_arg): Reorder the cases.
2004-01-19 Per Bothner <per@bothner.com>
Move cpp_reader's line_maps field to a shared global.
* cpphash.h (cpp_reader): Rename line_maps field to line_table
and change the type to a pointer rather than a struct.
* cppinit.c (cpp_push_main_field): Adjust accordingly.
* cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
Likewise.
* cppfiles.c (validate_pch): Likewise.
* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
Likewise.
* cpperror.c (print_location): Likewise.
* cpplib.h (cpp_create_reader): New line_maps pointer parameter.
* cppinit.c (cpp_create_reader): Handle new parameter.
(cpp_destroy): Don't free line_maps - that's no longer our job.
* input.h (line_table): New variable.
* toplev.c (line_table): Declare variable.
(general_init): Initialize line_table.
* c-opts.c (c_common_init_options): Pass line_table to
cpp_create_reader.
* fix-header.c (read_scan_file): New local variable line_table.
Initialize, and pass it to cpp_create_reader.
* Makefile.in (LIBS, LIBDEPS): Add libcpp.a.
(C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a.
2004-01-19 Per Bothner <per@bothner.com>
Implement a cache for linemap_lookup.
* line-map.h (struct_line_maps): Add cache field.
* line-map.c (linemap_init): Zero cache field.
(linemap_add): Set cache field to offset of newly allocated map.
(linemap_lookup): Use and set cache field.
2004-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
PR optimization/13567
* cse.c (cse_basic_block): Call cse_insn with a non-null
libcall_insn for the last SET insn of a no-confilict block.
2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in (target_noncanonical, program_transform_name): Use
immediate define instead of deferred.
(GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
deferred backquote.
2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk>
* c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
true unconditionally.
* c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
Remove.
(build_unary_op, build_modify_expr): Don't handle extended
lvalues.
(build_component_ref, build_conditional_expr): Call non_lvalue
instead of pedantic_non_lvalue.
(build_c_cast): Don't condition use of non_lvalue on pedantic.
* fold-const.c (fold): Don't check pedantic directly for
COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
passed to pedantic_non_lvalue.
* doc/extend.texi: Remove documentation of extended lvalues.
2004-01-19 Roger Sayle <roger@eyesopen.com>
PR optimization/5263
* simplify-rtx.c (associative_constant_p): Delete.
(simplify_associative_operation): Rewrite to linearize terms, and
attempt to simplify new term against both left and right subterms.
(simplify_binary_operation): Call swap_commutative_operands_p on
op0 and op1, not trueop0 and trueop1. Move the initialization of
trueop0 and trueop1 down to where first needed.
(simplify_relational_operation): Likewise.
* rtlanal.c (commutative_operand_precedence): Also order constant
operands using avoid_constant_pool_reference.
2004-01-19 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
don't check memory mode.
(unaligned_memory_operand): Likewise.
(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
abort for op0 not MEM.
* config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
is not a reg, copy to a scratch first.
(aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
(reload_inqi, reload_inhi): Fix mode of op0.
(reload_inqi_help, reload_inhi_help, reload_outqi_help,
reload_outhi_help): Likewise. Use define_insn_and_split.
* config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
as well as $29 dead.
2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
"tls_object" for thread-local objects.
* config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
"#tls" for thread-local sections.
* configure.ac (thread-local checks): Specify --fatal-warnings in
every binutils-specific checks. For sparc*-*-*, test whether the
OS is Solaris and the tools are native and act accordingly.
* configure: Rebuild.
2004-01-19 Jeff Law <law@redhat.com>
* contrib.texi: Update Paolo Carlini's entry. New entries for
Jerry Quinn and Petur Runolfsson.
2004-01-19 Roger Sayle <roger@eyesopen.com>
* config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
size, don't use the larger zero-extending loads.
2004-01-19 Richard Henderson <rth@redhat.com>
* alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
* alpha.md (UNSPEC_NT_LDA): Remove.
(UNSPEC_CVTLQ, cvtlq): New.
(extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
(extendsidi2_fix): Remove.
(extendsidi2 splitter): Use cvtlq.
(extendsidi2 fp peepholes): Remove.
(cvtql): Use SFmode instead of SImode.
(fix_trunc?fsi): Update to match.
(floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
(movsi): Rename from movsi_nofix, remove f alternatives.
(movsi_nt_vms): Similarly.
(movsi_fix, movsi_nt_vms_fix): Remove.
(nt_lda): Remove.
* alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
2004-01-19 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_remove_node): Fix removal from linked list.
* cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
list.
(cgraph_remove_unreachable_nodes): New function
(cgraph_decide_inlining_of_small_function): Fix pasto.
(cgraph_decide_inlining_incrementally): Fix pasto.
(cgrpah_decide_inlining): Likewise; remove unreachable nodes.
2004-01-19 Steven Bosscher <stevenb@suse.de>
* gengtype.c (header_file): Make it static.
(write_types_process_field, write_enum_defn): Minor whitespace fixes.
* gengtype.h (header_file): No longer extern.
2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
* defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
* expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
* stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
* stmt.c (HAVE_casesi): Define it not already defined.
(HAVE_tablejump): Likewise.
(expand_end_case_type): Resort to the binary tree method if
neither casesi or tablejump is available.
2004-01-18 Daniel Jacobowitz <drow@mvista.com>
* final.c (final_scan_insn): Make non-static again.
* output.h (final_scan_insn): Re-add prototype.
* config/arc/arc.c (arc_output_function_epilogue): Add NULL
to final_scan_insn call.
* config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
* config/mips/mips.c (mips_output_conditional_branch): Likewise.
* config/pa/pa.c (output_lbranch, output_call): Likewise.
* config/sh/sh.c (print_slot): Likewise.
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
(output_sibcall, sparc_flat_function_epilogue): Likewise.
2004-01-18 Jan Hubicka <jh@suse.cz>
* basic-block.h (try_redirect_by_replacing_jump): Declare.
* cfgcleanup.c (try_optimize_cfg): Use it.
* cfgrtl.c (try_redirect_by_replacing_jump): Export.
(rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
Kill hack.
(cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
Revert:
2004-01-16 Geoffrey Keating <geoffk@apple.com>
* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
even after reload, just don't remove the actual jump tables.
2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
* config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
2004-01-18 Kazu Hirata <kazu@cs.umass.edu>
* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
the size of a pointer in bytes.
2004-01-18 Roger Sayle <roger@eyesopen.com>
* builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
live "next" variable, which could lead to an infinite loop.
2004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
* config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
block.
* config/rs6000/rs6000.c (rs6000_special_round_type_align):
Check for NULL in the chain and remove repeated code.
2004-01-18 Jan Hubicka <jh@suse.cz>
* coverage.c (checksum_string): Rename to ...
(coverage_checksum_string): ... this one, Use crc32_string; recognize
names containing random number and zero the number out in order to get
match.
2004-01-18 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_got_alias_set): Mark for PCH.
2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
doc/trouble.texi: Remove trailing whitespace.
2004-01-18 Richard Sandiford <rsandifo@redhat.com>
PR target/7618
* config/mips/mips.c: Include cfglayout.h.
(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
(mips_unspec_offset_high): Add temporary register argument.
(mips_load_call_address): New function, split out from...
(mips_expand_call): ...here.
(mips_output_cplocal): New function.
(mips_output_function_prologue, mips_output_function_epilogue): Use it.
(mips_emit_loadgp): New function, split out from...
(mips_expand_prologue): ...here.
(mips_output_mi_thunk): New function.
2004-01-17 Bernardo Innocenti <bernie@develer.com>
* longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
mcpu32): Remove redundant checks for implied target predefines.
2004-1-17 Andrew Pinski <pinskia@physics.uc.edu>
* config/rs6000/rs6000.c (rs6000_special_round_type_align):
Return type is unsigned int not int.
* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
Likewise.
2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
* doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
"GNU/Linux" and "Microsoft Windows" terminology.
2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
* doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
doc/cppopts.texi, doc/extend.texi, doc/install.texi,
doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
@smallexample instead of @example.
2004-01-17 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (build_objc_method_call): Use target
hooks instead of macros to determine if ..._stret
dispatchers should be used (NeXT runtime only).
2004-01-17 Roger Sayle <roger@eyesopen.com>
* builtins.c (expand_builtin_expect_jump): Fix mistake in my
last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
2004-01-17 Daniel Jacobowitz <drow@mvista.com>
* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
(emit_call_insn_before_sameloc, emit_insn_after_sameloc)
(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
macros.
* reload1.c (emit_reload_insns): Use them.
* emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
for NULL PATTERN.
2004-01-17 Daniel Jacobowitz <drow@mvista.com>
* final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
(final_scan_insn): Update to take an additional SEEN argument. Emit
a line note after the prologue. Make static.
(line_note_exists): Remove.
(final): Don't initialize line_note_exists. Update call to
final_scan_insn.
* output.h (final_scan_insn): Remove prologue.
* function.c (set_insn_locators): Update comment.
(thread_prologue_and_epilogue_insns): Add a comment.
2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
PR target/10781
* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
Prototype.
* config/rs6000/rs6000.c (rs6000_special_round_type_align):
New function.
* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
2004-01-17 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
commit.
* toplev.c (HAVE_conditional_execution): Provide default.
(rest_of_handle_reorder_blocks): For conditional_execution target
update liveness once after all transformations
(rest_of_compilation): Do crossjumping before ce3.
2004-01-17 Geoffrey Keating <geoffk@apple.com>
* alias.c (new_alias_set): Mark last_alias_set for PCH.
(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
for PCH.
(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
(get_TOC_alias_set): Mark 'set' for PCH.
2004-01-16 Geoffrey Keating <geoffk@apple.com>
* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
even after reload, just don't remove the actual jump tables.
2004-01-17 J. Brobecker <brobecker@gnat.com>
* dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
Remove checks for is_ada() and TREE_UNSIGNED.
(subrange_type_die): Emit a byte_size attribute if the subrange
type size is different from the base type size.
(modified_type_die): Replace call to is_ada_subrange_type() by
call to is_subrange_type().
2004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
* config/sh/sh.c: Include ggc.h.
2004-01-16 Geoffrey Keating <geoffk@apple.com>
* Makefile.in (MD5_H): New.
(fold-const.o): Depend on md5.h.
(dwarf2out.o): Likewise.
(cppfiles.o): Likewise.
* cppfiles.c: Include md5.h.
(should_stack_file): Check against list read from PCH file.
(struct pchf_data): New.
(pchf): New variable.
(struct pchf_adder_info): New.
(pchf_adder): New.
(pchf_save_compare): New.
(_cpp_save_file_entries): New.
(_cpp_read_file_entries): New.
(struct pchf_compare_data): New.
(pchf_compare): New.
(check_file_against_entries): New.
* cpphash.h (_cpp_save_file_entries): Prototype.
(_cpp_read_file_entries): Prototype.
* cpppch.c (cpp_write_pch_state): Write the list of headers.
(cpp_read_state): Read the list of headers.
2004-01-17 Jan Hubicka <jh@suse.cz>
* c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
builtin_expect specially.
* params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
(PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
* invoke.texi (max-inline-insns-single): Set to 100.
(large-function-insns): Set to 3000.
2004-01-16 Eric Christopher <echristo@redhat.com>
Chandrakala Chavva <cchavva@redhat.com>
* cppcharset.c (one_iso88591_to_utf8): New function.
(convert_iso88591_utf8): Ditto. Use.
(conversion_tab): Use.
(_cpp_input_to_utf8): New function.
(_cpp_init_iconv_buffer): Ditto.
(_cpp_close_iconv_buffer): Ditto.
* cpphash.h: Prototype new functions.
(cpp_buffer): Add input_cset_desc.
* cppinit.c: Add input_charset default.
* cpplib.c (cpp_push_buffer): Support init and
close of iconv.
* cpplib.h (cpp_options): Add input_charset.
2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
* system.h (ASM_OUTPUT_SECTION_NAME): Poison.
* config/alpha/unicosmk.h: Remove a commented-out definition
of ASM_OUTPUT_SECTION_NAME.
* config/stormy16/stormy16.h: Likewise.
2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
(alpha___extern_prefix_sys_stat): ... this.
Apply to <sys/mount.h>, too.
Tweak to match more variations.
* fixinc/tests/base/sys/stat.h: Adapt for new hackname.
* fixinc/inclhack.def (alpha___extern_prefix,
alpha___extern_prefix_standards): New hacks to obey
__PRAGMA_EXTERN_PREFIX.
* fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
test.
* fixinc/tests/base/standards.h: Likewise.
* fixincl/inclhack.def (alpha_pthread): Tweak to match more
variations.
New testcase.
* fixinc/tests/base/pthread.h: Handle it.
* fixincl/inclhack.def (bad_lval): Sort file list.
Add many missing files up to Tru64 UNIX V5.1B.
* gcc/fixinc/tests/base/libgen.h: Renamed to ...
* gcc/fixinc/tests/base/dirent.h: ... this to match new file list
order.
* fixinc/fixincl.x: Regenerate.
2004-01-16 Mark Mitchell <mark@codesourcery.com>
* version.c (version_string): Change to 3.5.0.
* doc/include/gcc-common.texi (version-GCC): Likewise.
2004-01-16 Jan Hubicka <jh@suse.cz>
* i386.md (load_tp_di): Fix pasto.
PR opt/13608
* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
pp_c_character_constant, pp_c_floating_constant,
pp_c_additive_expression, pp_c_shift_expression,
pp_c_equality_expression, pp_c_and_expression,
pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
pp_c_logical_and_expression): Remove inline modifier.
* dwarf2out.c (get_AT): Likewise.
* et-forest.c (et_splay): Likewise.
* ra.h (ra_alloc, ra_calloc): Likewise
2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
* config/frv/frv-protos.h: Fix comment formatting.
* config/frv/frv.c: Likewise.
* config/frv/frv.h: Likewise.
* config/frv/frv.md: Likewise.
* config/frv/frvbegin.c: Likewise.
* config/frv/frvend.c: Likewise.
2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
* system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
* doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
LINKER_DOES_NOT_WORK_WITH_DWARF2.
(LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
2004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
PR 11864
* postreload.c (reload_cse_simplify_operands): Don't remove
implicit extension from LOAD_EXTEND_OP.
2004-01-16 Jan Hubicka <jh@suse.cz>
PR opt/11350
* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
after reload.
* cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
rtl_try_redirect_by_replacing_branch): Likewise.
2004-01-15 Geoffrey Keating <geoffk@apple.com>
PR pch/13689
* alias.c (struct alias_set_entry): Mark for GC.
(alias_sets): Make static, mark for GC.
(record_alias_subset): Use GC to allocate alias structures.
* varray.c (element): Make generic varrays GCed.
PR pch/13361
* c-typeck.c (constructor_asmspec): Delete.
(struct initializer_stack): Delete field 'asmspec'.
(start_init): Delete saving of asmspec.
(finish_init): Don't update constructor_asmspec.
* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
* stmt.c (expand_asm): Duplicate strings from tree.
(expand_asm_operands): Likewise.
* tree.c (tree_size): Update computation of size of STRING_CST.
(make_node): Don't make STRING_CST nodes.
(build_string): Allocate string with tree node.
* tree.def (STRING_CST): Update comment.
* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
(tree_string): Place contents of string in tree node.
* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
from tree.
* config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
altivec operands.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* c-common.h: Fix comment formatting.
* c-cppbuiltin.c: Likewise.
* c-pragma.c: Likewise.
* calls.c: Likewise.
* collect2.c: Likewise.
* cppcharset.c: Likewise.
* cpptrad.c: Likewise.
* dbxout.c: Likewise.
* defaults.h: Likewise.
* dwarf2out.c: Likewise.
* fold-const.c: Likewise.
* genautomata.c: Likewise.
* genconditions.c: Likewise.
* genflags.c: Likewise.
* gengtype.c: Likewise.
* integrate.c: Likewise.
* loop.c: Likewise.
* predict.c: Likewise.
* sdbout.c: Likewise.
2004-01-15 Zack Weinberg <zack@codesourcery.com>
* config/ia64/ia64.md (*movti_internal): C output template
extracted to ia64.c.
(*movti_internal_reg): Delete.
(reload_inti, reload_outti): Use the correct mode on operand 2
in the first place, don't fix it up in the output template.
(movtf, reload_ointf, reload_outtf): New expanders.
(*movtf_internal): New define_insn_and_split.
* config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
make static; do not hand TFmode CONST_DOUBLEs to split_double.
(ia64_split_tmode_move): New function, body mostly pulled
from ia64.md:*movti_internal.
(ia64_function_arg_words): New function, extracted common
logic from ia64_function_arg et seq.
(ia64_function_arg_offset): Likewise. Handle correctly the
case of a scalar quantity 16 bytes wide with only 8-byte alignment.
(ia64_function_arg, ia64_function_arg_partial_nregs)
(ia64_function_arg_advance): Use ia64_function_arg_words and
ia64_function_arg_offset.
(ia64_function_value): TCmode does not go in float regs.
(ia64_secondary_reload_class): Also handle TFmode.
* config/ia64/ia64-protos.h: Remove prototype for
ia64_split_timode; add prototype for ia64_split_tmode_move.
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in (MAINT): Make it an immediate assignment.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.md: Remove useless calls to gen_lowpart.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/coff.h: Replace Hitachi with Renesas.
* config/h8300/elf.h: Likewise.
* config/h8300/h8300-protos.h: Likewise.
* config/h8300/h8300.c: Likewise.
* config/h8300/h8300.h: Likewise.
* config/h8300/h8300.md: Likewise.
* config/h8300/lib1funcs.asm: Likewise.
2004-01-15 Andrew Pinski <apinski@apple.com>
* config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
around it.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (h8300_return_in_memory): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_RETURN_IN_MEMORY): Likewise.
* config/h8300/h8300.h (STRUCT_VALUE): Remove.
(RETURN_IN_MEMORY): Likewise.
2004-01-15 Richard Earnshaw <rearnsha@arm.com>
PR optimization/13375
* gcse.c (handle_avail_expr): Just return if the source is not a
single set.
2004-01-15 Richard Earnshaw <rearnsha@arm.com>
Daniel Jacobowitz <drow@mvista.com>
* arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
(EQUIV): Define.
(ARM_FUNC_ALIAS): New macro.
* arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
* arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR optimization/12372
* calls.c (expand_call): Add call_fusage data for stack arguments in
constant calls.
2004-01-15 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
(rs6000_elf_declare_function_name): Formatting.
* config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
2004-01-15 Jan Hubicka <jh@suse.cz>
PR bootstrap/13692
* sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
previous patch.
2004-01-15 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
integer regs of the same call-savedness.
2004-01-15 Andreas Schwab <schwab@suse.de>
PR bootstrap/13562
* config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
status for NOTB/NOTW/NEGW methods.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* doc/invoke.texi: Update dump file names. Fix a typo.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* builtins.c (expand_builtin_va_end): Don't use
EXPAND_BUILTIN_VA_END.
* system.h (EXPAND_BUILTIN_VA_END): Poison.
* config/d30v/d30v.h: Remove a commented-out definition of
EXPAND_BUILTIN_VA_END.
* config/stormy16/stormy16.h: Likewise.
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
* targhooks.c (default_struct_value_rtx): Don't use
STRUCT_VALUE_INCOMING_REGNUM.
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
PR bootstrap/12744
* configure.in: Revamp enable-generated-files-in-srcdir rule to define
GENINSRC and not parsedir. Define srcextra as a langhook.
* configure: Regenerate.
* Makefile.in: Suppress default .l.c rule. Don't substitute
parsedir and delete all references throughout. Conditionally define
rule for srcextra dependent on GENINSRC.
(stmp-docobjdir): Delete.
(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
(srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
and gengtype-yacc.h back to source directory.
(maintainer-clean): Delete all parse files in source directory.
(distclean): Delete generated files.
* objc/Make-lang.in (objc-parse.o): Use implicit build rule.
(objc-parse.c, objc-parse.y): Don't use parsedir.
(objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
directory if requested.
(po-generated): Don't use parsedir.
(objc.maintainer-clean): Delete above files from source directory.
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* doc/tm.texi (FUNCTION_VALUE): Fix a typo.
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* doc/tm.texi: Replace RETURN_IN_MEMORY with
TARGET_RETURN_IN_MEMORY.
2004-01-15 Jan Hubicka <jh@suse.cz>
* builtins.c (std_expand_builtin_va_arg): Align operand when needed.
* i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
functions accepting SSE arguments
(function_arg): Warn only when asked to warn.
* i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
* c-parse.in (stmts_and_decls): Make label at end of compound
statement a hard error.
2004-01-14 Jan Hubicka <jh@suse.cz>
* cgraph.c (create_edge): Use local.redefined_extern_inline.
* cgraph.h (cgraph_local_info): Sort fields by size; add
redefined_extern_inline
(cgraph_global_info): Sort fields by size.
(cgraph_node): Likewise.
* cgraphunit.c (cgraph_finalize_function): Se
local.redefined_extern_inline on redefinition.
(cgraph_analyze_function): Use it; fix formating.
2004-01-14 Jan Hubicka <jh@suse.cz>
PR c++/10776
* sched-deps.c (trye_dependency_cache, anti_dependency_cache,
outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
bitmaps
(cache_size): New variable
(add_dependence): Update use; canonize early memory locations
(sched_analyze_1): Likewise.
(sched_analyze_2): Likewise.
(init_dependency_caches): Initialize bitmaps.
(free_dependency_caches): Free bitmaps
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
targetm.calls.strict_argument_naming().
* target.h: Likewise.
2004-01-14 Richard Henderson <rth@redhat.com>
PR debug/13231
* dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
instructions.
2004-01-14 Richard Henderson <rth@redhat.com>
PR c++/12491
* except.c (struct eh_region): Add u.fixup.resolved.
(resolve_one_fixup_region): Split out from ...
(resolve_fixup_regions): ... here.
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* config/alpha/alpha.h (STRUCT_VALUE): Remove.
* config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
(STRUCT_VALUE): Remove.
2004-01-14 Steven Bosscher <stevenb@suse.de>
* system.h: Poison PROMOTED_MODE
* integrate.c (expand_inline_function): Don't mention the
PROMOTED_MODE.
* loop.c (update_giv_derive): Same.
* tree.h (DECL_RTL): Same.
2004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
PR target/9365
* sh.c (gen_block_redirect): Add special handling of RETURN.
(gen_far_branch) Don't call gen_stuff_delay_slot if there is no
far branch target (i.e. it's a return).
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* regrename.c (find_oldest_value_reg): Fix a warning.
2004-01-14 Richard Earnshaw <rearnsha@arm.com>
PR bootstrap/12527
* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
Move linux-gas.h and linux-elf.h before aout.h.
* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
(CONST_INT, VOIDmode, ...).
2004-01-14 Richard Earnshaw <rearnsha@arm.com>
* regrename.c (find_oldest_value_reg): If the replacement uses
multiple hard registers, check that all of them are in CLASS.
2004-01-14 Jan Hubicka <jh@suse.cz>
* alias.c (get_alias_set): Initialize alias set to 0 when subset is
impossible.
2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in: Define MAINT from --enable-maintainer-mode.
2004-01-14 Hartmut Penner <hpenner@de.ibm.com>
* gcc/config/rs6000/rs6000.c (rs6000_stack_info)
Calculate always vrsave_mask if TARGET_ALTIVEC.
(rs6000_emit_prologue): Emit code for vrsave
only if TARGET_ALTIVEC_VRSAVE.
(rs6000_emit_epilogue): Likewise.
2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.md (tie_add32): Fix pasto.
(tie_add64): Likewise.
2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
* config/iq2000/iq2000-protos.h: Fix comment formatting.
* config/iq2000/iq2000.c: Likewise.
* config/iq2000/iq2000.md: Likewise.
2004-01-14 J. Brobecker <brobecker@gnat.com>
* dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
(subrange_type_die): Add handle for nameless subrange types.
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300-protos.h: Replace do_movsi with
h8300_expand_movsi.
* config/h8300/h8300.c (do_movsi): Change to
h8300_expand_movsi.
* config/h8300/h8300.md (movsi): Replace do_movsi with
h8300_expand_movsi.
(movsf): Likewise.
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (dosize): Change to
h8300_emit_stack_adjustment. Update callers.
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md (movstrictqi): Add an alternative with
the source being post_inc. Tighten the predicate for the
destination to register_operand.
(movstricthi): Likewise.
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
* system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
* varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
* doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
2004-01-14 Jan Hubicka <jh@suse.cz>
Partial fix PR c++/12850
* cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
at zero nest level.
2004-01-13 Bernardo Innocenti <bernie@develer.com>
* config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
pseudo-register.
2004-01-13 Devang Patel <dpatel@apple.com
PR debug/7078
* dbxout.c (dbxout_symbol_name): Emit mangled names for
NAMESPACE_DECL memebers.
2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/12709
* c-common.c (finish_fname_decls): Use the chain only if the
tree is an expr_stmt.
2004-01-13 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def: Add comment about new option in automata_option.
* genautomata.c (PROGRESS_OPTION): New macro.
(progress_flag): New global variable.
(gen_automata_option): Process `progress'.
(transform_insn_regexps, check_unit_distributions_to_automata,
make_automaton, NDFA_to_DFA, build_automaton, create_automata,
expand_automata, write_automata): Print about the progress only if
progress_flag. Remove fflush.
(initiate_automaton_gen): Process command line flag `-progress'.
* doc/md.texi: Describe the new option.
2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* cfg.c (dump_bb): Dump entry edges.
2004-01-13 Richard Earnshaw <rearnsha@arm.com>
* arm.c (thumb_legitimate_address_p): Only allow constant pool
references from SImode.
* arm.md (thumb_movhi_insn): Don't allow minipool references.
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
* system.h (TEXT_SECTION): Poison.
* varasm.c (text_section): Don't use TEXT_SECTION.
* config/sh/sh.c (sh_file_start): Fix a comment typo.
* doc/tm.texi (TEXT_SECTION): Remove.
2004-01-13 Ben Elliston <bje@wasabisystems.com>
* doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
2004-01-12 James E Wilson <wilson@specifixinc.com>
* unwind-libunwind.c: Delete.
2004-01-12 Zack Weinberg <zack@codesourcery.com>
PR 13656
* c-decl.c (diagnose_mismatched_decls): Whenever newtype or
oldtype is set, set *newtypep or *oldtypep too. Do not set
them at the very end.
(validate_proto_after_old_defn): Restructure for comprehensibility;
make error messages clearer.
2004-01-12 Zack Weinberg <zack@codesourcery.com>
* varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
(VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
* varray.c: No need to prototype error.
(varray_check_failed): Wrap long string onto two lines.
(varray_underflow): New function.
2004-01-13 Steven Bosscher <stevenb@suse.de>
PR c++/13376
* function.h (struct function): Kill `name' field.
(current_function_name): Make it an extern function.
* function.c (current_function_name): New function.
* graph.c: Update all uses of current_function_name.
* gcse.c: Likewise.
* config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
* config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
instead of a strcmp with "main".
2004-01-13 Jan Hubicka <jh@suse.cz>
* c-decl.c (diagnose_mismatched_decls): Fix warning calls.
* cgraphunit.c (cgraph_optimize_function): Always do
optimize_inline_calls when there is always_inline callee.
(cgraph_decide_inlining): Fix formating.
* tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
functions.
(expand_call_inline): Likewise.
* toplev.h (sorry): Fix prototype.
2004-01-12 Roger Sayle <roger@eyesopen.com>
* builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
conditional jumps that drop through to unconditional jumps or the
end of the sequence.
2004-01-13 Jan Hubicka <jh@suse.cz>
* alias.c (new_alias_set): Construct the alias_set varray.
(init_alias_once): Don't do it here.
2004-01-12 Marc Espie <espie@openbsd.org>
* system.h: handle YYBYACC like YYBISON.
2004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
PR target/10847
* config.gcc: No longer includes conflicting header sparc/sol2.h when
building on sparc64-*-openbsd*.
2004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
PR debug/13539
* dbxout.c (dbxout_type): Protected inheritance is not
private but protected.
2004-01-12 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
2004-01-12 Kazu Hirata <kazu@cs.umass.edu>
PR optimization/12508.
* combine.c (try_combine): Remove a dead set in a parallel
even if its destination is a subreg.
Revert:
2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
* combine.c (simplify_set): Don't move a subreg in SET_SRC to
SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
2004-01-12 Geoffrey Keating <geoffk@apple.com>
* real.c: Update copyright date.
* emit-rtl.c: Likewise.
* rtl.h: Likewise.
* dwarf2out.c: Likewise.
* config/rs6000/darwin-ldouble.c: Likewise.
* config/rs6000/rs6000.md: Likewise.
2004-01-12 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
TFmode to SImode libfuncs.
2004-01-12 Roger Sayle <roger@eyesopen.com>
PR middle-end/11397
* varasm.c (assemble_alias): Remove weak aliases from weak_decls.
2004-01-12 Jan Hubicka <jh@suse.cz>
PR opt/12826
* loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
stored.
PR opt/12863
* cfgcleanup.c (label_is_jump_target_p): Move to...
* rtlanal.c (label_is_jump_target_p): ... here.
* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
edges unified with branch edges.
2004-01-12 Richard Earnshaw <rearnsha@arm.com>
* simplify-rtx.c (simplify_immed_subreg): Correctly extract the
high word of an integral CONST_DOUBLE.
2004-01-12 Paul Brook <paul@codesourcery.com>
* simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
2004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
PR target/13585
* sh-protos.h (check_use_sfunc_addr): Declare.
* sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
* sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
2004-01-12 Jan Hubicka <jh@suse.cz>
* alias.c: Invlude varray.h
(alias_sets): Turn into varray.
(get_alias_set_entry): Use VARRAY; mark inline.
(mems_in_disjoint_alias_sets_p): Mark inline.
(record_alias_subset): Use varray.
(init_alias_once): Initialize varray.
(new_alias_set): Grow array.
* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
2004-01-12 Jan Hubicka <jh@suse.cz>
Partial fix for PR opt/10776 II
* cselib.c: Include params.h
(cselib_invalidate_mem): Limit amount of nonconflicting memory
locations.
* params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
* Makefile.in (cselib.o): Depend on params.h
2004-01-12 Richard Sandiford <rsandifo@redhat.com>
* combine.c (combine_simplify_rtx): Don't pass VOIDmode to
simplify_unary_operation if the operand has a known mode.
2004-01-12 Hartmut Penner <hpenner@de.ibm.com>
PR target/13534
* gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
predicate to handle 'ld' conform addresses.
* gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
contraint.
(EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
are memory contraints.
* gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
New prototype.
* gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
Change 'o' to 'Y' constraint.
(*movdf_softfloat64): Ditto.
2004-01-12 Bernardo Innocenti <bernie@develer.com>
* gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
brace-enclosed syntax in all C output statements.
2004-01-12 David Edelsohn <edelsohn@gnu.org>
PR target/13401
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
Objective-C language type value is 14.
2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
PR c/12148
* config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
`int' in a number of places to make sure we always have a SImode
and not a HImode. Add a 'L' suffix to a number of constants.
2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c: Don't include obstack.h.
* pa.md: Correct constraint in pattern for loading PIC label address.
2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
before defining.
2004-01-11 Steven Bosscher <stevenb@suse.de>
PR fortran/9972
* toplev.c (rest_of_handle_inline): Also consider functions
for deferral if the language is GNU F77.
2004-01-11 Zack Weinberg <zack@codesourcery.com>
* c-decl.c (diagnose_arglist_conflict): Add missing space to
diagnostic messages.
2004-01-11 Jakub Jelinek <jakub@redhat.com>
PR middle-end/13392
* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
to drop through label. Don't fall back to SCC even when conditional
jump has not been found.
2004-01-11 Jan Hubicka <jh@suse.cz>
* invoke.texi: Fix syntax error in previous patch.
Partial fix for PR opt/10776
* Makefile.in (reload.o): Include param.h
* params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
* reload.c: Include params.h.
(find_equiv_reg): Work limiting check.
* invoke.texi: Document.
2004-01-11 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_symbolic_constant_p): Don't allow
out-of-bounds accesses to string constants. Simplify mips16
case accordingly.
2004-01-11 Richard Sandiford <rsandifo@redhat.com>
PR optimization/13469
* toplev.c (rest_of_compilation): Call purge_all_dead_edges after
reload_cse_regs (-fnon-call-exceptions only).
2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
* config/mcore/lib1.asm: Fix comment formatting.
* config/mcore/mcore-elf.h: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mcore/mcore.h: Likewise.
* config/mcore/mcore.md: Likewise.
2004-01-10 Zack Weinberg <zack@codesourcery.com>
* c-decl.c (duplicate_decls): Break apart into...
(diagnose_arglist_conflict, validate_proto_after_old_defn)
(locate_old_defn, diagnose_mismatched_decls, merge_decls):
... these new functions. Restructure for comprehensibility.
Remove various archaic special cases. Always report the
location of the previous declaration when a diagnostic is issued.
(redeclaration_error_message): Fold into diagnose_mismatched_decls.
(match_builtin_function_types): Delete unnecessary forward declaration.
2004-01-10 Zack Weinberg <zack@codesourcery.com>
* genautomata.c (make_automaton, NDFA_to_DFA):
Print progress bars with '.' characters instead of '*'.
(build_automaton): Change notes to match.
2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.md: Use define_constants for unspec and
unspec_volatile.
2004-01-10 Jan Hubicka <jh@suse.cz>
PR opt/11635
* expr.c (expand_expr_real): More curefully expand union casts.
2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.md (flush_icache): Use 1 for
unspec_volatile.
2004-01-10 David Edelsohn <edelsohn@gnu.org>
James E Wilson <wilson@specifixinc.com>
PR debug/12860
* dbxout.c (dbxout_symbol): Remove initialization of
current_sym_code, current_sym_value, and current_sym_addr.
(dbxout_symbol_location): Same.
(dbxout_prepare_symbol): Zero current_sym_code,
current_sym_value, and current_sym_addr.
2004-01-10 Richard Sandiford <rsandifo@redhat.com>
* tree.c (get_unwidened): Reorder conditions so that the null pointer
check is done first.
2004-01-09 Eric Christopher <echristo@redhat.com>
* toplev.c (rest_of_handle_cfg): Add reg_scan pass
if we're running mark_constant_function.
2004-01-09 Jeff Bailey <jbailey@nisa.net>
PR target/12561
* config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
2004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
PR debug/11231
* dbxout.c (dbxout_type_fields): Return if any item is
error_mark_node or the type is error_mark_node.
2004-01-09 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/darwin-ldouble.c: Add big comment explaining
exactly what is expected as a 'long double'.
(_xlqadd): When a value to be returned is representable as a
'double', just return it directly, do not construct it using a union.
Also, correct final fixup.
(_xlqmul): Likewise.
(_xlqdiv): Likewise.
* real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
* config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
2004-01-09 Richard Henderson <rth@redhat.com>
* recog.c (constrain_operands): Validate mem operands.
2004-01-09 James E Wilson <wilson@specifixinc.com>
* gcc.c (init_spec): Remove -lunwind from shared case.
* conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
2004-01-09 Steve Ellcey <sje@cup.hp.com>
* configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
* configure: Regenerate
2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
PR c/11234
* c-typeck.c (build_c_cast): If pedantic, warn for conversions
between function and object pointers.
(digest_init): When comparing a pointer to function type to the
target type, only apply TREE_TYPE once to the pointer to function
type.
* except.c (for_each_eh_label_1): Treat data as a pointer to a
function pointer rather than casting it to a function pointer.
(for_each_eh_label): Update caller.
* recog.h (struct insn_data): Use a struct or union for output.
* genoutput.c (output_insn_data): Update.
* final.c (get_insn_template): Update.
2004-01-09 Mark Mitchell <mark@codesourcery.com>
* expr.h (expand_expr): Make it a macro, not a function.
(expand_expr_real): New function.
* expr.c (store_expr): Adjust logic for deciding whether or not to
copy the value returned by expand_expr.
(expand_expr): Rename to ...
(expand_expr_real): ... this. Add alt_rtl parameter. Adjust
calls to language hooks.
* c-common.h (c_expand_expr): Adjust prototype.
* c-common.c (c_expand_expr): Add alt_rtl parameter.
* langhooks-def.h (lhd_expand_expr): Change prototype.
* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
* langhooks.h (lang_hooks): Change type of expand_expr.
* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
(last_expr_alt_rtl): Likewise.
(expand_expr_stmt_value): Set last_expr_alt_rtl.
(clear_last_expr): Clear it.
(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
(expand_end_bindings): Save and restor last_expr_alt_rtl.
* tree.def (RTL_EXPR): Give it an additional operand.
* tree.h (RTL_EXPR_ALT_RTL): New macro.
2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
* config/m32r/m32r.c (call26_operand): Allow in PIC mode.
2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
PR target/13380.
* config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
or (ne:SI (reg:CC 17) (const_int 0)).
Be specific about modes wherever possible.
2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.c (m32r_expand_block_move): Call
gen_movestrsi_internal with two more arguments.
(m32r_output_block_move): Adjust operand numbers.
Properly update the source and destination pointers.
* config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
'r+'. Change the set detinations to match_operand.
2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
* final.c (FIRST_INSN_ADDRESS): Remove.
(shorten_branches): Don't use FIRST_INSN_ADDRESS.
* system.h (FIRST_INSN_ADDRESS): Poison.
* config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
* config/m32r/m32r-protos.h: Remove the prototype for
m32r_first_insn_address.
* config/m32r/m32r.c (m32r_first_insn_address): Remove.
* config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
* doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
2004-01-09 J. Brobecker <brobecker@gnat.com>
* dwarf2out.c (gen_enumeration_type_die): Return the DIE that
we just created.
(is_ada_subrange_type): DIEs for enumeration subtypes should be
emitted as subrange types too.
(subrange_type_die): Add handling of enumeration subtypes.
2004-01-08 Richard Henderson <rth@redhat.com>
PR opt/12441
Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
* i386.c (aligned_operand): Be prepared for SUBREGed registers.
(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
(ix86_address_cost): Be prepared for SUBREGed registers.
(legitimate_address_p): Accept SUBREGed registers.
2004-01-08 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in: Rename configure.in to configure.ac
* doc/sourcebuild.texi: Likewise.
* configure: Regenerate.
* config.in: Regenerate.
2004-01-08 Stuart Hastings <stuart@apple.com>
* config/i386/i386.md: Typos in MMX/SSE immediate shifts.
2004-01-08 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_decide_inlining): Fix typo.
2004-01-08 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
(UNSPEC_FIX_TRUNC_TF): New constant.
(movtf_internal): Make splitter active only when insn is active.
(extenddftf2): Rewrite to properly load zero into low part.
(extenddftf2_internal): New.
(extendsftf2): Rewrite.
(truncdftf2): Correct length.
(floatditf2): Delete.
(fix_trunc_helper): New.
(fix_trunctfdi2): Use fix_trunc_helper.
(fix_trunctfsi2): Likewise.fix_trunc
(fix_trunctfsi2_internal): New.
* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
addresses are legitimate on Darwin even when flag_pic.
(rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
non-offsettable addresses for loads of TFmode constants.
2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
variables in the appropriate bss section.
2004-01-09 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
target_flags has MASK_POWERPC64 when -m64.
* config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
to 620, 630, power3, power4 and rs64a entries.
* config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
2004-01-08 Richard Sandiford <rsandifo@redhat.com>
* simplify-rtx.c (simplify_immed_subreg): Fix construction of
floating-point constants.
2004-01-08 J. Brobecker <brobecker@gnat.com>
* dwarf2out.c (subrange_type_die): Add context_die parameter.
Create the subrange_type DIE using the given context DIE.
(modified_type_die): Update call to subrange_type_die.
2004-01-08 Zack Weinberg <zack@codesourcery.com>
* dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
Add multiple-include guard.
2004-01-08 Hartmut Penner <hpenner@de.ibm.com>
* gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
all vector constant loadable by vsplt*.
(output_vec_const_move): Likewise.
2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
PR c/6024
* c-typeck.c (comptypes): Only treat enumerated types in the same
translation unit as compatible with each other when they are the
same type.
* doc/extend.texi: Update.
2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
PR c/12165
* c-decl.c (grokdeclarator): Take type qualifiers of typedefed
array type from the array element type.
2004-01-07 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
* config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
* config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
(DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
* config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
2004-01-06 Eric Christopher <echristo@redhat.com>
* config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
(DWARF2_DEBUGGING_INFO): Define.
(PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
* config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
* config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
for irix as.
(SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
* config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
* config/mips/iris5gas.h: Ditto.
(DBX_DEBUGGING_INFO): Remove.
(DWARF2_DEBUGGING_INFO): Ditto.
(MIPS_DEBUGGING_INFO): Ditto.
(PREFERRED_DEBUGGING_TYPE): Ditto.
* config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
(PREFERRED_DEBUGGING_TYPE): Ditto.
(SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
* config/mips/elf64.h: Ditto.
2004-01-06 Jan Hubicka <jh@suse.cz>
* Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
(STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
2004-01-06 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
(TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
* config/rs6000/darwin-ldouble.c: New.
* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
for constants.
(constant_subword): Delete.
* rtl.h (constant_subword): Delete prototype.
(immed_double_const): Is not in varasm.c.
* simplify-rtx.c (simplify_immed_subreg): New.
(simplify_subreg): Use simplify_immed_subreg.
* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
than trying to generate RTL directly.
(fix_trunctfsi2): Use expand_fix rather than trying to generate
RTL directly.
* dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
2004-01-06 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
function into a separate macro.
(read_only_data_section): Add void argument.
(private_data_section): Same.
(read_only_private_data_section): Same.
(toc_section): Same.
2004-01-06 Jan Hubicka <jh@suse.cz>
* invoke.texi: Remove typo in last change.
PR target/10301
* config.gcc: Accept opteron and athlon-64 as variants
of k8.
* i386.c (override_options): Likewise.
* invoke.texi (i386 -mtune): Expand documentation.
2004-01-06 Kazu Hirata <kazu@cs.umass.edu>
* alias.c: Fix comment typos.
* builtins.c: Likewise.
* cfg.c: Likewise.
* df.c: Likewise.
* dominance.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* gcse.c: Likewise.
* genattrtab.c: Likewise.
* genrecog.c: Likewise.
* gensupport.c: Likewise.
* ggc-zone.c: Likewise.
* integrate.c: Likewise.
* local-alloc.c: Likewise.
* loop.c: Likewise.
* recog.c: Likewise.
* regmove.c: Likewise.
* reg-stack.c: Likewise.
* reorg.c: Likewise.
* rtlanal.c: Likewise.
* rtl.h: Likewise.
* sched-ebb.c: Likewise.
* simplify-rtx.c: Likewise.
* toplev.c: Likewise.
* varasm.c: Likewise.
2004-01-06 Kazu Hirata <kazu@cs.umass.edu>
* doc/install.texi: Fix typos.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.
2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
2004-01-06 Jan Hubicka <jh@suse.cz>
* i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
(function_arg_advance): Do not pass aggregates in SSE; deal handling
of MMX_REGPARM.
(function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
add MMX_REGPARM.
* i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
(SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
(MMX_REGPARM_MAX): Similarly for -mmmx.
2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
* config/sh/linux.h: Fix comment formatting.
* config/sh/netbsd-elf.h: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/vxworks.h: Likewise.
2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
* system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
* toplev.c (output_file_directive): Don't use
ASM_OUTPUT_MAIN_SOURCE_FILENAME.
2004-01-05 Daniel Berlin <dberlin@dberlin.org>
* ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
(USING_MMAP): We don't support non-mmap.
(struct alloc_chunk): Steal 1 bit from typecode, use it to mark
large objects.
(struct page_entry): Remove bytes_free.
(struct page_table_chain): Remove.
(struct globals): Remove page_table member.
(loookup_page_table_entry): Function deleted.
(set_page_table_entry): Ditto.
(ggc_allocated_p): No longer need page table lookups.
(ggc_marked_p): Ditto.
(alloc_small_page): Don't care about bytes_free anymore.
(alloc_large_page): Round up size.
(ggc_alloc_zone_1): Mark large objects as such, and calculate
their size the new way.
Remove page table lookups and setting.
(ggc_get_size): Calculate large object size the new way.
(sweep_pages): Redo to account for fact that we no longer have
bytes_free.
(ggc_collect): No longer need to reincrement bytes_free.
(ggc_pch_alloc_object): Handle new large objects properly.
(ggc_pch_read): Put PCH stuff into it's own uncollected zone.
2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
* doc/invoke.texi: Remove a page break.
2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
* config/avr/avr.c (avr_output_function_prologue): Remove an
extra pair of curly braces.
2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
* config/mn10300/mn10300.c: Fix comment formatting.
* config/mn10300/mn10300.h: Likewise.
2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.h: Update documentation on nothrow_flag.
* print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
types.
2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
* doc/invoke.texi: Remove traces of dead ports.
2004-01-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
option.
2004-01-05 Richard Sandiford <rsandifo@redhat.com>
PR target/12945
* coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
counter labels.
* config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
(mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
(mips_symbol_insns): Don't trust the local/global classification.
(m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
(override_options): Make -mabicalls -fno-unit-at-a-time imply
-mno-explicit-relocs.
(mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
between local and global symbols.
2004-01-05 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
(mips_preferred_reload_class): Declare.
* config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
(EXTRA_CONSTRAINT): Update accordingly.
(PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
* config/mips/mips.c (mips_dangerous_for_la25_p): New function.
(mips_preferred_reload_class): New function. Prefer LEA_REGS if
mips_dangerous_for_la25_p.
(mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
if mips_dangerous_for_la25_p.
2004-01-05 Bernardo Innocenti <bernie@develer.com>
* config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
warning.
2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.ac: Use AC_PROG_CPP_WERROR.
* configure: Regenerate.
2004-01-04 Zack Weinberg <zack@codesourcery.com>
* .cvsignore: Add autom4te.cache.
2004-01-04 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi: Revamp documentation of MIPS options. Remove
-mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
-m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
then architecture options, then ABI options. General rewording.
2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
PR c/3414
* doc/extend.texi: Clarify definition of malloc attribute.
2004-01-04 Jan Hubicka <jh@suse.cz>
* Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
* cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
* cgraph.h (cgraph_edge): Replace inline_call by inline_failed
(cgraph_inline_p): Add extra argument reason.
* cgraphunit.c: Minor formating fixes.
cgraph_first_inlined_callee): New functions.
(record_call_1): Record builtins too.
(cgraph_analyze_function): Update inline_failed messages.
(cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
(cgraph_check_inline_limits): Likewise; Add argument reason.
(cgraph_set_inline_failed): New static function.
(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
reasons.
(cgraph_inline_p): Add new argument reason.
* tree-inline.c (expand_call_inline): Update warning.
2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
with modern equivalents.
* configure: Regenerate.
* configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
* configure: Regenerate.
* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
* configure.in: Rename to configure.ac.
* configure.ac: Renamed from configure.in; make minimum necessary
changes for autoconf 2.5x.
* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
* configure: Regenerate with autoconf 2.57.
2004-01-03 Kazu Hirata <kazu@cs.umass.edu>
* config/mips/linux.h: Fix comment formatting.
* config/mips/mips.c: Likewise.
* config/mips/mips.h: Likewise.
* config/mips/mips.md: Likewise.
* config/mips/netbsd.h: Likewise.
* config/mips/windiss.h: Likewise.
2004-01-02 Richard Henderson <rth@redhat.com>
* config/i386/i386.md (fp constant pool splitter): Reorg suppression
for sse and 387; add suppression for mmx.
2004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
* loop.c (loop_optimize): Free all loops_info's mems.
* c-typeck.c (finish_init): Free spelling_base before
setting it again.
* cfgloop.c (flow_loops_find): Always free the sbitmap
headers.
* predict.c (estimate_probability): Free bbs after being
done with it.
2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
* config/mn10300/mn10300.h (PREDICATE_CODES): Add
const_8bit_operand and call_address_operand.
2004-01-02 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
when there is nothing to inline but warnings are requested.
(cgraph_decide_inlining): Fix memory leak.
2004-01-02 Jan Hubicka <jh@suse.cz>
* expr.c (store_constructor): Fix pasto in previous patch.
2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
* config/i386/cygming.h: Fix comment formatting.
* config/i386/djgpp.h: Likewise.
* config/i386/gthr-win32.c: Likewise.
* config/i386/i386-interix.h: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/i386.h: Likewise.
* config/i386/openbsd.h: Likewise.
* config/i386/winnt.c: Likewise.
* config/i386/xm-mingw32.h: Likewise.
2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
* doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
copyright and last modification dates.
2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
* doc/install.texi (Specific): Mention x86_64.
2004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
Call force_operand on plus_constant result.
2004-01-01 Jan Hubicka <jh@suse.cz>
* expmed.c (store_bit_field, extract_bit_field): Use new named patterns
* expr.c (store_constructor): Use vec_init pattern.
* genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
* optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
(vec_set_optab, vec_extract_optab, vec_init_optab): New.
* i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
New patterns.
(sse2_unpc?pd): Fix pattern.
(sse2_movlpd): Kill.
(sse2_movsd): Deal with movlpd too.
* i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
(ix86_expand_vector_init): New.
* emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
* md.texi (vec_set, vec_extract): Document
2003-12-31 Jan Hubicka <jh@suse.cz>
PR opt/13473
* recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
ASM input operands
PR opt/12617
* toplev.c (dump_file_index): Reorder ce3 and bbro.
(dump_file): Likewise.
(rest_of_compilation): Likewise.
PR debug/13367
* cgraph.c (cgraph_function_possibly_inlined): Even with
flag_really_no_inline we inline always_inline functions.
* cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
for non-always_inline functions when there is flag_really_no_inline.
(cgraph_decide_inlining): Limit work done when not inlining.
(cgraph_decide_inlining_incrementally): Likewise.
(cgraph_optimize_function): Check whether something got inlined.
* c-objc-common.c (c_disregard_inline_limits): Do not always inline
extern inline functions when not inlining.
* opts.c (decode_options): Disable crossjumping at -O1
* invoke.texi (-O1): Document change.
From-SVN: r76701
|
|
PR opt/13473
* recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
ASM input operands
PR opt/12617
* toplev.c (dump_file_index): Reorder ce3 and bbro.
(dump_file): Likewise.
(rest_of_compilation): Likewise.
PR debug/13367
* cgraph.c (cgraph_function_possibly_inlined): Even with
flag_really_no_inline we inline always_inline functions.
* cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
for non-always_inline functions when there is flag_really_no_inline.
(cgraph_decide_inlining): Limit work done when not inlining.
(cgraph_decide_inlining_incrementally): Likewise.
(cgraph_optimize_function): Check whether something got inlined.
* c-objc-common.c (c_disregard_inline_limits): Do not always inline
extern inline functions when not inlining.
* opts.c (decode_options): Disable crossjumping at -O1
* invoke.texi (-O1): Document change.
* gcc.dg/debug/20031231-1.c: New.
* gcc.c-torture/compile/20040101-1.c: New.
* gcc.dg/dwarf-die-[1-7].c: New.
From-SVN: r75303
|
|
* Makefile.in (OBJS-common): Remove dwarfout.o.
(dwarfout.o): Remove.
* common.opt: Remove -gdwarf, -gdwarf+.
* defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
DWARF_DEBUGGING_INFO.
* dwarf2out.c: Fix typo in comment.
* dwarfout.c: Remove.
* opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
* toplev.c (process_options): Remove check for
DWARF_DEBUGGING_INFO.
* config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
#undef it.
* config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
* config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
* config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
* config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
* config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
* config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
* config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
* config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
* config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
* config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
* config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
* config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
* config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
* doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
or -gdwarf+.
* doc/tm.texi: Likewise.
From-SVN: r74996
|
|
* common.opt (fprofile-generate,fprofile-use): Add.
* gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
* opts.c (profile_arc_flag_set, flag_profile_values_set,
flag_unroll_loops_set, flag_tracer_set,
flag_value_profile_transformations_set,
flag_peel_loops_set): New static variables.
(common_handle_option): Deal with -fprofile-generate/-fprofile-use
* invoke.texi (-fprofile-generate, -fprofile-use): Describe.
From-SVN: r74976
|
|
From-SVN: r74737
|
|
* 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
|
|
* ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
* Makefile.in (OBJS-common, GTFILES): Don't reference them.
(gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
(ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
* flow.c: Don't include ssa.h.
(set_phi_alternative_reg): Remove.
(calculate_global_regs_live): Don't call it.
(mark_used_regs): Don't handle PHI.
* gengtype.c (open_base_files): Don't reference ssa.h.
* rtl.def (PHI): Remove.
* timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
* common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
* opts.c (common_handle_option): Likewise.
* toplev.c (f_options): Likewise.
(DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
(dump_file): Update to match.
(flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
(rest_of_handle_ssa): Remove.
(rest_of_compilation): Don't call it.
* toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
* doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
* doc/passes.texi (SSA optimizations): Remove.
* gcc.dg/20020201-2.c: Remove.
* gcc.dg/20020201-4.c: Remove.
* gcc.dg/20020304-1.c: Remove.
From-SVN: r73789
|
|
* cgraphunit.c (cgraph_expand_function): Use
cgraph_possibly_inlined_p.
* tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
* opts.c (common_handle_option): Do not set max-inline-insns.
* params.def: Update comments.
(PARAM_MAX_INLINE_INSNS): Kill.
* invoke.texi (max-inline-insns): Kill.
From-SVN: r73384
|
|
* 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
|
|
* 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
|
|
* opts.c (common_handle_option): Handle OPT_fweb
* invoke.texi (-fweb): Add missing parts of documentation.
From-SVN: r72614
|
|
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
|
|
* 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
|
|
* 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
|
|
* opts.c (decode_options): Enable unit-at-a-time at -O2.
* params.def (max-inline-insns-single): Set to 500
(max-inline-insns-auto): Set to 150
* invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
From-SVN: r71105
|
|
* 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
|
|
* c-common.c: Fix comment formatting.
* c-common.h: Likewise.
* c-decl.c: Likewise.
* cppinit.c: Likewise.
* cpplib.h: Likewise.
* emit-rtl.c: Likewise.
* input.h: Likewise.
* line-map.h: Likewise.
* opts.c: Likewise.
* opts.h: Likewise.
* simplify-rtx.c: Likewise.
From-SVN: r70577
|
|
* 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
|
|
diagnostic context.
* opts.c (decode_options): Do language-specific initialization for
the global diagnostic context.
* langhooks-def.h (lhd_initialize_diagnostics): Declare.
(LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
(LANG_HOOKS_INITIALIZER): Adjust.
* langhooks.h (struct lang_hooks): Add new field
initialize_diagnostics.
* langhooks.c (lhd_initialize_diagnostics): Define.
From-SVN: r70129
|
|
* opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
(add_input_filename): New function.
(handle_options): Call add_input_filename directly instead of
with a lang hook.
* opts.h (in_fnames, num_in_fnames): Moved here.
(add_input_filename): Declare.
* c-decl.c: Need to #include opts.h.
* Makefile.in (c-decl.o): Also depends on opts.h.
* c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
(c_common_handle_filename): Replaced by add_input_filename.
* c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
Remove.
* langhooks.h (struct lang_hooks): Remove handle_filename hook.
* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
(LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
* c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
From-SVN: r70012
|
|
Remove pedwarn_with_decl, warning_with_decl and error_with_decl
from GCC.
* calls.c (try_to_integrate): Don't use xxx_with_decl.
(expand_call): Likewise.
* dwarfout.c (output_reg_number): Likewise.
* expr.c (expand_expr): Likewise.
* function.c (assign_temp): Likewise.
(uninitialized_vars_warning): Likewise.
(setjmp_args_warning): Likewise.
(expand_function_end): Likewise.
* stmt.c (fixup_gotos): Likewise.
(warn_about_unused_variables): Likewise.
(expand_end_bindings): Likewise.
* stor-layout.c (layout_decl): Likewise.
(place_field): Likewise.
* toplev.c (check_global_declarations): Likewise.
(rest_of_handle_inlining): Likewise.
(default_tree_printer): New function.
(general_init): Initialize diagnostic machinery before routing
signals to the ICE machinery. Set default tree printer.
* toplev.h (pedwarn_with_decl): Remove declaration.
(warning_with_decl): Likewise.
(error_with_decl): Likewise.
(pedwarn): Remove attribute for the time being.
* tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
* varasm.c (named_section): Likewise.
(make_decl_rtl): Likewise.
(assemble_variable): Likewise.
(merge_weak): Likewise.
(declare_weak): Likewise.
* diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
* diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
(format_with_decl): Remove.
(diagnostic_for_decl): Likewise.
(pedwarn_with_decl): Likewise.
(warning_with_decl): Likewise.
(error_with_decl): Likewise.
(diagnostic_initialize): Adjust.
(diagnostic_count_diagnostic): Likewise.
(announce_function): Likewise.
(lhd_print_error_function): Likewise.
(diagnostic_report_current_module): Likewise.
(default_diagnostic_starter): Likewise.
(diagnostic_report_diagnostic): Likewise.
(default_diagnostic_finalizer): Likewise.
(verbatim): Likewise.
(error): Likewise.
(warning): Likewise.
* opts.c (common_handle_option): Likewise.
* pretty-print.c: New file.
* c-pretty-print.h (pp_base): Override.
* c-pretty-print.c: Adjust use of macros throughout.
(pp_buffer): New macro.
(pp_newline): Likewise.
* c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
* Makefile.in (DIAGNOSTIC_H): New variable.
(c-errors.o): Use it.
(c-objc-common.o): Likewise.
(c-common.o): Likewise.
(c-opts.o): Likewise.
(c-format.o): Likewise.
(diagnostic.o): Likewise.
(opts.o): Likewise.
(toplev.o): Likewise.
(rtl-error.o): Likewise.
(dwarf2out.o): Likewise.
(jump.o): Likewise.
(pretty-print.o): New rule.
cp/
* Make-lang.in (cp/error.o): Depend on DIAGNOSTIC_H.
* error.c: Use the new pretty-printer fraamework.
From-SVN: r69773
|
|
* common.opt: Document --param.
* opts.c (columns, undocumented_msg): New.
(print_help): Get number of columns from environment. Print
--param help. Tweak newline handling.
(print_param_help): New.
(print_filtered_help): Better handling of duplicates. Complain
about undocumented switches.
(print_switch): New.
(wrap_help): Improve wrapping, use COLUMNS.
* opts.sh: Ignore comments in records.
* params.def: Fix typos and remove trailing periods.
* toplev.c (display_help): Don't dump --param help.
* doc/sourcebuild.texi: Update.
java:
* lang.opt: Don't show -MD_ and -MDD_.
From-SVN: r69581
|
|
* c.opt: Document Uncodumented; use it. Document ObjC options.
* opts.c (print_filtered_help): Skip undocumented switches.
* opts.h (CL_UNDOCUMENTED): New.
* opts.sh: Handle Undocumented.
* toplev.c (documented_lang_options): Prevent its becoming empty.
f:
* lang-options.h: Remove.
* lang.opt: Document most options.
objc:
* lang-options.h: Remove.
From-SVN: r69494
|
|
* c-opts.c (print_help): Remove.
(c_common_handle_option): Don't handle --help.
* c.opt: Document some options.
(--help): Remove.
* opts.c (print_filtered_help): New.
(print_help): Use it.
From-SVN: r69383
|
|
* common.opt: More --help messages.
* opts.c (print_help): Use puts().
* toplev.c (f_options): Remove help text.
(display_help): Don't dump f_options.
From-SVN: r69217
|
|
modifier.
* opts.c (wrap_help): Only pass int arguments as arguments to
printf's '*' modifier. Change argument of function.
From-SVN: r69124
|
|
From-SVN: r69106
|
|
* Makefile.in: Update.
* c-opts.c (c_common_handle_option): opt_text now contains the '-'.
* c.opt: Update documentation.
* common.opt: Add some help text.
* opts.c: Include intl.h.
(wrap_help, print_help): New.
(find_opt, handle_option, common_handle_option): opt_text now
contains the '-'. Use print_help to output help.
* opts.h (struct cl_option): New member "help".
* opts.sh: Update to handle help text output and to prepend
options with '-'.
* toplev.c (display_help): Remove some help text.
From-SVN: r69068
|
|
that do and don't take an argument.
* opts.c (common_handle_option): Correct handling of the
-falign- switches that do and don't take an argument.
From-SVN: r69053
|
|
* c-common.h (c_comon_handle_filename,
c_common_missing_arguement): New.
* c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
LANG_HOOKS_MISSING_ARGUMENT): New.
* c-opts.c (missing_arg): Rename c_common_missing_argument,
update to be an appropriate langhook.
(c_common_handle_option): Don't handle filenames.
(c_common_handle_filename): New.
* hooks.c (hook_void_constcharptr,
hook_bool_constcharptr_size_t_false): New.
* hooks.h (hook_void_constcharptr,
hook_bool_constcharptr_size_t_false): New.
* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
LANG_HOOKS_MISSING_ARGUMENT): New.
(LANG_HOOKS_INITIALIZER): Update.
* langhooks.h (struct lang_hooks): Add handle_filename and
missing_argument.
* opts.c (handle_option): Don't handle filenames here, but ...
(handle_options): ... here.
(common_handle_option): Don't handle missing arguments here.
* objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
LANG_HOOKS_MISSING_ARGUMENT): New.
ada:
* misc.c (gnat_handle_option): Don't handle filenames.
cp:
* cp-lang.c (LANG_HOOKS_HANDLE_FILENAME,
LANG_HOOKS_MISSING_ARGUMENT): Override.
f:
* top.c (ffe_handle_option): Don't handle filenames.
java:
* lang.c (java_handle_option): Don't handle filenames.
From-SVN: r69011
|
|
From-SVN: r68939
|
|
* c-common.h (c_common_init_options): New prototype.
* c-opts.c (deferred_size): Remove.
(defer_opt): Array is now pre-allocated.
(c_common_init_options): Pre-allocate deferred_opts. Make
lang_flags unsigned.
(push_command_line_options): Free deferred_opts.
* hooks.c (hook_uint_uint_constcharptrptr_0): New.
* hooks.h (hook_uint_uint_constcharptrptr_0): New.
* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
* langhooks.h (struct lang_hooks): New prototype for init_options.
* main.c (main): Cast argv.
* opts.c (handle_option, handle_options): Update prototypes.
(decode_options): save_argc, save_argv are not global. Constify.
* opts.h (decode_options): New prototype.
* toplev.c (general_init): New protoype.
(save_argv): Make static.
(save_argc): Remove.
(print_switch_values, general_init): Constify.
(toplev_main): Save argv.
* toplev.h (toplev_main): Update prototype.
(save_argc, save_argv): Remove.
ada:
* misc.c (save_argc, save_argv): Make static.
(gnat_init_options): New prototype.
(gnat_init_options): Update.
f:
* top.c (ffe_init_options): Update prototype.
* top.h (ffe_init_options): Update prototype.
java:
* lang.c (java_init_options): Update prototype.
treelang:
* tree1.c (treelang_init_options): Update prototype.
* treelang.h (treelang_init_options): Update prototype.
From-SVN: r68850
|
|
2003-06-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* opts.c: Include insn-attr.h.
* Makefile.in (opts.o): Depend on INSN_ATTR_H.
From-SVN: r68657
|
|
* Makefile.in: Update.
* opts.c: Include tm_p.h.
(handle_options): Make static.
(decode_options): Copied from toplev.c.
* opts.h (decode_options): New.
* toplev.c (parse_options_and_default_flags): Move most to opts.c,
some to...
(general_init): ...here.
(toplev_main): Use decode_options instead.
* toplev.h (save_argc, save_argv): New.
From-SVN: r68629
|