OSDN Git Service

pf3gnuchains/gcc-fork.git
15 years ago * config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.
hainque [Tue, 12 Dec 2006 11:09:53 +0000 (11:09 +0000)]
* config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119773 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/vxlib.c: Extract tls related routines into ...
hainque [Tue, 12 Dec 2006 11:05:54 +0000 (11:05 +0000)]
* config/vxlib.c: Extract tls related routines into ...
* config/vxlib-tls.c: New file.
* config/t-vxworks: Add vxlib-tls.c to LIB2FUNCS_EXTRA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119771 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Tue, 12 Dec 2006 10:40:39 +0000 (10:40 +0000)]
2006-12-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* decl.c (build_enumerator): Update error message to match C
front-end.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119770 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-12 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 12 Dec 2006 09:47:45 +0000 (09:47 +0000)]
2006-12-12  Olivier Hainque  <hainque@adacore.com>

* fixincludes/mkfixinc.sh: Add "*-*-vxworks*" to the list of
targets for which a no-op fixer is appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119769 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/spu/spu.opt (mfixed-range): New option.
bje [Tue, 12 Dec 2006 04:55:50 +0000 (04:55 +0000)]
* config/spu/spu.opt (mfixed-range): New option.
* config/spu/spu.h (spu_fixed_range_string): Declare.
* config/spu/spu.c (spu_override_options): Handle -mfixed-range.
(fix_range): New function.
* doc/invoke.texi (SPU Options): Document -mfixed-range.
* testsuite/gcc.target/spu/fixed-range.c: New.
* testsuite/gcc.target/spu/fixed-range-bad.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119768 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * MAINTAINERS: Add myself as libgcc and fp-bit maintainer.
ian [Tue, 12 Dec 2006 04:48:47 +0000 (04:48 +0000)]
* MAINTAINERS: Add myself as libgcc and fp-bit maintainer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119767 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-11 H.J. Lu <hongjiu.lu@intel.com>
hjl [Tue, 12 Dec 2006 03:58:52 +0000 (03:58 +0000)]
2006-12-11  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/17982
PR middle-end/20218
* cgraphunit.c (cgraph_optimize): Remove call to
process_pending_assemble_externals.

* config/elfos.h (ASM_OUTPUT_EXTERNAL): New.

* config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.

* config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
(ia64_hpux_add_extern_decl): Removed.
(ia64_hpux_file_end): Likewise.
(extern_func_list): Likewise.
(extern_func_head): Likewise.

* output.h (assemble_external): Update comments.
(default_elf_asm_output_external): New.
(maybe_assemble_visibility): New.

* toplev.c (compile_file): Update comment.

* varasm.c (assemble_external): Always put it on
pending_assemble_externals.
(maybe_assemble_visibility): Make it extern and return int.
(default_elf_asm_output_external): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119764 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-11 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 12 Dec 2006 03:44:25 +0000 (03:44 +0000)]
2006-12-11  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-structalias.c (handle_ptr_arith): Return false when we
can't handle the pointer arithmetic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119763 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-11 Diego Novillo <dnovillo@redhat.com>
dnovillo [Tue, 12 Dec 2006 01:48:51 +0000 (01:48 +0000)]
2006-12-11  Diego Novillo  <dnovillo@redhat.com>

* doc/tree-ssa.texi: Update documentation for virtual operands
and the use of push_stmt_changes/pop_stmt_changes.
* doc/invoke.texi: Remove documentation for params
global-var-threshold.
Update documentation on max-aliased-vops.

* tree-into-ssa.c: Cleanup comments, variables and
spacing in various functions.
(regs_to_rename): Declare.
(mem_syms_to_rename): Declare.
(dump_update_ssa): Declare.
(debug_update_ssa): Declare.
(dump_names_replaced_by): Declare.
(debug_names_replaced_by): Declare.
(dump_def_blocks): Declare.
(debug_def_blocks): Declare.
(dump_defs_stack): Declare.
(debug_defs_stack): Declare.
(dump_currdefs): Declare.
(debug_currdefs): Declare.
(mark_def_sites): Do not handle virtual operands.
(compute_idf): Rename from find_idf.  Update users.
(register_new_def): Make local.  Convert second argument
to 'tree'.
Use BLOCK_DEFS_STACK directly.
If pushing a non-register, also push the underlying
symbol.
(rewrite_stmt): Do not handle virtual operands.
(dump_tree_ssa): Call dump_def_blocks, dump_defs_stack,
dump_currdefs and dump_tree_ssa_stats.
(dump_tree_ssa_stats): Also dump REPL_TBL.
(replace_use): Remove.  Update all users to call SET_USE
instead.
(rewrite_blocks): Move code to free memory to
fini_ssa_renamer.
(mark_def_site_blocks): Move initialization code to
init_ssa_renamer.
(init_ssa_renamer): New.
(fini_ssa_renamer): New.
(rewrite_into_ssa): Call them.
(prepare_block_for_update): Process SSA_OP_ALL_USES first
and SSA_OP_ALL_DEFS later.  Do not process virtual
operands separately.
(dump_update_ssa): Call dump_decl_set.
(init_update_ssa): Initialize regs_to_rename and
mem_syms_to_rename.
Call init_ssa_renamer.
(delete_update_ssa): Call fini_ssa_renamer.
Free blocks_with_phis_to_rewrite.
(mark_sym_for_renaming): If the variable has
sub-variables, also mark them.
If the variable belongs to a partition, also mark it.
(mark_set_for_renaming): Call mark_sym_for_renaming on
every symbol in the set.
(switch_virtuals_to_full_rewrite): Call
mark_set_for_renaming.
(update_ssa): Separate syms_to_rename into regs_to_rename
and mem_syms_to_rename.

* tree-dump.c (dump_options): Add TDF_MEMSYMS.
* tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS.
(debug_generic_stmt): Likewise.
(debug_tree_chain): Likewise.
(dump_symbols): New.
(dump_generic_node): Check for TDF_MEMSYMS.
Handle MEMORY_PARTITION_TAG.
If the statement references memory and TDF_MEMSYMS is
given, call dump_symbols.
Indicate default names with (D).
(dump_vops): Update for new virtual operator format.

* tree.c (init_ttree): Add MEMORY_PARTITION_TAG to
tree_contains_struct.
(tree_code_size): Handle MEMORY_PARTITION_TAG.
(tree_node_structure): Likewise.
(needs_to_live_in_memory): Handle SSA names.
* tree.h (MTAG_P): Likewise.
(struct tree_memory_partition_tag): Declare.
(MPT_SYMBOLS): Define.
(union tree_node): Add field 'mpt'.
* treestruct.def (TS_MEMORY_PARTITION_TAG): Define.
* tree.def (MEMORY_PARTITION_TAG): Define.

* tree-pass.h (TDF_MEMSYMS): Define.

* params.h (GLOBAL_VAR_THRESHOLD): Remove.

* tree-ssa-alias.c: Include pointer-set.h
(struct alias_map_d): Remove fields total_alias_vops,
grouped_p and may_aliases.  Update all users.
(struct mp_info_def): Declare.
(mp_info_t): New type.
(get_smt_for): Rename from get_tmt_for.  Update all
users.
(add_may_alias): Add argument ALREADY_ADDED.  If given,
use it to avoid adding duplicate entries to alias sets.
(replace_may_alias): Remove.  Update all users.
(total_alias_vops_cmp): Remove.  Update all users.
(group_aliases_into): Remove.  Update all users.
(tree_pointer_compare): Remove.  Update all users.
(compact_name_tags): Remove.  Update all users.
(group_aliases): Remove.  Update all users.
(mark_non_addressable): Move from tree-flow-inline.h.
Remove the symbol from the partition holding it, if
needed.
(dump_mp_info): New.
(debug_mp_info): New.
(sort_mp_info): New.
(create_partition_for): New.
(rewrite_alias_set_for): New.
(compute_memory_partitions): New.
(compute_may_aliases): Call it.
(init_alias_info): If computing aliases for the first
time, mark every memory symbol for renaming.
(have_common_aliases_p): New.
(compute_flow_insensitive_aliasing): Call it.
(setup_pointers_and_addressables): Do not cache
num_referenced_vars.
For register promoted symbols, mark their former
partition for renaming.
(maybe_create_global_var): Only create .GLOBAL_VAR if
there are no call-clobbered variables and a mix of pure
and non-pure functions were found.
(may_alias_p): Tidy comments.
(create_tag_raw): Remove unused variable new_type.
(dump_alias_info): call dump_memory_partitions.
(dump_points_to_info_for): Call dump_decl_set.
(may_be_aliased): Tidy comments and formatting.

