Ira Rosen [Wed, 22 Nov 2006 08:46:03 +0000 (08:46 +0000)]
c-tree.texi: Document new tree codes.
* doc/c-tree.texi: Document new tree codes.
* doc/md.texi: Document new optabs.
* tree-pretty-print.c (dump_generic_node): Handle print of new tree
codes.
* optabs.c (optab_for_tree_code, init_optabs): Handle new optabs.
* optabs.h (optab_index): Add new.
(vec_extract_even_optab, vec_extract_odd_optab,
vec_interleave_high_optab, vec_interleave_low_optab): New optabs.
* genopinit.c (vec_extract_even_optab, vec_extract_odd_optab,
vec_interleave_high_optab, vec_interleave_low_optab): Initialize
new optabs.
* expr.c (expand_expr_real_1): Add implementation for new tree codes.
* tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
* tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving
along with macros for their access.
* tree-data-ref.h (first_location_in_loop, data_reference): Update
comment.
* tree-vect-analyze.c (toplev.h): Include.
(vect_determine_vectorization_factor): Fix indentation.
(vect_insert_into_interleaving_chain,
vect_update_interleaving_chain, vect_equal_offsets): New functions.
(vect_analyze_data_ref_dependence): Add argument for interleaving
check. Check for interleaving if it's true.
(vect_check_dependences): New function.
(vect_analyze_data_ref_dependences): Call vect_check_dependences for
every ddr. Call vect_analyze_data_ref_dependence with new argument.
(vect_update_misalignment_for_peel): Update for interleaving.
(vect_verify_datarefs_alignment): Check only first data-ref for
interleaving.
(vect_enhance_data_refs_alignment): Update for interleaving. Check
only first data-ref for interleaving.
(vect_analyze_data_ref_access): Check interleaving, update
interleaving data.
(vect_analyze_data_refs): Call compute_data_dependences_for_loop
with different parameters.
* tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR,
VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes.
* tree-inline.c (estimate_num_insns_1): Add cases for new codes.
* tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
Update step in case of interleaving.
(vect_strided_store_supported, vect_permute_store_chain): New
functions.
(vectorizable_store): Handle strided stores.
(vect_strided_load_supported, vect_permute_load_chain,
vect_transform_strided_load): New functions.
(vectorizable_load): Handle strided loads.
(vect_transform_stmt): Add argument. Handle strided stores. Check
that vectorized stmt exists for patterns.
(vect_gen_niters_for_prolog_loop): Update calculation for
interleaving.
(vect_transform_loop): Remove stmt_vec_info for strided stores after
whole chain vectorization.
* config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD,
UNSPEC_INTERHI, UNSPEC_INTERLO): New constants.
(vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>,
vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf,
vec_interleave_high<mode>, vec_interleave_low<mode>): Implement.
From-SVN: r119088
Jerry DeLisle [Wed, 22 Nov 2006 07:32:09 +0000 (07:32 +0000)]
io.h (unit_flags): Add new flag has_recl.
2006-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/io.h (unit_flags): Add new flag has_recl.
* io.open.c (new_unit): Set flag if RECL= was specified.
* io/transfer.c (us_write): If flag set, leave recl as initialized by
new_unit.
From-SVN: r119087
GCC Administrator [Wed, 22 Nov 2006 00:17:59 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119084
Steven Bosscher [Wed, 22 Nov 2006 00:13:42 +0000 (00:13 +0000)]
cse.c (enum taken): Remove PATH_AROUND.
* cse.c (enum taken): Remove PATH_AROUND.
(addr_affects_sp_p, invalidate_skipped_set,
invalidate_skipped_block): Remove.
(cse_end_of_basic_block): Remove skip_blocks and related code.
(cse_main): Don't test for flag_cse_skip_blocks.
Update cse_end_of_basic_block call.
(cse_basic_block): Likewise. Remove PATH_AROUND case. Remove
code to lengthen the path if a jump was simplified.
From-SVN: r119079
Zdenek Dvorak [Wed, 22 Nov 2006 00:12:52 +0000 (01:12 +0100)]
re PR rtl-optimization/29924 (pr24626-4.c fails on powerpc-aix and others)
PR rtl-optimization/29924
* loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
(unroll_loop_runtime_iterations): Assert that the argument passed to
split_edge_and_insert is not NULL.
* loop-doloop.c (add_test): Ditto.
From-SVN: r119078
Paul Thomas [Wed, 22 Nov 2006 00:05:10 +0000 (00:05 +0000)]
re PR fortran/25087 (Error for missing explicit interface needed.)
2006-11-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25087
* resolve.c (resolve_fl_procedure): Add an error if an external
automatic character length function does not have an explicit
interface.
2006-11-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25087
* gfortran.dg/auto_char_len_4.f90: New test.
From-SVN: r119077
Paul Thomas [Wed, 22 Nov 2006 00:02:02 +0000 (00:02 +0000)]
re PR fortran/29652 (ambiguous interface declaration undetected)
2006-11-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29652
* interface.c (check_interface1): Use a local value, instead of
the dummy, as the inner iterator over interface symbols.
2006-11-22 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29652
* gfortran.dg/generic_7.f90: New test.
* gfortran.dg/defined_operators_1.f90: Add new error.
From-SVN: r119076
Zdenek Dvorak [Tue, 21 Nov 2006 23:54:16 +0000 (00:54 +0100)]
tree-loop-linear.c (linear_transform_loops): Use single_exit accessor functions.
* tree-loop-linear.c (linear_transform_loops): Use single_exit accessor
functions.
* tree-ssa-loop-niter.c (loop_only_exit_p): Ditto.
* cfgloopmanip.c (update_single_exits_after_duplication,
update_single_exit_for_duplicated_loop, loop_version): Ditto.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, loop_closed_phi_def,
number_of_iterations_in_loop, scev_const_prop): Ditto.
* tree-ssa-loop-ivopts.c (single_dom_exit): Ditto.
* modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule):
Ditto.
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
Ditto.
* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2,
slpeel_make_loop_iterate_ntimes,
slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p,
slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
Ditto.
* tree-if-conv.c (if_convertible_loop_p): Ditto.
* tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p,
vect_analyze_loop_form): Ditto.
* lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p,
can_convert_to_perfect_nest, perfect_nestify): Ditto.
* tree-vect-transform.c (vect_create_epilog_for_reduction,
vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
vect_transform_loop): Ditto.
* cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto.
(single_exit, set_single_exit): New functions.
* cfgloop.h (struct loop): Rename single_exit field to single_exit_.
(single_exit, set_single_exit): Declare.
* doc/loop.texi: Undocument single_exit field. Document single_exit
accessor function.
From-SVN: r119075
Zdenek Dvorak [Tue, 21 Nov 2006 23:45:21 +0000 (23:45 +0000)]
re PR tree-optimization/29902 (ICE in coalesce_abnormal_edges, at tree-outof-ssa.c:644)
PR tree-optimization/29902
* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
any involved ssa name appears in abnormal phi node.
* g++.dg/tree-ssa/pr29902.C: New test.
From-SVN: r119074
Paul Thomas [Tue, 21 Nov 2006 23:42:17 +0000 (23:42 +0000)]
re PR fortran/29820 (ICE in fold_convert, at fold-const.c:2146)
2006-11-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29820
* trans-array.c (gfc_get_derived_type): Once done, spread the
backend_decl to all identical derived types in all sibling
namespaces.
2006-11-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29820
* gfortran.dg/used_types_13.f90: New test.
From-SVN: r119073
Bob Wilson [Tue, 21 Nov 2006 21:49:26 +0000 (21:49 +0000)]
xtensa.c (xtensa_char_to_class): Delete.
* config/xtensa/xtensa.c (xtensa_char_to_class): Delete.
(xtensa_const_ok_for_letter_p): Delete.
(xtensa_extra_constraint): Delete.
(override_options): Delete xtensa_char_to_class initialization.
* config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete.
(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
(EXTRA_CONSTRAINT): Delete.
* config/xtensa/xtensa.md: Include constraints.md.
(call_internal): Combine alternatives.
(call_value_internal): Likewise, and remove invalid constraints.
* config/xtensa/constraints.md: New file.
* config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete.
(xtensa_extra_constraint): Delete.
* doc/md.texi (Machine Constraints): Refer to constraints.md for
Xtensa constraints.
--Ths line, and those below, will be ignored--
M gcc/doc/md.texi
M gcc/ChangeLog
M gcc/config/xtensa/xtensa.c
M gcc/config/xtensa/xtensa.h
M gcc/config/xtensa/xtensa.md
A gcc/config/xtensa/constraints.md
M gcc/config/xtensa/xtensa-protos.h
From-SVN: r119072
Trevor Smigiel [Tue, 21 Nov 2006 21:49:03 +0000 (21:49 +0000)]
MAINTAINERS (spu port): Add myself as maintainer.
* MAINTAINERS (spu port): Add myself as maintainer.
(Write After Approval): Remove myself.
From-SVN: r119071
Ben Elliston [Tue, 21 Nov 2006 20:54:16 +0000 (20:54 +0000)]
configure.in (skipdirs): Don't build libssp for SPU.
* configure.in (skipdirs): Don't build libssp for SPU.
* configure: Regenerate.
From-SVN: r119070
Janis Johnson [Tue, 21 Nov 2006 20:40:26 +0000 (20:40 +0000)]
dfp-bits.c (DFP_TO_INT): Remove code to saturate result of conversion that doesn't fit.
* config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result
of conversion that doesn't fit.
From-SVN: r119069
Janis Johnson [Tue, 21 Nov 2006 20:35:57 +0000 (20:35 +0000)]
decLibrary.c (__dec_type_swap): Add prototype.
decnumber/
* decLibrary.c (__dec_type_swap): Add prototype.
(__dfp_enable_traps, dfp_raise): Delete.
gcc/
* config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete.
* config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op,
DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE.
testsuite/
* gcc.dg/dfp/snan.c: Delete.
From-SVN: r119068
Janis Johnson [Tue, 21 Nov 2006 20:28:27 +0000 (20:28 +0000)]
* config/dfp-bit.c (dfp_binary_func): Fix typedef.
From-SVN: r119067
Douglas Gregor [Tue, 21 Nov 2006 20:23:03 +0000 (20:23 +0000)]
cp-tree.def (STATIC_ASSERT): New.
2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
* cp-tree.def (STATIC_ASSERT): New.
* cp-objcp-common.c (cp_tree_size): Handle STATIC_ASSERT.
* error.c (dump_decl): Handle STATIC_ASSERT.
* cp-tree.h (STATIC_ASSERT_CONDITION): New.
(STATIC_ASSERT_MESSAGE): New.
(STATIC_ASSERT_SOURCE_LOCATION): New.
(struct tree_static_assert): New.
(enum cp_tree_node_structure_enum): Add TS_CP_STATIC_ASSERT.
(union lang_tree_node): Add static_assertion.
(finish_static_assert): Declare.
* cxx-pretty-print.c (pp_cxx_statement): Handle STATIC_ASSERT.
(pp_cxx_declaration): Handle STATIC_ASSERT.
* pt.c (instantiate_class_template): Handle
STATIC_ASSERT members.
(tsubst_expr): Handle STATIC_ASSERT statements.
* semantics.c (finish_static_assert): New.
* lex.c (D_CPP0X): New.
(reswords): Add static_assert keyword.
(init_reswords): If not flag_cpp0x, mask out C++0x keywords.
* parser.c (cp_parser_block_declaration): Parse static
assertions.
(cp_parser_static_assert): New.
(cp_parser_member_declaration): Parse static assertions.
From-SVN: r119066
Douglas Gregor [Tue, 21 Nov 2006 20:22:30 +0000 (20:22 +0000)]
c-common.h (enum rid): Add RID_STATIC_ASSERT.
2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
* c-common.h (enum rid): Add RID_STATIC_ASSERT.
From-SVN: r119065
Janis Johnson [Tue, 21 Nov 2006 20:22:18 +0000 (20:22 +0000)]
* Makefile.in: Don't include decRound in library used by compiler.
From-SVN: r119064
Douglas Gregor [Tue, 21 Nov 2006 20:22:05 +0000 (20:22 +0000)]
static_assert1.C: New.
2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/static_assert1.C: New.
* g++.dg/cpp0x/static_assert2.C: New.
* g++.dg/cpp0x/static_assert3.C: New.
From-SVN: r119063
Andrew Pinski [Tue, 21 Nov 2006 18:53:35 +0000 (18:53 +0000)]
MAINTAINERS (spu port): Add myself as maintainer.
2006-11-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
* MAINTAINERS (spu port): Add myself as maintainer.
(libobjc): Update my email address.
From-SVN: r119062
Benjamin Kosnik [Tue, 21 Nov 2006 18:10:45 +0000 (18:10 +0000)]
hashtable.h: -Wshadow fixes.
2006-11-21 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/hashtable.h: -Wshadow fixes.
* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
constructor_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/
constructors_destructor_fn_imps.hpp: Same.
* src/mt_allocator.cc: Same.
* src/debug.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
From-SVN: r119061
Gary Benson [Tue, 21 Nov 2006 16:18:08 +0000 (16:18 +0000)]
Security.java: Merge with classpath.
2006-11-21 Gary Benson <gbenson@redhat.com>
* java/security/Security.java: Merge with classpath.
* java/lang/Package.java: Likewise.
* java/lang/Class.java (getDeclaredAnnotations): New method.
From-SVN: r119057
Richard Guenther [Tue, 21 Nov 2006 14:29:53 +0000 (14:29 +0000)]
tree-vectorizer.h (NUM_PATTERNS): Increase.
2006-11-21 Richard Guenther <rguenther@suse.de>
* tree-vectorizer.h (NUM_PATTERNS): Increase.
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
vect_recog_pow_pattern.
(vect_recog_pow_pattern): New function.
* gcc.dg/vect/vect-pow-1.c: New testcase.
* gcc.dg/vect/vect-pow-2.c: Likewise.
From-SVN: r119056
Bernd Schmidt [Tue, 21 Nov 2006 12:07:39 +0000 (12:07 +0000)]
bfin.c (hard_regno_mode_ok): Only allow first 31 regs for DImode.
* config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31
regs for DImode.
(bfin_register_move_cost): Bump costs if trying to move plain
integer values through accumulators.
From-SVN: r119055
Andrea Bona [Tue, 21 Nov 2006 10:21:17 +0000 (10:21 +0000)]
Adding myself as a mantainer
From-SVN: r119050
Bernd Schmidt [Tue, 21 Nov 2006 10:07:38 +0000 (10:07 +0000)]
bfin.opt (mstack-check-l1): New.
* config/bfin/bfin.opt (mstack-check-l1): New.
* doc/invoke.texi (Blackfin Options): Document it.
* config/bfin/bfin.c (bfin_expand_prologue): Generate code to use
stack bounds in L1 memory if the new option is enabled.
(override_options): Don't allow combinations of -fstack-limit and
-mstack-check-l1.
(add_to_reg): Renamed from add_to_sp. All callers changed. Lose some
dead code.
From-SVN: r119049
Benjamin Kosnik [Tue, 21 Nov 2006 09:54:40 +0000 (09:54 +0000)]
iostream-inst.cc: Remove iostream include.
2006-11-21 Benjamin Kosnik <bkoz@redhat.com>
Howard Hinnant <hhinnant@apple.com>
* src/iostream-inst.cc: Remove iostream include.
From-SVN: r119048
Benjamin Kosnik [Tue, 21 Nov 2006 09:51:11 +0000 (09:51 +0000)]
iostream-inst.cc: Remove iostream include.
2006-11-07 Benjamin Kosnik <bkoz@redhat.com>
Howard Hinnant <hhinnant@apple.com>
* src/iostream-inst.cc: Remove iostream include.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r119046
Jakub Jelinek [Tue, 21 Nov 2006 09:43:16 +0000 (10:43 +0100)]
re PR c++/29570 (ICE with brace-enclosed initializer)
PR c++/29570
* decl.c (cp_finish_decl): Check for value dependent brace enclosed
scalar initializer.
* g++.dg/template/static29.C: New test.
From-SVN: r119045
Jakub Jelinek [Tue, 21 Nov 2006 09:41:27 +0000 (10:41 +0100)]
re PR c++/29734 (ICE with vector in switch condition)
PR c++/29734
* cp-tree.h (WANT_VECTOR): Define.
(WANT_ARITH): Add WANT_VECTOR.
* cvt.c (build_expr_type_conversion): Handle vector types.
* typeck.c (build_unary_op): Add WANT_VECTOR to
build_expr_type_conversion flags.
* g++.dg/conversion/simd4.C: New test.
From-SVN: r119044
Ben Elliston [Tue, 21 Nov 2006 03:30:34 +0000 (03:30 +0000)]
* config/spu/spu.c (spu_expand_vector_init): Initialise x.
From-SVN: r119043
Ben Elliston [Tue, 21 Nov 2006 02:22:40 +0000 (13:22 +1100)]
Formatting fixes.
From-SVN: r119042
Trevor Smigiel [Tue, 21 Nov 2006 01:35:42 +0000 (01:35 +0000)]
configure.in (skipdirs): Don't build target-libiberty for SPU.
ChangeLog
* configure.in (skipdirs) : Don't build target-libiberty for SPU.
* configure : Rebuilt.
gcc/ChangeLog
* config.gcc : Add target for SPU.
* config/spu/constraints.md : New file.
* config/spu/crt0.c : New file.
* config/spu/crtend.c : New file.
* config/spu/crti.asm : New file.
* config/spu/crtn.asm : New file.
* config/spu/float_unsdidf.c : New file.
* config/spu/float_unssidf.c : New file.
* config/spu/predicates.md : New file.
* config/spu/spu-builtins.def : New file.
* config/spu/spu-builtins.h : New file.
* config/spu/spu-builtins.md : New file.
* config/spu/spu-c.c : New file.
* config/spu/spu-elf.h : New file.
* config/spu/spu-modes.def : New file.
* config/spu/spu-protos.h : New file.
* config/spu/spu.c : New file.
* config/spu/spu.h : New file.
* config/spu/spu.md : New file.
* config/spu/spu.opt : New file.
* config/spu/spu_internals.h : New file.
* config/spu/spu_intrinsics.h : New file.
* config/spu/spu_mfcio.h : New file.
* config/spu/t-spu-elf : New file.
* config/spu/vec_types.h : New file.
* config/spu/vmx2spu.h : New file.
* doc/contrib.texi : Document SPU contributor.
* doc/extend.texi : Document SPU extensions.
* doc/invoke.texi : Document SPU options.
* doc/md.texi : Document SPU constraints.
libcpp/ChangeLog
* configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
* configure : Rebuilt.
From-SVN: r119041
Zdenek Dvorak [Tue, 21 Nov 2006 01:08:40 +0000 (02:08 +0100)]
cfgloopmanip.c (add_loop, [...]): Do not set level of the loop.
* cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
of the loop.
* cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
Removed.
(flow_loop_dump): Do not dump loop level.
(flow_loops_find): Do not call flow_loops_level_compute.
* cfgloop.h (struct loop): Remove level field.
From-SVN: r119040
Zdenek Dvorak [Tue, 21 Nov 2006 00:20:02 +0000 (01:20 +0100)]
tree-ssa-loop-im.c (schedule_sm, [...]): Use vector of edges instead of array.
* tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,
hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop):
Use vector of edges instead of array.
* tree-ssa-loop-niter.c (find_loop_niter, find_loop_niter_by_eval,
estimate_numbers_of_iterations_loop): Ditto.
* predict.c (predict_loops): Ditto.
* loop-unroll.c (analyze_insns_in_loop): Ditto.
* tree-ssa-threadupdate.c: Remove declaration of heap allocation for
edge vectors.
* basic-block.h: Declare heap allocation for edge vectors.
* tree-outof-ssa.c: Ditto.
* cfgloop.c (get_loop_exit_edges): Return vector of edges.
* cfgloop.h (get_loop_exit_edges): Declaration changed.
From-SVN: r119039
GCC Administrator [Tue, 21 Nov 2006 00:17:38 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119037
Zack Weinberg [Tue, 21 Nov 2006 00:16:45 +0000 (00:16 +0000)]
gengtype.c (process_gc_options): Remove unnecessary forward decl.
* gengtype.c (process_gc_options): Remove unnecessary forward decl.
Add another out parameter, "skip".
(set_gc_used_type): Adjust calls to process_gc_options. If a field
is tagged "skip", do not mark its type used.
From-SVN: r119034
Trevor Smigiel [Tue, 21 Nov 2006 00:07:54 +0000 (00:07 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r119031
Tobias Burnus [Mon, 20 Nov 2006 21:29:32 +0000 (22:29 +0100)]
re PR fortran/27546 (IMPORT is broken)
fortran/
2006-11-17 Tobias Burnus <burnus@net-b.de>
PR fortran/27546
* primary.c (gfc_match_rvalue): Added IMPORT support.
testsuite/
2006-11-17 Tobias Burnus <burnus@net-b.de>
PR fortran/27546
* gfortran.dg/import.f90: Extended test.
* gfortran.dg/import2.f90: Extended test.
From-SVN: r119028
Simon Martin [Mon, 20 Nov 2006 21:15:44 +0000 (21:15 +0000)]
re PR c++/29475 (incomplete template diagnostics.)
PR c++/29475
* cp-tree.h (enforce_access, perform_or_defer_access_check): Added an
extra argument that represents the declaration to use to print
potential error messages.
* init.c (build_offset_ref): Adjusted the call to
perform_or_defer_access_check.
* class.c (alter_access, resolve_address_of_overloaded_function):
Likewise.
* decl.c (make_typename_type, make_unbound_class_template): Likewise.
* search.c (lookup_member): Likewise.
* friend.c (add_friend): Likewise.
* parser.c (cp_parser_template_id,
cp_parser_pre_parsed_nested_name_specifier): Likewise.
* semantics.c (finish_non_static_data_member,
check_accessibility_of_qualified_id, finish_id_expression): Likewise.
(pop_to_parent_deferring_access_checks, perform_access_checks,
perform_or_defer_access_check): Adjusted the call to enforce_access.
* call.c (enforce_access): Use the new extra argument to build the
error message.
(build_op_delete_call): Adjusted the call to
perform_or_defer_access_check.
(build_over_call): Likewise.
PR c++/29475
* g++.dg/template/access19.C: New test.
* g++.old-deja/g++.other/access11.C: Adjusted the line where the
error is reported.
From-SVN: r119027
Andrew Pinski [Mon, 20 Nov 2006 20:29:10 +0000 (20:29 +0000)]
re PR target/25500 (SSE2 vectorized code is slower on 4.x.x than previous)
2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/25500
* tree-sra.c (single_scalar_field_in_record_p): New function.
(decide_block_copy): Use it.
2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/25500
* gcc.dg/tree-ssa/sra-4.c: New testcase.
From-SVN: r119026
Tobias Burnus [Mon, 20 Nov 2006 20:04:24 +0000 (21:04 +0100)]
symbol.c (check_conflict): Add conflict between VOLATILE attribute and program name.
fortran/
2006-11-20 Tobias Burnus <burnus@net-b.de>
* symbol.c (check_conflict): Add conflict between VOLATILE
attribute and program name.
testsuite/
2006-11-20 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/volatile3.f90: Add conflict test.
From-SVN: r119025
David Daney [Mon, 20 Nov 2006 19:49:08 +0000 (19:49 +0000)]
mips-signal.h (sys/syscall.h): Do not include.
2006-11-20 David Daney <ddaney@avtrex.com>
* include/mips-signal.h (sys/syscall.h): Do not include.
(sig_ucontext_t): Removed.
(MAKE_THROW_FRAME): Changed to be a nop.
(_INIT_SIG_HANDLER): New macro.
(INIT_SEGV): Rewrote to use _INIT_SIG_HANDLER.
(INIT_FPE): Same.
2006-11-20 David Daney <ddaney@avtrex.com>
* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
PC to point to following instruction.
From-SVN: r119024
David Daney [Mon, 20 Nov 2006 19:43:25 +0000 (19:43 +0000)]
Throw_3.java: New Test.
* testsuite/libjava.lang/Throw_3.java: New Test.
* testsuite/libjava.lang/Throw_3.out: Its expected output.
From-SVN: r119023
Anatoly Sokolov [Mon, 20 Nov 2006 18:16:21 +0000 (21:16 +0300)]
re PR target/18553 (Annoying warning with -ffunction-sections -g)
PR target/18553
PR target/29449
* config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
* config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
From-SVN: r119019
J"orn Rennecke [Mon, 20 Nov 2006 17:37:50 +0000 (17:37 +0000)]
config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
* config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
Add sh/superh.h to tm_file.
From-SVN: r119018
Carlos O'Donell [Mon, 20 Nov 2006 17:15:27 +0000 (17:15 +0000)]
cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and gcc_exec_prefix.
gcc/
2006-11-20 Carlos O'Donell <carlos@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
* cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and
gcc_exec_prefix.
(cpp_relocated): New function.
* cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix
and cpp_relocated.
* Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option.
* c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated,
replace configured prefix with gcc_exec_prefix.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r119017
Bernhard Fischer [Mon, 20 Nov 2006 16:20:33 +0000 (17:20 +0100)]
re PR fortran/24783 ([4.1 and 4.2 only] Implicit none in module overwrite explicit in procedure)
fortran/ChangeLog
2006-11-20 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/24783
* resolve.c (resolve_variable): Get the implicit type from the
symbols namespace rather than the default namespace. Fix whitespace.
(resolve_formal_arglist, resolve_equivalence): Fix typo.
testsuite/ChangeLog
2006-11-20 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/24783
* gfortran.dg/implicit_10.f90: New test.
From-SVN: r119016
Andrea Ornstein [Mon, 20 Nov 2006 14:18:03 +0000 (14:18 +0000)]
MAINTAINERS list - adding myself
From-SVN: r119015
Bernd Schmidt [Mon, 20 Nov 2006 13:06:13 +0000 (13:06 +0000)]
tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially inflate costs for addresses with an out-of-bounds address.
* tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially
inflate costs for addresses with an out-of-bounds address.
From-SVN: r119014
Bernd Schmidt [Mon, 20 Nov 2006 12:40:57 +0000 (12:40 +0000)]
bfin.c (bfin_function_ok_for_sibcall): Handle some edge cases with local functions and TARGET_ID_SHARED_LIBRARY.
* config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some
edge cases with local functions and TARGET_ID_SHARED_LIBRARY.
From-SVN: r119013
Bernd Schmidt [Mon, 20 Nov 2006 12:35:47 +0000 (12:35 +0000)]
bfin.md (call_symbol, [...]): Allow these patterns if TARGET_LEAF_ID_SHARED_LIBRARY.
* config/bfin/bfin.md (call_symbol, call_value_symbol, sibcall_symbol,
sibcall_value_symbol): Allow these patterns if
TARGET_LEAF_ID_SHARED_LIBRARY.
* config/bfin/bfin.c (bfin_expand_call): Allow them here as well.
(override_options): Turn on id shared library flags if -msep-data,
but disallow the combination of these options on the command line.
* config/bfin/bfin.h (TARGET_LEAF_ID_SHARED_LIBRARY, MASK_SEP_DATA
MASK_LEAF_ID_SHARED_LIBRARY, TARGET_SEP_DATA): New macros.
(DRIVER_SELF_SPECS): -mleaf-id-shared-library implies
-mid-shared-library.
(TARGET_SWITCHES): Add -mleaf-id-shared-library and -msep-data.
* doc/invoke.texi (Blackfin Options): Document new switches.
From-SVN: r119012
Bernd Schmidt [Mon, 20 Nov 2006 12:22:25 +0000 (12:22 +0000)]
bfin.h (LEGITIMATE_CONSTANT_P): Call bfin_legitimate_constant_p.
* config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Call
bfin_legitimate_constant_p.
* config/bfin/bfin.md (movsi expander): Check return value of
expand_mvoe.
* config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Declare.
(expand_move): Adjust prototype.
* config/bfin/bfin.c (expand_move): Now returns bool. Handle
invalid constants specially.
(bfin_cannot_force_const_mem, bfin_legitimate_constant_p): New
functions.
(TARGET_CANNOT_FORCE_CONST_MEM): New macro.
From-SVN: r119011
Andrew Pinski [Mon, 20 Nov 2006 04:51:47 +0000 (20:51 -0800)]
re PR rtl-optimization/29879 (ICE: verify_flow_info: loop_father but no loops)
2006-11-19 Andrew Pinski <pinskia@gmail.com>
PR rtl-opt/29879
* fwprop.c (loops): Remove.
(forward_propagate_into): Use current_loops instead of
loops.
(fwprop_init): Call loop_optimizer_init instead of
flow_loops_find.
(fwprop_done): Call loop_optimizer_finalize instead of
flow_loops_free.
(fwprop): Use current_loops instead of loo
From-SVN: r119010
Gabriel Dos Reis [Mon, 20 Nov 2006 01:03:49 +0000 (01:03 +0000)]
re PR c++/8586 (-Wwrite-strings should be included in -Wall)
2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/8586
* c-opts.c (c_common_handle_option): Enable -Wwrite-strings if
-Wall.
testsuite/
2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/8586
* g++.dg/warn/Wall-write-strings.C: New.
From-SVN: r119009
GCC Administrator [Mon, 20 Nov 2006 00:18:09 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r119006
Erik Edelmann [Sun, 19 Nov 2006 21:27:16 +0000 (21:27 +0000)]
resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of nonzero rank part references too.
fortran/
2006-11-19 Erik Edelmann <eedelman@gcc.gnu.org>
* resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of
nonzero rank part references too.
testsuite/
2006-11-19 Erik Edelmann <eedelman@gcc.gnu.org>
* gfortran.dg/alloc_comp_constraint_5.f90: New.
* gfortran.dg/alloc_comp_assign_2.f90: Removed invalid code.
From-SVN: r118999
Francois-Xavier Coudert [Sun, 19 Nov 2006 21:18:26 +0000 (22:18 +0100)]
module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
* module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
Check that intrinsic and non-intrinsic modules don't conflict.
(use_iso_fortran_env_module): New function.
(create_int_parameter): New function.
* trans-types.c (gfc_init_kinds): Choose values for
gfc_numeric_storage_size and gfc_character_storage_size.
(gfc_numeric_storage_size, gfc_character_storage_size): New variables.
* resolve.c (resolve_symbol): Do no check intrinsic modules
against the list of intrinsic symbols.
* iso-fortran-env.def: New file.
* gfortran.h (gfc_numeric_storage_size,
gfc_character_storage_size): Add prototypes.
* gfortran.dg/use_3.f90: Remove error message.
* gfortran.dg/iso_fortran_env_1.f90: New test.
* gfortran.dg/iso_fortran_env_2.f90: New test.
* gfortran.dg/iso_fortran_env_3.f90: New test.
* gfortran.dg/iso_fortran_env_4.f90: New test.
From-SVN: r118998
John David Anglin [Sun, 19 Nov 2006 18:24:21 +0000 (18:24 +0000)]
re PR target/29114 (ICE when cross-compiling glibc for hppa on a 64bit host)
PR target/29114
* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
larger than BITS_PER_WORD.
From-SVN: r118993
Paolo Carlini [Sun, 19 Nov 2006 16:23:17 +0000 (16:23 +0000)]
functional (hash(long long), [...]): Add specializations.
2006-11-19 Paolo Carlini <pcarlini@suse.de>
* include/tr1/functional (hash(long long), hash(unsigned long long)):
Add specializations.
From-SVN: r118991
Dorit Nuzman [Sun, 19 Nov 2006 11:11:57 +0000 (11:11 +0000)]
* gcc.dg/vect/vect-27.c: Fix initialization.
From-SVN: r118987
GCC Administrator [Sun, 19 Nov 2006 00:18:13 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r118982
John David Anglin [Sat, 18 Nov 2006 23:17:33 +0000 (23:17 +0000)]
re PR fortran/27885 (FAIL: libgomp.fortran/vla[1-7].f90 -O0 (test for excess errors))
PR fortran/27885
PR middle-end/28176
* stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
to MAX_FIXED_MODE_SIZE.
From-SVN: r118977
Kaveh R. Ghazi [Sat, 18 Nov 2006 20:38:40 +0000 (20:38 +0000)]
builtins.c (integer_valued_real_p): Handle fmin/fmax.
* builtins.c (integer_valued_real_p): Handle fmin/fmax.
(fold_builtin_fmin_fmax): New.
(fold_builtin_1): Use it.
testsuite:
* gcc.dg/builtins-20.c: Add fmin/fmax cases.
* gcc.dg/torture/builtin-minmax-1.c: New.
From-SVN: r118976
Kaveh R. Ghazi [Sat, 18 Nov 2006 20:29:22 +0000 (20:29 +0000)]
fold-const.c (fold_strip_sign_ops): Handle copysign.
* fold-const.c (fold_strip_sign_ops): Handle copysign.
testsuite:
* gcc.dg/builtins-20.c: Add cases for copysign.
From-SVN: r118975
Richard Guenther [Sat, 18 Nov 2006 20:03:52 +0000 (20:03 +0000)]
i386.c (ix86_builtins): New array for ix86 builtin function decls.
2006-11-18 Richard Guenther <rguenther@suse.de>
* config/i386/i386.c (ix86_builtins): New array for ix86
builtin function decls.
(def_builtin): New function.
(def_builtin_const): Likewise.
(ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const.
From-SVN: r118974
Vladimir Makarov [Sat, 18 Nov 2006 18:43:19 +0000 (18:43 +0000)]
invoke.texi (core2): Add item.
2006-11-18 Vladimir Makarov <vmakarov@redhat.com>
* doc/invoke.texi (core2): Add item.
* config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
macros.
(TARGET_CPU_CPP_BUILTINS): Add code for core2.
(TARGET_CPU_DEFAULT_generic): Change value.
(TARGET_CPU_DEFAULT_NAMES): Add core2.
(processor_type): Add new constant PROCESSOR_CORE2.
* config/i386/i386.md (cpu): Add core2.
* config/i386/i386.c (core2_cost): New initialized variable.
(m_CORE2): New macro.
(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
x86_use_incdec, x86_four_jump_limit, x86_schedule,
x86_pad_returns): Add m_CORE2.
(override_options): Add entries for Core2.
(ix86_issue_rate): Add case for Core2.
From-SVN: r118973
Kaveh R. Ghazi [Sat, 18 Nov 2006 14:08:54 +0000 (14:08 +0000)]
configure.in (--with-mpfr-dir): Also look in .libs and _libs for libmpfr.a.
* configure.in (--with-mpfr-dir): Also look in .libs and _libs for
libmpfr.a.
* configure: Regenerate.
From-SVN: r118972
Francois-Xavier Coudert [Sat, 18 Nov 2006 12:16:42 +0000 (13:16 +0100)]
re PR fortran/24285 ([4.2 only] format(1000(a,$)))
PR fortran/24285
* io.c (check_format): Allow dollars everywhere in format, and
issue a warning.
* gfortran.dg/dollar_edit_descriptor-3.f: New test.
From-SVN: r118971
Aldy Hernandez [Sat, 18 Nov 2006 10:55:38 +0000 (10:55 +0000)]
invoke.texi: Fix mno-isel typo.
* doc/invoke.texi: Fix mno-isel typo.
From-SVN: r118969
Joseph Myers [Sat, 18 Nov 2006 00:27:03 +0000 (00:27 +0000)]
spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
easy vector constant loads.
From-SVN: r118964
Joseph Myers [Sat, 18 Nov 2006 00:22:45 +0000 (00:22 +0000)]
rs6000.h (TARGET_NO_LWSYNC): Define.
gcc:
* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
__NO_LWSYNC__ if TARGET_NO_LWSYNC.
* config/rs6000/sync.md (lwsync): Emit plain sync if
TARGET_NO_LWSYNC.
libstdc++-v3:
* config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
Use plain sync if __NO_LWSYNC__.
From-SVN: r118961
GCC Administrator [Sat, 18 Nov 2006 00:17:55 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118959
Jerry DeLisle [Fri, 17 Nov 2006 23:30:49 +0000 (23:30 +0000)]
2006-11-17 Jerry DeLisle <jvdelisle@fcc.gnu.org
* ChangeLog: Fix typos.
From-SVN: r118954
DJ Delorie [Fri, 17 Nov 2006 23:15:29 +0000 (18:15 -0500)]
reload1.c (reloads_unique_chain): New.
* reload1.c (reloads_unique_chain): New.
(reloads_conflict): Call it.
From-SVN: r118953
Bob Wilson [Fri, 17 Nov 2006 23:10:48 +0000 (23:10 +0000)]
predicates.md (addsubx_operand): New.
* config/xtensa/predicates.md (addsubx_operand): New.
* config/xtensa/xtensa.c (xtensa_emit_branch): New.
(xtensa_emit_bit_branch): New.
(xtensa_emit_movcc): New.
* config/xtensa/xtensa.md (any_minmax): New code macro.
(minmax): New code attribute.
(any_cond, any_scc, any_scc_sf): New code macros.
(*addx2, *addx4, *addx8): Delete.
(*addx): New.
(*subx2, *subx4, *subx8): Delete.
(*subx): New.
(sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro.
(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond.
(*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch.
(*bittrue, *bitfalse): Use xtensa_emit_bit_branch.
(seq, sne, sgt, sge, slt, sle): Use any_scc macro.
(movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc.
(movsfcc_internal0, movsfcc_internal1): Likewise.
(seq_sf, slt_sf, sle_sf): Use any_scc_sf macro.
* config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New.
(xtensa_emit_bit_branch): New.
(xtensa_emit_movcc): New.
(function_arg_boundary): Add missing prototype.
From-SVN: r118952
Bob Wilson [Fri, 17 Nov 2006 22:59:50 +0000 (22:59 +0000)]
* config/xtensa/xtensa.md (tstsi): Delete
From-SVN: r118949
Bob Wilson [Fri, 17 Nov 2006 22:55:13 +0000 (22:55 +0000)]
* config/xtensa/xtensa.md (entry): Do not emit .frame directive.
From-SVN: r118948
Bob Wilson [Fri, 17 Nov 2006 22:46:57 +0000 (22:46 +0000)]
* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
From-SVN: r118947
Bob Wilson [Fri, 17 Nov 2006 22:40:02 +0000 (22:40 +0000)]
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
From-SVN: r118946
Eric Botcazou [Fri, 17 Nov 2006 15:10:28 +0000 (15:10 +0000)]
re PR ada/27936 (gnatbind fails to link)
PR ada/27936
* trans.c (add_decl_expr): Do not dynamically elaborate padded objects
if the initializer takes into account the padding.
From-SVN: r118939
Zdenek Dvorak [Fri, 17 Nov 2006 11:29:17 +0000 (12:29 +0100)]
tree-vrp.c (execute_vrp): Do not update current_loops.
* tree-vrp.c (execute_vrp): Do not update current_loops.
* loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
* doc/loop.texi: Remove documentation for cancelled functions.
* tree-ssa-loop-im.c (loop_commit_inserts): Removed.
(move_computations, determine_lsm): Use bsi_commit_edge_inserts
instead.
* cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
(remove_path): Ensure that in delete_basic_blocks, the loops
are still allocated.
(add_loop): Work on valid loop structures.
(loopify): Modify call of add_loop.
(mfb_update_loops): Removed.
(create_preheader): Do not update loops explicitly.
(force_single_succ_latches, loop_version): Do not use
loop_split_edge_with.
(loop_split_edge_with): Removed.
* tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
Do not use bsi_insert_on_edge_immediate_loop.
(split_loop_exit_edge, tree_unroll_loop): Do not use
loop_split_edge_with.
(bsi_insert_on_edge_immediate_loop): Removed.
* tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops. Do not
use loop_split_edge_with.
* cfghooks.c: Include cfgloop.h.
(verify_flow_info): Verify that loop_father is filled iff current_loops
are available.
(redirect_edge_and_branch_force, split_block, delete_basic_block,
split_edge, merge_blocks, make_forwarder_block, duplicate_block):
Update cfg.
* cfgloopanal.c (mark_irreducible_loops): Work if the function contains
no loops.
* modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
loop_split_edge_with.
(sms_schedule): Use current_loops.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
current_loops.
(rtl_loop_init, rtl_loop_done): Do not set current_loops.
* tree-ssa-sink.c (execute_sink_code): Use current_loops.
* ifcvt.c (if_convert): Ditto.
* predict.c (predict_loops): Do not clear current_loops.
(tree_estimate_probability): Use current_loops.
(propagate_freq): Receive head of the region to propagate instead of
loop.
(estimate_loops_at_level): Do not use shared to_visit bitmap.
(estimate_loops): New function. Handle case current_loops == NULL.
(estimate_bb_frequencies): Do not allocate tovisit. Use
estimate_loops.
* tree-ssa-loop.c (current_loops): Removed.
(tree_loop_optimizer_init): Do not return loops.
(tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
Do not update loops explicitly.
* function.h (struct function): Add x_current_loops field.
(current_loops): New macro.
* tree-if-conv.c (combine_blocks): Do not update loops explicitly.
* loop-unroll.c (split_edge_and_insert): New function.
(unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
use loop_split_edge_with.
* loop-doloop.c (add_test, doloop_modify): Ditto.
* tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
* cfglayout.c (copy_bbs): Do not update loops explicitly.
* lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
* tree-vect-transform.c (vect_transform_loop): Do not update loops
explicitly.
* cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
(flow_loops_free): Do not free dfs_order and rc_order.
(flow_loops_find): Do not set dfs_order and rc_order in loops
structure. Do not call loops and flow info verification.
(add_bb_to_loop, remove_bb_from_loops): Check whether the block
already belongs to some loop.
* cfgloop.h (struct loops): Remove struct cfg.
(current_loops, loop_split_edge_with): Declaration removed.
(loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
* tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
Declaration removed.
* Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
* basic-block.h (split_edge_and_insert): Declare.
* tree-cfg.c (remove_bb): Do not update loops explicitly.
From-SVN: r118931
Francois-Xavier Coudert [Fri, 17 Nov 2006 11:11:25 +0000 (12:11 +0100)]
gfortran.h (gfc_add_intrinsic_modules_path, [...]): New prototypes.
* gfortran.h (gfc_add_intrinsic_modules_path,
gfc_open_intrinsic_module): New prototypes.
(gfc_add_include_path, gfc_open_included_file): Update prototypes.
* lang.opt: Add -fintrinsic-modules-path option.
* module.c (gfc_match_use): Match the Fortran 2003 form of
USE statement.
(gfc_use_module): Also handle intrinsic modules.
* scanner.c (gfc_directorylist): Add use_for_modules for field.
(intrinsic_modules_dirs): New static variable.
(add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
(gfc_add_include_path): Use the new add_path_to_list helper
function.
(gfc_release_include_path): Free memory for intrinsic_modules_dirs.
(open_included_file, gfc_open_intrinsic_module): New functions.
(gfc_open_included_file): Use the new open_included_file
helper function.
* lang-specs.h: Use the new -fintrinsic-modules-path option.
* parse.c (decode_statement): Do not match the required space
after USE here.
* options.c (gfc_handle_option): Handle the new option. Use new
prototype for gfc_add_include_path.
(gfc_post_options): Use new prototype for gfc_add_include_path.
* gfortran.dg/use_1.f90: New test.
* gfortran.dg/use_1.f90: New test.
* gfortran.dg/use_1.f90: New test.
From-SVN: r118930
Paolo Bonzini [Fri, 17 Nov 2006 10:31:47 +0000 (10:31 +0000)]
re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.)
2006-11-16 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
(unstage): Test for stage_last presence.
PR bootstrap/29802
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
* Makefile.in: Regenerate.
libada:
2006-11-16 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/29802
* configure.ac: Call GCC_TOPLEV_SUBDIRS.
* configure: Regenerate.
* Makefile.in: Replace host_subdir.
From-SVN: r118927
Zdenek Dvorak [Fri, 17 Nov 2006 10:29:07 +0000 (11:29 +0100)]
re PR tree-optimization/29801 (ICE in set_lattice_value (tree-ssa-ccp.c))
PR tree-optimization/29801
* tree-ssa-ccp.c (get_symbol_constant_value): New function.
(get_default_value): Use get_symbol_constant_value.
(set_lattice_value): ICE when the value of the constant is
changed.
(visit_assignment): Ignore VDEFs of read-only variables.
* gcc.dg/pr29801.c: New test.
From-SVN: r118926
Zdenek Dvorak [Fri, 17 Nov 2006 09:34:08 +0000 (10:34 +0100)]
tree-vect-transform.c (vect_create_epilog_for_reduction): Fix formating.
2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
* tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
formating.
(vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
vect_gen_niters_for_prolog_loop): Fold the emited expressions.
From-SVN: r118925
Zdenek Dvorak [Fri, 17 Nov 2006 09:24:01 +0000 (10:24 +0100)]
tree-ssa-alias.c (new_type_alias): Do not use offset of expr to select subvars of var.
* tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
select subvars of var.
From-SVN: r118924
Jakub Jelinek [Fri, 17 Nov 2006 08:57:45 +0000 (09:57 +0100)]
re PR middle-end/29584 (internal compiler error on optimization)
PR middle-end/29584
* tree-ssa-forwprop.c (simplify_switch_expr): Don't
optimize if DEF doesn't have integral type.
* gcc.dg/torture/pr29584.c: New test.
From-SVN: r118921
Uros Bizjak [Fri, 17 Nov 2006 06:50:45 +0000 (07:50 +0100)]
i386.c (ix86_function_sseregparm): Missing comment update.
* config/i386/i386.c (ix86_function_sseregparm): Missing comment update.
From-SVN: r118918
Mike Stump [Fri, 17 Nov 2006 06:48:01 +0000 (06:48 +0000)]
darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on pre-darwin9 system, unless the user asks for it directly.
* config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
pre-darwin9 system, unless the user asks for it directly.
(PREFERRED_DEBUGGING_TYPE): Likewise.
* config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
* config.gcc: Add suppport for darwin9.h.
* config/darwin9.h: Add.
* doc/install.texi (Specific): Clarify darwin documentation.
From-SVN: r118917
Richard Earnshaw [Fri, 17 Nov 2006 00:27:18 +0000 (00:27 +0000)]
arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when optimizing for size.
* arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
optimizing for size.
From-SVN: r118914
Joseph Myers [Fri, 17 Nov 2006 00:25:05 +0000 (00:25 +0000)]
stdarg-2.c, stdarg-4.c: Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.target/powerpc/compress-float-ppc.c,
gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
powerpc_fprs.
* gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
do not pass -mhard-float.
From-SVN: r118912
GCC Administrator [Fri, 17 Nov 2006 00:17:33 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118910
Mike Stump [Thu, 16 Nov 2006 22:26:09 +0000 (22:26 +0000)]
* Makefile.in (targhooks.o): Add $(OPTABS_H).
From-SVN: r118904
Dirk Mueller [Thu, 16 Nov 2006 22:07:30 +0000 (22:07 +0000)]
tree-vrp.c (get_value_range): Use XCNEW instead of XNEW and memset.
2006-11-16 Dirk Mueller <dmueller@suse.de>
* tree-vrp.c (get_value_range): Use XCNEW instead
of XNEW and memset.
(insert_range_assertions): Use XCNEWVEC instead
of XNEWVEC and memset.
(vrp_initialize): Same.
(vrp_finalize): Same.
* tree-ssa-ccp.c (ccp_initialize): Same.
* predict.c (tree_bb_level_predictions): Same.
* calls.c (expand_call): Same.
* tree-ssa-copy.c (init_copy_prop): Same.
(fini_copy_prop): Same.
* tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead
of GGC_NEW and memset.
* name-lookup.c (begin_scope): Use GGC_CNEW instead of
GGC_NEW and memset.
From-SVN: r118903
Eric Botcazou [Thu, 16 Nov 2006 21:25:16 +0000 (21:25 +0000)]
re PR middle-end/26306 (ICE on volatile array with non-constant bounds)
PR middle-end/26306
* gimplify.c (gimplify_expr): Only force a load for references to
non-BLKmode volatile values.
* doc/implement-c.texi (Qualifiers implementation): Document the
interpretation of what a volatile access is.
* doc/extend.texi (C++ Extensions): Rework same documentation.
From-SVN: r118900
Zdenek Dvorak [Thu, 16 Nov 2006 16:24:31 +0000 (17:24 +0100)]
MAINTAINERS: Add myself and Daniel Berlin as loop optimizer maintainers.
* MAINTAINERS: Add myself and Daniel Berlin as loop optimizer
maintainers.
From-SVN: r118894
Joseph Myers [Thu, 16 Nov 2006 13:36:23 +0000 (13:36 +0000)]
spe.md (frob_di_df_2): Handle non-offsettable memory operand.
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
memory operand.
From-SVN: r118889
Francois-Xavier Coudert [Thu, 16 Nov 2006 12:25:11 +0000 (13:25 +0100)]
re PR fortran/29391 ([4.2/4.1 only] LBOUND and UBOUND are broken)
PR fortran/29391
PR fortran/29489
* simplify.c (simplify_bound): Fix the simplification of
LBOUND/UBOUND intrinsics.
* trans-intrinsic.c (simplify_bound): Fix the logic, and
remove an erroneous assert.
* gcc/testsuite/gfortran.dg/bound_2.f90: Add more checks.
* gcc/testsuite/gfortran.dg/bound_3.f90: New test.
From-SVN: r118888