* timevar.def (TV_MEMORY_PARTITIONING): Define.
* tree-vectorizer.c (vect_memsyms_to_rename): Rename from
vect_vnames_to_rename.  Set DECL_UIDs instead of SSA name
versions in it.
(slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs.
* tree-vect-transform.c (vect_transform_loop): Call
mark_set_for_renaming with vect_memsyms_to_rename.
* tree-flow-inline.h (zero_imm_uses_p): New.
(memory_partition): New.
(set_memory_partition): New.
(factoring_name_p): New.
(symbol_mem_tag): New.  Update every function that used
to access the annotation directly.
(set_symbol_mem_tag): Likewise.

* tree-ssa-copy.c (may_propagate_copy): Allow copies
between a partition and a symbol as long as the symbol
belongs to the partition.
(merge_alias_info): Ignore merge requests when memory
partitions are involved.

* tree-ssa.c (verify_ssa_name): Check that default
definitions have empty defining statements.
(verify_use): Remove argument IS_VIRTUAL.
Don't call verify_ssa_name.
(verify_phi_args): Call verify_ssa_name.
(verify_flow_insensitive_alias_info): Handle MPTs.
(verify_flow_sensitive_alias_info): Likewise.
(verify_name_tags): Likewise.
(verify_call_clobbering): Likewise.
(verify_ssa): Check for VOPs only after aliasing
information is available.
Check virtuals and real operands separately.
Call verify_ssa_name on every operand.
(stmt_references_memory_p): Move to tree-ssa-operands.c.
(walk_use_def_chains_1): Guard against NULL PHI
arguments.

* tree-ssa-operands.c (stmt_references_memory_p): Move from
tree-ssa.c.
(get_mpt_for): New.
(dump_memory_partitions): New.
(debug_memory_partitions): New.

* tree-flow.h (struct var_ann_d): Add field mpt.
(struct stmt_ann_d): Add bitfield references_memory.
* Makefile.in (tree-ssa-structalias.o): Include
pointer-set.h
(tree-ssa-alias.o): Likewise.
* tree-ssa-structalias.c: (update_alias_info): Use
STORED_SYMS to determine which variables are being
written to by the store operation.
* tree-ssa-structalias.h (struct alias_info)
<total_alias_vops>: Remove.  Update all users.
<written_vars>: Change to a pointer set.  Update all
users.
<dereferenced_ptrs_store>: Likewise.
<dereferenced_ptrs_load>: Likewise.
(NUM_REFERENCES): Remove.  Update all users.
(NUM_REFERENCES_CLEAR): Remove.  Update all users.
(NUM_REFERENCES_INC): Remove.  Update all users.
(NUM_REFERENCES_SET): Remove.  Update all users.

* params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove.
Update all users.
(PARAM_MAX_ALIASED_VOPS): Set to 10.
* tree-ssanames.c (make_ssa_name): Initialize
SSA_NAME_IS_DEFAULT_DEF to 0.

2006-12-11  Aldy Hernandez  <aldyh@redhat.com>

* tree-ssa-dse.c (aggregate_vardecl_d): New.
(dse_global_data): Add aggregate_vardecl field.
(dse_possible_dead_store_p): New.
Add prev_defvar variable.
Allow immediate uses and previous immediate uses to differ
if they are setting different parts of the whole.
(get_aggregate_vardecl): New.
(dse_record_partial_aggregate_store): New.
(dse_whole_aggregate_clobbered_p): New.
(dse_partial_kill_p): New.
(dse_optimize_stmt): Abstract code checking a possible dead store
into new function dse_possible_dead_store_p().
Call dse_maybe_record_aggregate_store().
When checking whether a STMT and its USE_STMT refer to the
same memory address, check also for partial kills that clobber
the whole.
Move some variable definitions to the block where they are used.
(aggregate_vardecl_hash): New.
(aggregate_vardecl_eq): New.
(aggregate_vardecl_free): New.
(aggregate_whole_store_p): New.
(tree_ssa_dse): Initialize and free aggregate_vardecl.
Mark which aggregate stores we care about.

2006-12-11  Andrew Macleod  <amacleod@redhat.com>

* tree-ssa-operands.h (struct vuse_element_d): Declare.
(vuse_element_t): Declare.
(struct vuse_vec_d): Declare.
(vuse_vec_p): Declare.
(VUSE_VECT_NUM_ELEM): Define.
(VUSE_VECT_ELEMENT_NC): Define.
(VUSE_ELEMENT_PTR_NC): Define.
(VUSE_ELEMENT_VAR_NC): Define.
(VUSE_VECT_ELEMENT): Define.
(VUSE_ELEMENT_PTR): Define.
(VUSE_ELEMENT_VAR): Define.
(struct maydef_optype_d) <use_var>: Remove.
<use_ptr>: Remove.
<usev>: Add.
(struct vuse_optype_d) <kill_var>: Remove.
<use_ptr>: Remove.
<usev>: Add.
(struct mustdef_optype_d) <kill_var>: Remove.
<use_ptr>: Remove.
<usev>: Add.
(VUSE_OP_PTR): Add argument.  Use VUSE_ELEMENT_PTR.
(VUSE_OP): Add argument.  Use VUSE_ELEMENT_PTR.
(VUSE_NUM): Define.
(VUSE_VECT): Define.
(MAYDEF_OP_PTR): Add argument.  Use VUSE_OP_PTR.
(MAYDEF_OP): Add argument.  Use VUSE_OP.
(MAYDEF_NUM): Define.
(MAYDEF_VECT): Define.
(MUSTDEF_KILL_PTR): Use VUSE_OP_PTR.
(MUSTDEF_KILL): Use VUSE_OP.
(MUSTDEF_NUM): Define.
(MUSTDEF_VECT): Define.
(realloc_maydef): Declare.
(realloc_vuse): Declare.
(struct ssa_operand_iterator_d) <vuse_index>: Add.
<mayuse_index>: Add.
(LOADED_SYMS): Define.
(STORED_SYMS): Define.
(FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef.
* tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE
operators.
* tree-pretty-print.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-flow-inline.h: Likewise.
(op_iter_next_mustdef): New.
* tree-ssa-operands.c: Likewise.
(ALLOC_OPTYPE): Remove.
Update all users.
(alloc_def): New.
(alloc_use): New.
(alloc_maydef): New.
(alloc_vuse): New.
(alloc_mustdef): New.
(realloc_maydef): New.
(realloc_vuse): New.

2006-12-11  Aldy Hernandez  <aldyh@redhat.com>

* tree-ssa-operands.c: Remove build_v_must_defs.
(init_ssa_operands): Delete build_v_must_defs.
(finalize_ssa_v_must_def_ops): Remove.
(finalize_ssa_v_must_defs): Remove.
(finalize_ssa_stmt_operands): Do not call
finalize_ssa_v_must_defs.
(start_ssa_stmt_operands): Do not check build_v_must_defs.
(append_v_must_def): Delete.
(copy_virtual_operands): Do not copy V_MUST_DEFs.
(get_modify_expr_operands): Remove reference to V_MUST_DEF from
comment.  Remove opf_kill_def.
(build_ssa_operands): Remove references to v_must_defs.
(copy_virtual_operands): Same.
(copy_virtual_operands): Same.
(fini_ssa_operands): Same.
(free_ssa_operands): Same.
(add_mustdef_op): Remove.
Remove mustdef_optype_p.
(alloc_mustdef): Remove.
Remove references to V_MUST_DEFs in comment at top of file.
(get_expr_operands): Remove opf_kill_def.
(opf_kill_def): Remove.
(add_virtual_operand): Remove opf_kill_def.
(get_indirect_ref_operands): Same.
(get_tmr_operands): Same.

* tree-vectorizer.c (rename_variables_in_bb): Remove
SSA_OP_ALL_KILLS.

* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove
SSA_OP_ALL_KILLS.
(check_loop_closed_ssa_stmt): Same.

* tree-ssa.c (verify_def): Remove V_MUST_DEF from comment.
(verify_use): Same.
(verify_ssa): Remove V_MUST_DEFs traces.
(verify_ssa): Remove SSA_OP_ALL_KILLS.

* tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to
SSA_OP_VMAYDEF.
(rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS.
(rewrite_stmt): Remove SSA_OP_ALL_KILLS.

* tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF
references.
(MUSTDEF_OPS): Remove.
(SSA_OP_VMUSTDEF): Remove.
(FOR_EACH_SSA_MUSTDEF_OPERAND): Remove.
(struct mustdef_optype_d): Remove.
Remove mustdef_optype_p.
(struct stmt_operands_d): Remove mustdef_ops.
(ssa_operand_iterator_d): Remove mustdefs and mustkills.
(SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF.
(MUSTDEF_RESULT_PTR): Remove.
(MUSTDEF_RESULT): Remove.
(MUSTDEF_KILL_PTR): Remove.
(MUSTDEF_KILL): Remove.
(MUSTDEF_NUM): Remove.
(MUSTDEF_VECT): Remove.
(SSA_OP_VIRTUAL_KILLS): Remove.
(SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS.
(SSA_OP_VMUSTKILL): Remove.
(SSA_OP_ALL_KILLS): Remove.
(SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS.

* tree-flow-inline.h (op_iter_init_def): Remove
SSA_OP_VIRTUAL_KILLS.
(delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS.

* tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
SSA_OP_VIRTUAL_KILLS.

* tree-ssa-loop-im.c (determine_max_movement): Remove
SSA_OP_VIRTUAL_KILLS.
(gather_mem_refs_stmt): Same.
(gather_mem_refs_stmt): Same.

* tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete.
(perform_tree_ssa_dce): Remove call to
mark_really_necessary_kill_operand_phis.

* tree-flow-inline.h (op_iter_init): Remove setting of mustdefs
and mustkills.
(op_iter_next_use): Do not check mustkills.
(op_iter_next_def): Do not check mustdefs.
(op_iter_next_tree): Do not check mustkills or mustdefs.
(clear_and_done_ssa_iter): Do not set mustdefs or mustkills.
(op_iter_next_maymustdef): Do not check mustkills.
(op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL.
(op_iter_init_mustdef): Remove.

* tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to
SSA_OP_VMAYDEF.

* tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF.

* tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments.
(visit_assignment): Same.

* tree-ssa-copy.c (copy_prop_visit_assignment): Same.

* tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment.

* tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF.

* tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF.
Remove kill_p variable.

* tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs.
(dump_dfa_stats): Remove code related to V_MUST_DEFs.
(collect_dfa_stats_r): Do not set num_v_must_defs.
(mark_new_vars_to_rename): Remove v_must_defs_{before,after}
code.

* tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to
SSA_OP_VMAYUSE.

* tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove
SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL.

* tree-ssa-propagate.c (stmt_makes_single_store): Remove
SSA_OP_VMUSTDEF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119760 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Tue, 12 Dec 2006 00:18:04 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119757 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-11 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Mon, 11 Dec 2006 22:17:09 +0000 (22:17 +0000)]
2006-12-11  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/28125
* acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
        * configure: Regenerate.
        * scripts/testsuite_flags.in (cxxldflags): Add LIBICONV bits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119749 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR rtl-optimization/30113
rakdver [Mon, 11 Dec 2006 21:29:44 +0000 (21:29 +0000)]
PR rtl-optimization/30113
* loop-iv.c (implies_p): Require the mode of the operands to be
scalar.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119748 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-ssa-operands.h (create_ssa_artificial_load_stmt):
dnovillo [Mon, 11 Dec 2006 20:15:53 +0000 (20:15 +0000)]
* tree-ssa-operands.h (create_ssa_artificial_load_stmt):
Rename from create_ssa_artficial_load_stmt.  Update all users.
* tree-into-ssa.c (register_new_def): Make static.
* tree.c (is_global_var): Handle SSA_NAMEs.
* tree.h (SSA_NAME_IS_DEFAULT_DEF): Define.  Update all users
that used to call gimple_default_def.
* tree-ssa-operands.c (push_stmt_changes): New.
(pop_stmt_changes): New.  Update every pass that modifies
statements to bracket modifications with
push_stmt_changes/pop_stmt_changes.
(discard_stmt_changes): New.
* tree-ssa-dom.c (stmts_to_rescan): Change to stack of
'tree *' instead of 'tree'.  Update all users.
* tree-flow-inline.h (zero_imm_uses_p): New.
(symbol_mem_tag): New.  Update every function that used
to access the annotation directly.
(set_symbol_mem_tag): Likewise.
* tree-dfa.c (dump_variable): Always show the escape mask.
(mark_symbols_for_renaming): Rename from
mark_new_vars_to_rename.  Update all users.
Only mark to rename naked symbols in real and virtual
operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119746 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix changelog entry.
schwab [Mon, 11 Dec 2006 19:11:38 +0000 (19:11 +0000)]
Fix changelog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119745 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * varasm.c (elf_record_gcc_switches): Cast second argument of
schwab [Mon, 11 Dec 2006 19:09:05 +0000 (19:09 +0000)]
* varasm.c (elf_record_gcc_switches): Cast second argument of
ASM_OUTPUT_SKIP to unsigned HOST_WIDE_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119744 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago MAINTAINERS: Update my entry.
amylaar [Mon, 11 Dec 2006 18:49:23 +0000 (18:49 +0000)]
MAINTAINERS: Update my entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119742 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-scalar-evolution.c (scev_const_prop):
dnovillo [Mon, 11 Dec 2006 17:50:53 +0000 (17:50 +0000)]
* tree-scalar-evolution.c (scev_const_prop):
* tree-phinodes.c (remove_phi_node): Add argument
RELEASE_LHS_P.  If given, release the SSA name on the LHS of
the PHI node.
Update all users.
* tree-ssa-dce.c: Remove forward declarations for static
functions.  Re-arrange functions bodies as needed.
(find_obviously_necessary_stmts): Never mark PHI nodes as
obviously necessary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119740 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-11 Carlos O'Donell <carlos@codesourcery.com>
carlos [Mon, 11 Dec 2006 17:31:48 +0000 (17:31 +0000)]
2006-12-11  Carlos O'Donell  <carlos@codesourcery.com>

* config/arm/elf.h (MAX_OFILE_ALIGNMENT): Remove definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119739 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * value-prof.c (tree_stringops_transform): New.
hubicka [Mon, 11 Dec 2006 14:19:11 +0000 (14:19 +0000)]
* value-prof.c (tree_stringops_transform): New.
(tree_value_profile_transformations): Require count to be non-zero;
call stringop transform; reset stmt BSI after BB changed.
(tree_divmod_fixed_value, tree_mod_pow2): Don't emit unnecesary label.
(interesting_stringop_to_profile_p, tree_stringop_fixed_value): New.
(tree_stringops_values_to_profile): New.
(tree_values_to_profile): Call tree_stringops_values_to_profile.
* tree.h (build_string_literal): Tidy prototype.
(validate_arglist, builtin_memset_read_str, get_pointer_alignment):
Declare.
* builtins.c (validate_arglist, builtin_memset_read_str,
get_pointer_alignment): Export.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119735 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR target/30120
uros [Mon, 11 Dec 2006 14:06:07 +0000 (14:06 +0000)]
PR target/30120
Revert:
2006-11-15  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.opt: New target option -mx87regparm.

* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
float_in_x87: Add new variables. mmx_words, sse_words: Remove.
(X87_REGPARM_MAX): Define.

* config/i386/i386.c (override_options): Error out for
-mx87regparm but no 80387 support.
(ix86_attribute_table): Add x87regparm.
(ix86_handle_cconv_attribute): Update comments for x87regparm.
(ix86_comp_type_attributes): Check for mismatched x87regparm types.
(ix86_function_x87regparm): New function.
(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
point registers.
(init_cumulative_args): Initialize x87_nregs and float_in_x87
variables.
(function_arg_advance): Process x87_nregs and x87_regno when
floating point argument is to be passed in 80387 register.
(function_arg): Pass XFmode arguments in 80387 registers for local
functions.  Pass SFmode and DFmode arguments to local functions
in 80387 registers when flag_unsafe_math_optimizations is set.

* reg-stack.c (convert_regs_entry): Disable NaN load for
stack registers that are used for argument passing.

* doc/extend.texi: Document x87regparm function attribute.
* doc/invoke.texi: Document -mx87regparm.

testsuite/ChangeLog:

PR target/30120
* gcc.target/i386/pr30120.c: New test.

Revert:
2006-11-15  Uros Bizjak  <ubizjak@gmail.com>

* gcc.target/i386/x87regparm-1.c: New test.
* gcc.target/i386/x87regparm-2.c: New test.
* gcc.target/i386/x87regparm-3.c: New test.
* gcc.target/i386/x87regparm-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119734 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-11 Richard Guenther <rguenther@suse.de>
paolo [Mon, 11 Dec 2006 10:48:56 +0000 (10:48 +0000)]
2006-12-11  Richard Guenther  <rguenther@suse.de>
    Paolo Carlini  <pcarlini@suse.de>

* include/ext/pb_ds/detail/pat_trie_/traits.hpp: Qualify types.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
* include/ext/rope: Likewise.
* include/bits/stl_tree.h (struct _Rb_tree): Change the _Link_type
typedefs to use _Rb_tree_node<_Val> directly.
(_M_get_node, _M_put_node): Use _Link_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119732 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago Move all varpool routines out of cgraph/cgraphunit to varpool.c
hubicka [Mon, 11 Dec 2006 08:07:52 +0000 (08:07 +0000)]
Move all varpool routines out of cgraph/cgraphunit to varpool.c
* cgraph.c: Update comments.
(cgraph_varpool_hash,
cgraph_varpool_nodes, cgraph_varpool_last_needed_node
cgraph_varpool_node_name, cgraph_varpool_node,
cgraph_varpol_mode_for_asm, cgraph_varpool_mark_needed_node,
cgraph_variable_initializer_availability): Move to
varpool.c and drop cgraph_ prefixes.
(cgraph_varpool_enqueue_needed_node, cgraph_varpool_reset_queue,
cgraph_varpool_first_unanalyzed_node, cgraph_varpool_finalize_decl):
move to varpool.c; drop cgraph_ prefix; make static.
(dump_cgraph_varpool_node): Move to varpool.c under name
dump_varpool_node.
(dump_varpool, hash_varpool_node, eq_varpool_node,
decide_is_variable_needed): Move to varpool.c
(decl_assembler_name_equal): Move to tree.c.
(availability_names): Rename to ...
(cgraph_availability_names): ... this one.
(dump_cgraph_node): Update.
* cgraph.h: Reorder declarations now in varpool.c
(cgraph_vailablity_names): Declare.
(struct cgraph_varpool_node): Rename to ...
(struct varpool_node): ... this one.
(cgraph_varpool_first_unanalyzed_node, cgraph_varpool_nodes_queue,
cgraph_varpool_first_unanalyzed_node, cgraph_varpool_node,
cgraph_varpool_node_for_asm, cgraph_varpool_mark_needed_node,
cgraph_varpool_finalize_decl, cgraph_varpool_enqueue_needed_node,
cgraph_varpool_reset_queue, cgraph_varpool_assemble_pending_decls,
cgraph_variable_initializer_availability): Rename to ...
(varpool_first_unanalyzed_node, varpool_nodes_queue,
varpool_first_unanalyzed_node, varpool_node,
varpool_node_for_asm, varpool_mark_needed_node,
varpool_finalize_decl, varpool_enqueue_needed_node,
varpool_assemble_pending_decls, variable_initializer_availability):
Rename to ...
* tree.c (decl_assembler_name_equal): Move here from cgraph.c.
* tree.h (decl_assembler_name_equal): Declare.
* omp-low.c (lower_omp_critical): Update.
* ipa-reference (analyze_variable, static_execute): Likewise.
* toplev.c (wrapup_global_declaration_2, compile_file): Update.
* cgraphunit.c: Update comments.
(cgraph_varpool_assembled_nodes_queue): Move to varpool.c under name
varpool_assembled_nodes_queue.
(cgraph_varpool_analyze_pending_decls): Move to varpool.c under name
varpool_analyze_pending_decls.
(cgraph_varpool_remove_unreferenced_decls): Move to varpool.c under name
varpool_remove_unreferenced_decls.
(record_reference): Update.
(cgraph_create_edges): Update.
(record_referneces_in_initializer): New function.
(cgraph_varpool_assemble_decl): Move to varpool.c under name
varpool_assemble_decl; make global.
(cgraph_varpool_assemble_pending_decls): Move to varpool.c under name
varpool_assemble_pending_decls.
(process_function_and_variable_attributes, cgraph_finalize_compilation_unit,
struct cgraph_order_sort, cgraph_output_in_order,
cgraph_function_and_variable_invisibility, cgraph_optimize,
cgraph_increase_alignment): Update.
* dwarf2out.c (decls_for_scope): Likewise.
* ipa-type-escape.c (analyze_variable, type_escape_execute): Likewise.
* except.c (output_ttype): Likewise.
* varasm.c (mark_decl_referenced): Likewise.
(find_decl_and_mark_referenced, assemble_alias): update.
* Makefile.in: Add varpool.c, gt-varpool.c and remove gt-cgraphunit.c
* passes.c (rest_of_decl_compilation): Update.

* cp/decl2.c (var_finalized_p): Update for renamed varpool functions.
* fortran/f59-lang.c (gfc_expand_function): Update for renamed varpool functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119731 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use
irar [Mon, 11 Dec 2006 07:54:35 +0000 (07:54 +0000)]
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Use
GIMPLE_STMT_OPERAND.
* tree-vect-transform.c (vect_permute_store_chain): Likewise.
(vect_setup_realignment): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119730 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * configure.in: Handle spu makefile frag.
amodra [Mon, 11 Dec 2006 06:43:16 +0000 (06:43 +0000)]
* configure.in:  Handle spu makefile frag.
* config/mt-spu: New file.
* Makefile.tpl (MAINT): Define
(MAINTAINER_MODE_FALSE, MAINTAINER_MODE_TRUE): Define.
* configure: Regenerate.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119729 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config.guess: Import latest version.
bje [Mon, 11 Dec 2006 04:11:34 +0000 (04:11 +0000)]
* config.guess: Import latest version.
* config.sub: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119728 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/spu/spu-elf.h (STARTFILE_SPEC): Update.
bje [Mon, 11 Dec 2006 00:53:42 +0000 (00:53 +0000)]
* config/spu/spu-elf.h (STARTFILE_SPEC): Update.
(ENDFILE_SPEC): Likewise.
* config/spu/spu.opt (mstdmain): New option.
* config/spu/crti.asm: Remove.
* config/spu/crtn.asm: Likewise.
* config/spu/crt0.c: Likewise.
* config/spu/crtend.c: Likewise.
* config/spu/t-spu-elf (EXTRA_MULTILIB_PARTS): Remove crt0 files
listed above.
($(T)crti.o, $(T)crtn.o, $(T)crt1.o, $(T)crtend1.o): Remove.
* doc/invoke.texi (SPU Options): Document -mstdmain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119727 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * configure.in (spu-*-*): Don't skip target-libiberty.
bje [Mon, 11 Dec 2006 00:22:24 +0000 (00:22 +0000)]
* configure.in (spu-*-*): Don't skip target-libiberty.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119726 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Mon, 11 Dec 2006 00:18:20 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119724 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * doc/loop.texi: Document number_of_latch_executions and
rakdver [Sun, 10 Dec 2006 23:34:20 +0000 (23:34 +0000)]
* doc/loop.texi: Document number_of_latch_executions and
number_of_cond_exit_executions.
* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
chrec_is_positive, number_of_iterations_for_all_loops,
scev_const_prop): Use number_of_latch_executions.
(set_nb_iterations_in_loop): Do not increase the value of the
number of iterations.
(number_of_iterations_in_loop): Renamed to ...
(number_of_latch_executions): ... this.
(number_of_exit_cond_executions): New function.
* tree-scalar-evolution.h (number_of_iterations_in_loop): Declaration
removed.
(number_of_latch_executions, number_of_exit_cond_executions): Declare.
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Use
number_of_latch_executions.
* tree-data-ref.c (get_number_of_iters_for_loop): Use
number_of_exit_cond_executions.
* tree-vect-analyze.c (vect_get_loop_niters): Ditto.
* cfgloop.h (struct loop): Improve description of the nb_iterations
field.

* gcc.dg/tree-ssa/loop-17.c: Update outcome.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119718 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-10 Daniel Berlin <dberlin@dberlin.org>
dberlin [Sun, 10 Dec 2006 22:39:41 +0000 (22:39 +0000)]
2006-12-10  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-alias.c (compact_name_tags): Use sort_tags_by_id.
(tree_pointer_compare): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119714 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-vrp.c (adjust_range_with_scev): Use get_chrec_loop.
rakdver [Sun, 10 Dec 2006 22:17:15 +0000 (22:17 +0000)]
* tree-vrp.c (adjust_range_with_scev): Use get_chrec_loop.
* loop-unswitch.c (unswitch_loops): Use FOR_EACH_LOOP.
* tree-loop-linear.c (linear_transform_loops): Ditto.
* tree-ssa-loop-im.c (determine_lsm): Ditto.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations,
free_numbers_of_iterations_estimates): Ditto.
* tree_ssa_unswitch_loops (tree_ssa_unswitch_loops): Ditto.
* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto.
* modulo-sched.c (sms_schedule): Ditto.
* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables,
tree_unroll_loops_completely): Ditto.
* predict.c (predict_loops): Ditto.
* tree-if-conv.c (main_tree_if_conversion): Ditto.
* loop-unroll.c (unroll_and_peel_loops, peel_loops_completely,
decide_unrolling_and_peeling): Ditto.
* cfgloopmanip.c (unloop): Use delete_loop.
(place_new_loop): Access larray vector instead of parray.
(create_preheaders, force_single_succ_latches,
fix_loop_structure): Use FOR_EACH_LOOP and delete_loop..
* loop-doloop.c (doloop_optimize_loops): Ditto.
* loop-invariant.c (move_loop_invariants): Ditto.
* tree-cfg.c (replace_uses_by): Ditto.
* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Ditto.
* tree-chrec.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE):
Moved to ...
* tree.h (CHREC_VAR, CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE):
... here.
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
compute_overall_effect_of_inner_loop, chrec_is_positive): Use
get_loop and get_chrec_loop.
(number_of_iterations_for_all_loops): Use number_of_loops.
(scev_initialize, scev_reset, scev_const_prop): Use FOR_EACH_LOOP.
* tree-scalar-evolution.h (get_chrec_loop): New inline function.
* cfgloopanal.c (mark_irreducible_loops): Use number_of_loops,
and FOR_EACH_LOOP.
* tree-chrec.c (evolution_function_is_invariant_rec_p,
chrec_convert_1): Use get_loop and get_chrec_loop.
* loop-init.c (loop_optimizer_init): Use number_of_loops.
(loop_optimizer_init): Use FOR_EACH_LOOP.
* tree-vectorizer.c (vect_loops_num): Removed.
(vectorize_loops): Store number of loops locally.  Use
FOR_EACH_LOOP and get_loop.
* tree-vectorizer.h (vect_loops_num): Removed.
* tree-data-ref.c (get_number_of_iters_for_loop): Use get_loop.
(find_data_references_in_loop): Do not set parallel_p.
* tree-data-ref.h: Do not declare VEC(loop_p).
* cfgloop.c (flow_loops_dump, mark_single_exit_loops,
verify_loop_structure): Use FOR_EACH_LOOP.
(flow_loops_free): Use FOR_EACH_LOOP, free larray vector.
(initialize_loops_parallel_p): Removed.
(flow_loops_find): Push the loops into a vector.
(delete_loop): New function.
(cancel_loop): Use delete_loop.
* cfgloop.h: Declare VEC(loop_p).
(struct loop): Remove parallel_p field.
(struct loops): Replace num and parray field by larray vector.
Remove shared_headers field.
(delete_loop): Declare.
(get_loop, get_loops, number_of_loops, fel_next, fel_init,
FOR_EACH_LOOP): New.
* doc/loop.tex: Document new accessor functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119713 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoNew out of ssa Coalescer.
amacleod [Sun, 10 Dec 2006 21:25:40 +0000 (21:25 +0000)]
New out of ssa Coalescer.

2006-12-10  Andrew MacLeod  <amacleod@redhat.com>

* common.opt (-ftree-lrs): Remove live range splitting option.
* makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies.
* opts.c (decode_options): Remove flag_tree_live_range_split.
* tree-flow.h (struct var_ann_d): Rename fields from root_ to base_.
* tree-flow-inline.h (single_imm_use_p): New.  Check for single use.
* tree-outof-ssa.c: Remove header files which aren't needed.
(SSANORM_*): Remove flags.
(print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands,
coalesce_result_decls_and_copies, coalesce_asm_operands): Remove.
(coalesce_ssa_name): Move to tree-ssa-coalesce.c.
(assign_vars): Use Basevar instead of root_var structure.
(replace_def_variable): Dont do anything if def is replaceable.
(remove_ssa_form): Integrate functional changes.
(rewrite_out_of_ssa): Remove live-range_split option.
* tree-ssa-coalesce.c: New File for ssa-name coalescing.
(coalesce_cost): Calculate the cost of a coalesce.
(coalesce_cost_bb): Calculate the coalesce cost within a BB.
(coalesce_cost_edge): Calculate the coalesce cost on an edge.
(pop_cost_one_pair): Remove the best coalesce with cost 1 from the list.
(pop_best_coalesce): Remove the best coalesce from the list.
(coalesce_pair_map_hash): Calculate coalesce pair hash.
(coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function.
(create_coalesce_list): Create a coalesce list object.
(delete_coalesce_list): Free a coalesce list object.
(find_coalesce_pair): Find matching pair in the coalesce list.
(add_cost_one_coalesce): Add a coalesce to the "cost one" list.
(add_coalesce): Add a coalesce to the coalesce list.
(compare_pairs): Comparision function to determine pair sorted order.
(num_coalesce_pairs): Number of coalesced pairs.
(first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair):
Coalesce pair iterator functions.
(sort_coalesce_list): Sort coalesce pairs in order of expense.
(dump_coalesce_list): Show coalesce list.
(ssa_conflicts_new): Create an SSA conflict graph.
(ssa_conflicts_delete): Delete an SSA conflict graph.
(ssa_conflicts_test_p): Test for conflicts.
(ssa_conflicts_add_one): Add a single conflict.
(ssa_conflicts_add): Add a conflict pair.
(ssa_conflicts_merge): Merge conflicts.
(struct live_track_d): Struct for tracking live partitions.
(new_live_track): Create new live_track object.
(delete_live_track): Delete a live_track object.
(live_track_remove_partition): Remove a partition from the live list.
(live_track_add_partition): Add a partition from the live list.
(live_track_clear_var): Take VAR from the live list.
(live_track_live_p): Is var live?
(live_track_process_use): Make var come alive.
(live_track_process_def): Make var go dead, add conflicts.
(live_track_init): Initialize to a live on exit set.
(live_track_clear_base_vars): Clear live partitions.
(build_ssa_conflict_graph): Build a conflict graph.
(print_exprs): Common debug output routine.
(abnormal_corrupt): Output info about a failed coalesce across an
abnormal edge.
(fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE.
(create_outofssa_var_map): Create a var map and coalesce list.
(attempt_coalesce): Coalesce a pair.
(coalesce_partitions): Coalesce all pairs in a coalesce list.
(coalesce_ssa_name): Entry point.  Determine what ssa_names to coalesce.
* tree-ssa-live.c: Remove header files which aren't needed.
(var_map_base_init): New.  Initialize a basevar list.
(var_map_base_fini): New.  Finish a basevar list.
(init_var_map): Initialize new fields.
(delete_var_map): Free new fields.
(var_union): Use renamed fields.
(compact_var_map): Remove.
(partition_to_view_init): Use renamed fields, change order of an if.
(partition_view_fini): Use renamed fields.
(partition_view_normal): Create basevar list if requested.
(partition_view_bitmap): Create a view based on a bitmap of partitions.
(change_partition_var): Use renamed fields.
(create_ssa_var_map): Remove.
(tpa_init, tpa_remove_partition, tpa_delete, tpa_compact,
root_var_init): Remove.
(partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list,
delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce,
compare_pairs, num_coalesce_pairs, first_partition_pair,
end_partition_pair_p, next_partition_pair, sort_coalesce_list,
pop_best_coalesce, add_conflicts_if_valid, set_if_valid,
build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list,
tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there.
(dump_var_map): Use renamed fields.
* tree-ssa-live.h (struct  _var_map): Modify fields.
(partition_to_var, version_to_var, var_to_partition): Use renamed
fields.
(basevar_index): New.  Index of the base variable of a partition.
(num_basevars): New.  Number of unique base variables in partition map.
(register_ssa_partition): Use renamed fields.
(struct tree_partition_associator_d): Remove.
(tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition,
tpa_find_tree, tpa_decompact, root_var_init, root_var_num,
root_var, root_var_first_partition, root_var_next_partition,
root_var_dump, root_var_delete, root_var_remove_partition,
root_var_find, root_var_compact, root_var_decompact): Remove.
(struct partition_pair, struct coalesce_list_d): Moved to
tree-ssa-coalesce.c
* tree-ssa-ter.c: Remove header files which aren't needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119711 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-10 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 10 Dec 2006 21:22:49 +0000 (21:22 +0000)]
2006-12-10  Tobias Burnus  <burnus@net-b.de>

* gfortran.texi: Update Fortran 2003 section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119710 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agofortran/
burnus [Sun, 10 Dec 2006 19:53:07 +0000 (19:53 +0000)]
fortran/
2006-12-10  Tobias Burnus  <burnus@net-b.de>

    PR fortran/23994
    * interface.c (compare_actual_formal): PROTECTED is incompatible
with intent(out).
    * symbol.c (check_conflict): Check for PROTECTED conflicts.
      (gfc_add_protected): New function.
      (gfc_copy_attr): Copy PROTECTED attribute.
    * decl.c (match_attr_spec): Add PROTECTED support.
      (gfc_match_protected): New function.
    * dump-parse-tree.c (gfc_show_attr): Add PROTECTED support.
    * gfortran.h (gfc_symbol): Add protected flag.
      Add gfc_add_protected prototype.
    * expr.c (gfc_check_pointer_assign): Add PROTECTED support.
    * module.c (ab_attribute, attr_bits, mio_symbol_attribute,
mio_symbol_attribute):
       Add PROTECTED support.
    * resolve.c (resolve_equivalence): Add PROTECTED support.
    * match.c (gfc_match_assignment,)gfc_match_pointer_assignment:
       Check PROTECTED attribute.
    * match.h: Add gfc_match_protected prototype.
    * parse.c (decode_statement): Match PROTECTED statement.
    * primary.c (match_variable): Add PROTECTED support.

testsuite/
2006-12-10  Tobias Burnus  <burnus@net-b.de>

    PR fortran/23994
    * gfortran.dg/protected_1.f90: New test.
    * gfortran.dg/protected_2.f90: New test.
    * gfortran.dg/protected_3.f90: New test.
    * gfortran.dg/protected_4.f90: New test.
    * gfortran.dg/protected_5.f90: New test.
    * gfortran.dg/protected_6.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119709 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-10 Andreas Tobler <a.tobler@schweiz.org>
andreast [Sun, 10 Dec 2006 19:32:30 +0000 (19:32 +0000)]
2006-12-10  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/30134
* configure.in: Correct x86 darwin support for libjava to powerpc
and i?86 only.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119708 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-10 Paolo Carlini <pcarlini@suse.de>
paolo [Sun, 10 Dec 2006 16:47:27 +0000 (16:47 +0000)]
2006-12-10  Paolo Carlini  <pcarlini@suse.de>

* src/valarray-inst.cc (__gslice_to_index): Optimize performance.
* testsuite/performance/26_numerics/valarray_gslice_to_index.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119707 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * cse.c: (struct cse_basic_block_data): Remove LAST field.
steven [Sun, 10 Dec 2006 10:59:19 +0000 (10:59 +0000)]
* cse.c: (struct cse_basic_block_data): Remove LAST field.
(struct branch_path): Remove BRANCH and TAKEN fields. Add new
BB field.
(cse_visited_basic_blocks): New static bitmap.
(cse_end_of_basic_block, cse_basic_block): Remove.
(cse_find_path, cse_dump_path, cse_prescan_path,
cse_extended_basic_block): New static functions.
(cse_insn): Don't CSE over setjmp calls.  Use the CFG to find
basic block boundaries.  Don't record jump equivalences here.
Update the CFG after doing in-place replacement of the SET_SRC.
(cse_main): Rewrite.  Look for extended basic block headers
and call cse_extended_basic_block on them until all paths that
start at this header are exhausted.
(rest_of_handle_cse): Verify that the CFG is incrementally updated
and correct after cse_main.
Don't call delete_trivially_dead_insns, let cfgcleanup do that.
(rest_of_handle_cse2): Verify the CFG here, too, after cse_main.
(pass_cse): Add TODO_verify_flow.
(pass_cse2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119706 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-04 Rask Ingemann Lambertsen <rask@sygehus.dk>
rsandifo [Sun, 10 Dec 2006 10:37:48 +0000 (10:37 +0000)]
2006-12-04  Rask Ingemann Lambertsen  <rask@sygehus.dk>

* reload1.c (choose_reload_regs): Don't set byte offset when
resolving subregs of hard regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119705 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * c-opts.c (c_common_parse_file): Unconditionally give a warning,
zack [Sun, 10 Dec 2006 05:09:29 +0000 (05:09 +0000)]
* c-opts.c (c_common_parse_file): Unconditionally give a warning,
suitable for the language, if set_yydebug is true.
* c-pragma.h: Define enum pragma_omp_clause here.  Don't define
YYDEBUG or declare yydebug.
* c-parser.c (yydebug, enum pragma_omp_clause): Delete.
* cp/parser.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119704 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Sun, 10 Dec 2006 00:18:39 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119702 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-09 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 9 Dec 2006 21:13:29 +0000 (21:13 +0000)]
2006-12-09  Paul Thomas <pault@gcc.gnu.org>

PR fortran/29975
PR fortran/30068
PR fortran/30096
* interface.c (compare_type_rank_if): Reject invalid generic
interfaces.
(check_interface1): Give a warning for nonreferred to ambiguous
interfaces.
(check_sym_interfaces): Check whether an ambiguous interface is
referred to.  Do not check host associated interfaces since these
cannot be ambiguous with the local versions.
(check_uop_interface, gfc_check_interfaces): Update call to
check_interface1.
* symbol.c (gfc_get_sym_tree, gfc_get_sym_tree): Allow adding
unambiguous procedures to generic interfaces.
* gfortran.h (symbol_attribute): Added use_only and
ambiguous_interfaces.
* module.c (load_need): Set the use_only flag, if needed.
* resolve.c (resolve_fl_procedure): Warn for nonreferred
interfaces.
* expr.c (find_array_section): Fix initializer array contructor.

2006-12-09  Paul Thomas <pault@gcc.gnu.org>
    Tobias Burnus <burnus@gcc.gnu.org>

PR fortran/29975
PR fortran/30068
* gfortran.dg/interface_4.f90: Test adding procedure to generic
interface.
* gfortran.dg/interface_5.f90: Test warning for not-referenced-to
ambiguous interfaces.
* gfortran.dg/interface_6.f90: Test invalid, ambiguous interface.
* gfortran.dg/interface_7.f90: Test invalid, ambiguous interface.
* gfortran.dg/interface_8.f90: Test warning for not-referenced-to
ambiguous interfaces.
* gfortran.dg/interface_1.f90: Change dg-error into a dg-warning.
* gfortran.dg/array_initializer_2.f90: Add initializer array
constructor test.

PR fortran/30096
* gfortran.dg/interface_9.f90: Test that host interfaces are
not checked for ambiguity with the local version.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119697 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-11-25 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 9 Dec 2006 20:52:27 +0000 (20:52 +0000)]
2006-11-25  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29464
* module.c (load_generic_interfaces): Add symbols for all the
local names of an interface.  Share the interface amongst the
symbols.
* gfortran.h : Add generic_copy to symbol_attribute.
* symbol.c (free_symbol): Only free interface if generic_copy
is not set.

2006-11-25  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29464
* gfortran.dg/module_interface_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119696 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-09 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 9 Dec 2006 20:41:51 +0000 (20:41 +0000)]
2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29941
* resolve.c (resolve_function): Add LEN to the functions not
checked for assumed size actual args.

2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29941
* gfortran.dg/assumed_len.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119695 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-09 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 9 Dec 2006 17:40:13 +0000 (17:40 +0000)]
2006-12-09  Richard Guenther  <rguenther@suse.de>

* g++.dg/warn/implicit-typename1.C: Qualify types.
* g++.dg/parse/crash12.C: Likewise.
* g++.dg/tree-ssa/pr22444.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119693 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * cgraph.c: Update copyright.
hubicka [Sat, 9 Dec 2006 15:36:55 +0000 (15:36 +0000)]
* cgraph.c: Update copyright.
* cgraph.h: Likewise
(cgraph_update_pending_function): Remove prototype.
* cgraphunit.c: Update copyright; update overall comment.
(cgraph_assemble_pending_functions): Make local.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119691 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-09 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
mkuvyrkov [Sat, 9 Dec 2006 13:05:44 +0000 (13:05 +0000)]
2006-12-09  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

* haifa-sched.c (schedule_block): Remove excessive sanity check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119688 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-09 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 9 Dec 2006 09:39:30 +0000 (09:39 +0000)]
2006-12-09  Tobias Burnus  <burnus@net-b.de>

       * gfortran.dg/array_2.f90: Added sqrt test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119687 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/spu/spu-protos.h (spu_split_immediate): Renamed from
tsmigiel [Sat, 9 Dec 2006 01:22:39 +0000 (01:22 +0000)]
    * config/spu/spu-protos.h (spu_split_immediate): Renamed from
        spu_split_address.
        (cpat_const_p, gen_cpat_const): Add.
        * config/spu/spu.c (immediate_class): New enum.
        (cpat_info, classify_immediate): New.
        (print_operand): Use S, D, T instead of F, G, H.  Use
        classify_immediate.  Handle cpat cases.
        (spu_split_immediate):  Renamed from spu_split_address.  Split all
        immediates that can be split.
        (immediate_load_p): Use classify_immediate.
        (spu_legitimate_constant_p): Accept everything except some cases of
        CONST_VECTOR.
        (spu_expand_move): Use spu_split_immedate.
        (fsmbi_const_p): Use classify_immediate.
        (cpat_const_p): New.
        (gen_cpat_const: New.
        * config/spu/constraints.md (j,k,l): New constraints for cpat
        instructions.
        * config/spu/spu.md (unnamed splitter): Change address splitter to
        handle all immediates.
        (_mov<mode>, _movdi, _movti): Handle i, j, k constraints for cpat
        instructions.
        (cpat, _cpat, splitter): Generate a TImode constant for cpat patterns
        when possible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119682 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * configure.in: Add x86 darwin support for libjava.
mrs [Sat, 9 Dec 2006 00:21:52 +0000 (00:21 +0000)]
* configure.in: Add x86 darwin support for libjava.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119678 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Sat, 9 Dec 2006 00:18:33 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119676 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * configure.ac: Fix x86 darwin builds.
mrs [Fri, 8 Dec 2006 23:54:21 +0000 (23:54 +0000)]
* configure.ac: Fix x86 darwin builds.
* darwin_stop_world.c: Likewise.
* include/private/gcconfig.h: Likewise.
* connfigure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119670 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR target/30039
danglin [Fri, 8 Dec 2006 23:41:03 +0000 (23:41 +0000)]
PR target/30039
* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
patterns.  Correct length of high:DI instruction sequence.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119669 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
mrs [Fri, 8 Dec 2006 22:22:51 +0000 (22:22 +0000)]
* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
libgcc with -mmacosx-version-min=10.4.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
G4 for 10.5+ unless doing kernel builds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119666 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR target/30120
uros [Fri, 8 Dec 2006 18:20:25 +0000 (18:20 +0000)]
    PR target/30120
        * reg-stack.c (convert_regs_entry): Mark current argument passing
        registers as live.

        * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing
        of float arguments in x87 registers.

testsuite/ChangeLog:

        * gcc.target/i386/x87regparm-1.c: XFAIL.
        * gcc.target/i386/x87regparm-2.c: XFAIL.
        * gcc.target/i386/x87regparm-3.c: XFAIL.
        * gcc.target/i386/x87regparm-4.c: XFAIL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119663 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
manu [Fri, 8 Dec 2006 18:14:21 +0000 (18:14 +0000)]
2006-12-08  Manuel Lopez-Ibanez <manu@gcc.gnu.org>

* lib/target-supports.exp
(check_effective_target_large_long_double): New.
* gcc.dg/Wconversion-real.c : Use it.
* gcc.dg/Wconversion-integer.c : Fix for targets where char is
unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119662 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * pa.h (LEGITIMATE_CONSTANT_P): Simplify.
danglin [Fri, 8 Dec 2006 17:28:59 +0000 (17:28 +0000)]
* pa.h (LEGITIMATE_CONSTANT_P): Simplify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119661 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago gcc/
shinwell [Fri, 8 Dec 2006 16:37:42 +0000 (16:37 +0000)]
gcc/
* recog.c (mode_dependent_address_p): Identify pre-increment,
pre-decrement, post-increment and post-decrement addressing as always
being mode-dependent.
* config/m32c/m32c.c (m32c_mode_dependent_address): Delete.
* config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete.
* config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
PRE_INC and POST_INC checks.
* config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
PRE_INC, POST_DEC and POST_INC cases.
* config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
Delete POST_INC and PRE_DEC cases.
* config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
no-op.
* config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
no-op.
* config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete
PRE_INC and PRE_DEC cases.
* config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
(GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
* config/vax/vax.c (vax_mode_dependent_address_p): Delete
auto-increment cases.
* config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete
auto-increment cases.
* config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.

gcc/testsuite/
* gcc.c-torture/execute/mode-dependent-address.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119660 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoNew TER code.
amacleod [Fri, 8 Dec 2006 14:07:53 +0000 (14:07 +0000)]
New TER code.

2006-12-08  Andrew MacLeod  <amacleod@redhat.com>

* Makefile.in: Add new file tree-ssa-ter.c.
* tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table,
free_temp_expr_table, add_value_to_version_list,
add_value_to_partition_list, remove_value_from_partition_list,
add_dependence, check_replaceable, finish_expr, mark_replaceable,
kill_expr, kill_virtual_exprs, find_replaceable_in_bb,
find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c.
* tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add
prototypes.
* tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c.
(struct value_expr_d): Remove.
(struct temp_expr_table_d): Rename fields, add explicit vector of
replaceable expressions instead of sharing. Change value_expr_p's to
bitmap.  Delete free_list.
(new_temp_expr_table): Rename fields, count number of ssa_names in
each partition.
(free_temp_expr_table): Rename field, free new fields.
(new_value_expr, free_value_expr, find_value_in_list, add_value_to_list,
add_info_to_list, remove_value_from_list): Delete.
(version_to_be_replaced_p): New. Is an ssa-name replaceable?
(make_dependent_on_partition): New. Set bit in version list, allocating
a bitmap if need be.
(add_to_partition_kill_list): New.  Set bit in the partition list,
allocating a bitmap if need be.
(remove_from_partition_kill_list): New.  Remove a bit from the
partition list, free the bitmap if it is empty.
(add_dependence): Use renamed field, cleanup. Don't add a dependence
on partitions with only one member.
(is_replaceable_p): New.  Split out replaceability check from
check_replaceable.
(process_replaceable): New. Replacement code split from
check_replaceable.
(check_replaceable): Removed.
(finished_with_expr): Renamed from finish_expr.
(kill_expr): Use renamed fields. Less parameters.
(kill_virtual_exprs): Less parameters.
(mark_replaceable): Use renamed fields.
(find_replaceable_in_bb): Use renamed fields, cleanup.
(find_replaceable_exprs): Use renamed routines, cleanup.
(dump_replaceable_exprs): don;t go past end of ssa_names list.
(debug_ter): New.  Debug routine to dump state.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119657 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix ChangeLog.
ebotcazou [Fri, 8 Dec 2006 13:34:03 +0000 (13:34 +0000)]
Fix ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119656 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/bfin/bfin.c (effective_address_32bit_p): Return true for
bernds [Fri, 8 Dec 2006 12:42:44 +0000 (12:42 +0000)]
* config/bfin/bfin.c (effective_address_32bit_p): Return true for
anything involving the GOT.
(bfin_adjust_cost): Don't take the REGNO of a MEM.
(trapping_loads_p): Look inside the pattern of an insn to find the
SET.
* config/bfin/bfin.md (attr "type"): Add movcc.
(insn_reservation "alu"): Likewise.
(movsicc_insn1, movsicc_insn2): Change type to movcc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119655 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
jakub [Fri, 8 Dec 2006 10:06:51 +0000 (10:06 +0000)]
* testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
RLIMIT_AS below 16MB on x86_64-linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119652 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agofortran/
burnus [Fri, 8 Dec 2006 09:45:44 +0000 (09:45 +0000)]
fortran/
2006-12-08  Tobias Burnus  <burnus@net-b.de>

    PR fortran/27546
    * trans-decl.f90 (gfc_create_module_variable): Allow imported symbols
      in interface bodys in modules.

testsuite/
2006-12-08  Tobias Burnus  <burnus@net-b.de>

    PR fortran/27546
    * gfortran.dg/import4.f90: New test for IMPORT in modules.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119651 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoCorrectly wrap my changelog entry.
pinskia [Fri, 8 Dec 2006 08:11:44 +0000 (08:11 +0000)]
Correctly wrap my changelog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119650 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c++/29732
mmitchel [Fri, 8 Dec 2006 06:27:22 +0000 (06:27 +0000)]
PR c++/29732
* cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
(explicit_class_specialization_p): Declare.
* pt.c (explicit_class_specialization_p): New function.
* parser.c (cp_parser_init_declarator): Check correct number of
template parameters for in-class function definitions.
(cp_parser_check_declrator_template_parameters): Stop looking for
template classes when we find an explicit specialization.
PR c++/29732
* g++.dg/template/crash65.C: New test.
* g++.dg/template/spec16.C: Tweak error markers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119649 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoAdd a PR reference for the patch which fixed PR 27558.
pinskia [Fri, 8 Dec 2006 04:50:02 +0000 (04:50 +0000)]
Add a PR reference for the patch which fixed PR 27558.

2006-04-20  Jakub Jelinek  <jakub@redhat.com>

        * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
        TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
        than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119648 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * Makefile.def (dependencies): Add dependency for
mrs [Fri, 8 Dec 2006 02:03:42 +0000 (02:03 +0000)]
* Makefile.def (dependencies): Add dependency for
install-target-libssp and install-target-libgomp on
install-gcc.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119645 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Fri, 8 Dec 2006 00:18:05 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119642 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
pinskia [Thu, 7 Dec 2006 23:40:46 +0000 (23:40 +0000)]
2006-12-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu-c.c (spu_build_overload_builtin): Delete.
        (spu_resolve_overloaded_builtin): Check for non scalar instead
        of vector type and check the function call argument type also for non scalar.
        Call build_function_call instead of spu_build_overload_builtin.

2006-12-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.target/spu: New directory.
        * gcc.target/spu/spu.exp: New file.
        * gcc.target/spu/intrinsics-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119637 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/spu/spu.c (array_to_constant): Correct the order of arguments
tsmigiel [Thu, 7 Dec 2006 22:11:51 +0000 (22:11 +0000)]
* config/spu/spu.c (array_to_constant): Correct the order of arguments
to the calls of hwint_to_const_double.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119635 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c++/29980
lmillward [Thu, 7 Dec 2006 19:16:38 +0000 (19:16 +0000)]
    PR c++/29980
        * cp_parser_elaborated_type_specifier: Check
        the return value of check_elaborated_type_specifier.

        * g++.dg/ext/attrib27.C: New test.
        * g++.dg/parse/struct-as-enum1.C: Adjust error markers.
        * g++.dg/parse/typedef5.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119633 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to elf_record_gcc_switches.
nickc [Thu, 7 Dec 2006 17:44:10 +0000 (17:44 +0000)]
* config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to elf_record_gcc_switches.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119630 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * treelang/compile/var_defs.tree: Adjust.
mrs [Thu, 7 Dec 2006 16:48:11 +0000 (16:48 +0000)]
* treelang/compile/var_defs.tree: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119628 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * ru.po: New.
jsm28 [Thu, 7 Dec 2006 16:45:47 +0000 (16:45 +0000)]
* ru.po: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119625 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-07 Andrew Macleod <amacleod@redhat.com>
amacleod [Thu, 7 Dec 2006 14:39:37 +0000 (14:39 +0000)]
2006-12-07  Andrew Macleod  <amacleod@redhat.com>

* expr.c (string_constant): Account for non-zero lower bound arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119623 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-07 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 7 Dec 2006 14:24:11 +0000 (14:24 +0000)]
2006-12-07  Richard Guenther  <rguenther@suse.de>

* builtins.c (expand_builtin_pow): Adjust predicates for
pow to cbrt expansion to unsafe math and !HONOR_NANS for
negative base.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119622 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
hubicka [Thu, 7 Dec 2006 12:56:02 +0000 (12:56 +0000)]
* i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
codegen.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119620 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-vrp.c (compare_values): Short circuit INTEGER_CST;
hubicka [Thu, 7 Dec 2006 12:54:09 +0000 (12:54 +0000)]
* tree-vrp.c (compare_values): Short circuit INTEGER_CST;
use fold_constant_to_binary; tolerate wrong type constants.
(value_intersect_p): Do just two tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119619 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
bernds [Thu, 7 Dec 2006 11:06:08 +0000 (11:06 +0000)]
* config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
lshifthi3): Use it, and fix the order of alternatives.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119616 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* common.opt (record-gcc-switches): New command line switch.
nickc [Thu, 7 Dec 2006 10:54:13 +0000 (10:54 +0000)]
* common.opt (record-gcc-switches): New command line switch.
* target.h (print_switch_type): New enum.
  (print_switch_fn_type): New typedef for a function pointer.
  (struct gcc_target): Add record_gcc_switches and record_gcc_switches_section fields.
* target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a default definition.
  (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default definition.
* toplev.c (print_single_switch): Simplify by providing a pointer to function that will format and output the switch appropriately.
  (print_switch_values): Likewise.
  (print_to_asm_out_file): New function.
  (print_to_stderr): New function.
  (init_asm_output): If flag_record_gcc_switches is set then if the target supports recording the switches then emit them into the assembler output file, otherwise tell the user that the switch is not supported.
* varasm.c (eld_record_gcc_switches): New function.  Example handler for the record_gcc_switches target hook.
* doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new target hook.
  (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise.
* doc/invoke.texi (-frecord-gcc-switches): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119615 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-07 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
mkuvyrkov [Thu, 7 Dec 2006 10:02:35 +0000 (10:02 +0000)]
2006-12-07  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

PR target/29794
* sched-rgn.c (add_block1): Use correct initializer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119613 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-07 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 7 Dec 2006 09:38:37 +0000 (09:38 +0000)]
2006-12-07  Richard Guenther  <rguenther@suse.de>

* tree-vect-transform.c (vectorizable_call): Fix leftover of
TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119612 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-06 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 7 Dec 2006 09:35:57 +0000 (09:35 +0000)]
2006-12-06  Benjamin Kosnik  <bkoz@redhat.com>

* include/Makefile.am (std_headers_rename): Remove.
(c_base_headers_rename): Remove.
(std_headers): Adjust to true names.
(c_base_headers): Adjust to true names.
(stamp-c_base, stamp_std, stamp_c_base_extra): Adjust.
* configure: Regenerate.
* include/Makefile.in: Regenerate.

        * include/std/std_algorithm.h: To...
        * include/std/std_bitset.h: To...
        * include/std/std_complex.h: To...
        * include/std/std_deque.h: To...
        * include/std/std_fstream.h: To...
        * include/std/std_functional.h: To...
        * include/std/std_iomanip.h: To...
        * include/std/std_iosfwd.h: To...
        * include/std/std_ios.h: To...
        * include/std/std_iostream.h: To...
        * include/std/std_istream.h: To...
        * include/std/std_iterator.h: To...
        * include/std/std_limits.h: To...
        * include/std/std_list.h: To...
        * include/std/std_locale.h: To...
        * include/std/std_map.h: To...
        * include/std/std_memory.h: To...
        * include/std/std_numeric.h: To...
        * include/std/std_ostream.h: To...
        * include/std/std_queue.h: To...
        * include/std/std_set.h: To...
        * include/std/std_sstream.h: To...
        * include/std/std_stack.h: To...
        * include/std/std_stdexcept.h: To...
        * include/std/std_streambuf.h: To...
        * include/std/std_string.h: To...
        * include/std/std_utility.h: To...
        * include/std/std_valarray.h: To...
        * include/std/std_vector.h: To...
        * include/std/algorithm: ...this.
        * include/std/bitset: ...this.
        * include/std/complex: ...this.
        * include/std/deque: ...this.
        * include/std/fstream: ...this.
        * include/std/functional: ...this.
        * include/std/iomanip: ...this.
        * include/std/iosfwd: ...this.
        * include/std/ios: ...this.
        * include/std/iostream: ...this.
        * include/std/istream: ...this.
        * include/std/iterator: ...this.
        * include/std/limits: ...this.
        * include/std/list: ...this.
        * include/std/locale: ...this.
        * include/std/map: ...this.
        * include/std/memory: ...this.
        * include/std/numeric: ...this.
        * include/std/ostream: ...this.
        * include/std/queue: ...this.
        * include/std/set: ...this.
        * include/std/sstream: ...this.
        * include/std/stack: ...this.
        * include/std/stdexcept: ...this.
        * include/std/streambuf: ...this.
        * include/std/string: ...this.
        * include/std/utility: ...this.
        * include/std/valarray: ...this.
        * include/std/vector: ...this.

        * include/c_std/std_cassert.h: To...
        * include/c_std/std_cctype.h: To...
        * include/c_std/std_cerrno.h: To...
        * include/c_std/std_cfloat.h: To...
        * include/c_std/std_ciso646.h: To...
        * include/c_std/std_climits.h: To...
        * include/c_std/std_clocale.h: To...
        * include/c_std/std_cmath.h: To...
        * include/c_std/std_csetjmp.h: To...
        * include/c_std/std_csignal.h: To...
        * include/c_std/std_cstdarg.h: To...
        * include/c_std/std_cstddef.h: To...
        * include/c_std/std_cstdio.h: To...
        * include/c_std/std_cstdlib.h: To...
        * include/c_std/std_cstring.h: To...
        * include/c_std/std_ctime.h: To...
        * include/c_std/std_cwchar.h: To...
        * include/c_std/std_cwctype.h: To...
        * include/c_std/cassert: ...this.
        * include/c_std/cctype: ...this.
        * include/c_std/cerrno: ...this.
        * include/c_std/cfloat: ...this.
        * include/c_std/ciso646: ...this.
        * include/c_std/climits: ...this.
        * include/c_std/clocale: ...this.
        * include/c_std/cmath: ...this.
        * include/c_std/csetjmp: ...this.
        * include/c_std/csignal: ...this.
        * include/c_std/cstdarg: ...this.
        * include/c_std/cstddef: ...this.
        * include/c_std/cstdio: ...this.
        * include/c_std/cstdlib: ...this.
        * include/c_std/cstring: ...this.
        * include/c_std/ctime: ...this.
        * include/c_std/cwchar: ...this.
        * include/c_std/cwctype: ...this.

        * include/c/std_cassert.h: To...
        * include/c/std_cctype.h: To...
        * include/c/std_cerrno.h: To...
        * include/c/std_cfloat.h: To...
        * include/c/std_ciso646.h: To...
        * include/c/std_climits.h: To...
        * include/c/std_clocale.h: To...
        * include/c/std_cmath.h: To...
        * include/c/std_csetjmp.h: To...
        * include/c/std_csignal.h: To...
        * include/c/std_cstdarg.h: To...
        * include/c/std_cstddef.h: To...
        * include/c/std_cstdio.h: To...
        * include/c/std_cstdlib.h: To...
        * include/c/std_cstring.h: To...
        * include/c/std_ctime.h: To...
        * include/c/std_cwchar.h: To...
        * include/c/std_cwctype.h: To...
        * include/c/cassert: ...this.
        * include/c/cctype: ...this.
        * include/c/cerrno: ...this.
        * include/c/cfloat: ...this.
        * include/c/ciso646: ...this.
        * include/c/climits: ...this.
        * include/c/clocale: ...this.
        * include/c/cmath: ...this.
        * include/c/csetjmp: ...this.
        * include/c/csignal: ...this.
        * include/c/cstdarg: ...this.
        * include/c/cstddef: ...this.
        * include/c/cstdio: ...this.
        * include/c/cstdlib: ...this.
        * include/c/cstring: ...this.
        * include/c/ctime: ...this.
        * include/c/cwchar: ...this.
        * include/c/cwctype: ...this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119611 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-06 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 7 Dec 2006 09:15:41 +0000 (09:15 +0000)]
2006-12-06  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29711
       * error.c (error_print): Fix handling of printf-style position specifiers
         of the form "%3$d"

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119609 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Thu, 7 Dec 2006 00:17:56 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119606 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c++/29730
mmitchel [Wed, 6 Dec 2006 22:54:51 +0000 (22:54 +0000)]
PR c++/29730
* parser.c (cp_parser_init_declarator): Reject initialization of
functions.
PR c++/29730
* g++.dg/template/crash64.C: New test.
* g++.dg/parse/crash27.C: Adjust error markers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119601 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR/30079
aldyh [Wed, 6 Dec 2006 22:08:49 +0000 (22:08 +0000)]
PR/30079
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR
not GIMPLE_MODIFY_STMT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119600 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR libfortran/29810
fxcoudert [Wed, 6 Dec 2006 21:49:55 +0000 (21:49 +0000)]
PR libfortran/29810
* intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions.
* c99_protos.h (fmodf, fmodl, floorl): New prototypes.
* configure.ac: Check for fmodf, fmod and fmodl.
* configure: Regenerate.
* config.h.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119599 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-06 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Wed, 6 Dec 2006 19:25:44 +0000 (19:25 +0000)]
2006-12-06  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/30009
PR libfortran/30056
* gfortran.dg/read_eof_4.f90:  Add tests.
* gfortran.dg/readwrite_unf_direct_eor_1.f90:  New test.
* gfortran.dg/unf_read_corrupted_1.f90: New test.

2006-12-06  Thomas Koenig  <Thomas.Koenig@online.de>

PR libfortran/30009
PR libfortran/30056
* libgfortran.h:  Add ERROR_CORRUPT_FILE to error_codes.
* runtime/error.c (translate_error):  Add handling for
ERROR_CORRUPT_FILE.
* io/transfer.c (read_block_direct):  Add comment about
EOR for stream files.
Remove test for no bytes left for direct access files.
Generate an ERROR_SHORT_RECORD if the read was short.
For unformatted sequential files:  Check endfile condition.
Remove test for no bytes left.  End of file here means
that the file structure has been corrupted.  Pre-position
the file for the next record in case of error.
(write_buf):  Whitespace fix.  Subtract the number of bytes
written from bytes_left.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119592 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* ansidecl.h (ATTRIBUTE_PACKED): Define.
nickc [Wed, 6 Dec 2006 18:08:51 +0000 (18:08 +0000)]
* ansidecl.h (ATTRIBUTE_PACKED): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119587 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * tree-vrp.c (operand_less_p): New.
hubicka [Wed, 6 Dec 2006 16:32:17 +0000 (16:32 +0000)]
* tree-vrp.c (operand_less_p): New.
(compare_values, value_inside_range): Rewrite in terms of
operand_less_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119583 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/i386/i386.md (DIRFLAG_REG): Remove constant.
uros [Wed, 6 Dec 2006 14:56:10 +0000 (14:56 +0000)]
* config/i386/i386.md (DIRFLAG_REG): Remove constant.
(type): Remove cld.
(length_immediate): Do not depend on cld type attribute.
(length_address): Ditto.
(modrm): Ditto.
(memory): Ditto.
(cld): Remove insn pattern.
(strmov_singleop): Do not use DIRFLAG_REG.
(*strmovdi_rex_1): Ditto.
(*strmovsi_1): Ditto.
(*strmovsi_rex_1): Ditto.
(*strmovhi_1): Ditto.
(*strmovhi_rex_1): Ditto.
(*strmovqi_1): Ditto.
(*strmovqi_rex_1): Ditto.
(rep_mov): Ditto.
(*rep_movdi_rex64): Ditto.
(*rep_movsi): Ditto.
(*rep_movsi_rex64): Ditto.
(*rep_movqi): Ditto.
(*rep_movqi_rex64): Ditto.
(strset_singleop): Ditto.
(*strsetdi_rex_1): Ditto.
(*strsetsi_1): Ditto.
(*strsetsi_rex_1): Ditto.
(*strsethi_1): Ditto.
(*strsethi_rex_1): Ditto.
(*strsetqi_1): Ditto.
(*strsetqi_rex_1): Ditto.
(rep_stos): Ditto.
(*rep_stosdi_rex64): Ditto.
(*rep_stossi): Ditto.
(*rep_stossi_rex64): Ditto.
(*rep_stosqi): Ditto.
(*rep_stosqi_rex64): Ditto.
(cmpstrnsi): Do not generate cld insn.
(cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
(*cmpstrnqi_nz_1): Ditto.
(*cmpstrnqi_nz_rex_1): Ditto.
(cmpstrnqi_1): Ditto.
(*cmpstrnqi_1): Ditto.
(*cmpstrnqi_rex_1): Ditto.
(strlenqi_1): Ditto.
(*strlenqi_1): Ditto.
(*strlenqi_rex_1): Ditto.

* config/i386/geode.md (shift): Do not depend on cld type attribute.
* config/i386/pentium.md (pent_cld): Remove insn reservation.
* config/i386/athlon.md (athlon_decode): Do not depend on cld
type attribute.
* config/i386/ppro.md (ppro_cld): Remove insn reservation.
* config/i386/k6.md (k6_alux_only): Do not depend on cld type
attribute.
(k6_alux_only_load): Ditto.
(k6_alux_only_store): Ditto.

* config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
Do not emit cld instruction.
(ix86_expand_setmem): Ditto.
(ix86_expand_strlen): Do not emit cld instruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119581 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
bernds [Wed, 6 Dec 2006 12:45:36 +0000 (12:45 +0000)]
* config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
old ones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119579 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * gdbinit.in: Set complaints to 0.
dnovillo [Wed, 6 Dec 2006 11:24:41 +0000 (11:24 +0000)]
* gdbinit.in: Set complaints to 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119578 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * ChangeLog: Use tabs instead of spaces.
uros [Wed, 6 Dec 2006 07:14:23 +0000 (07:14 +0000)]
* ChangeLog: Use tabs instead of spaces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119576 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c++/29729
mmitchel [Wed, 6 Dec 2006 05:12:46 +0000 (05:12 +0000)]
PR c++/29729
* decl2.c (check_member_template): Move check for member
templates in local classes to ...
* parser.c (cp_parser_template_declaration_after_export):
... here.
PR c++/29729
* g++.dg/template/crash63.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119575 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
hubicka [Wed, 6 Dec 2006 01:37:38 +0000 (01:37 +0000)]
* statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
ALONE_MEM_STAT_DECL): New macros.
* bitmap.h: Include statistics.h
(struct bitmap_head_def): Add variant with pointer to bitmap descriptor.
(bitmap_initialize_stat): Rename from bitmap_initialize; add statistics.
(bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare.
* bitmap.c: Include hashtab.h
(bitmap_descriptor): New.
(bitmap_hash): New static variable
(hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead):
New static functions.
(bitmap_register): New.
(bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from,
bitmap_obstack_release): Do accounting.
(bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do
accounting.
(bitmap_gc_alloc_stat): Likewise.
(bitmap_obstack_free, bitmap_find_bit): Do statictics.
(print_statistics, dump_bitmap_statistics): New functions.
* toplev.c (finalize): Dump bitmap statistics.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119573 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * reload1.c (delete_output_reload): Count occurrences in
bernds [Wed, 6 Dec 2006 00:25:29 +0000 (00:25 +0000)]
* reload1.c (delete_output_reload): Count occurrences in
CALL_INSN_FUNCTION_USAGE.
* rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without
crashing at the end of the list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119571 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Wed, 6 Dec 2006 00:17:45 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119569 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoMissed commit
dberlin [Tue, 5 Dec 2006 23:51:59 +0000 (23:51 +0000)]
Missed commit

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119564 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2006-12-05 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 5 Dec 2006 23:46:28 +0000 (23:46 +0000)]
2006-12-05  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
Optimize to avoid marking more SMT's as used when they aren't.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119562 138bc75d-0d04-0410-961f-82ee72b054a4