* config/sh/linux-unwind.h (SH_DWARF_FRAME_XD0): Remove for SH5.
(SH_DWARF_FRAME_PR, SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACL)
(SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_PC, SH_DWARF_FRAME_FPUL):
Likewise.
(SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_FPSCR): Define to the correct
dwarf register number for SHmedia.
(shmedia_fallback_frame_state): New.
(MD_FALLBACK_FRAME_STATE_FOR): Define to it for SH5.
* config/sh/linux.h (FUNCTION_PROFILER): Provide SHMEDIA version.
From-SVN: r100681
* configure.in (unsupported_languages): New macro.
<mmix-knuth-mmixware>: Set unsupported_languages. Name explicit
non-ported target libraries in noconfigdirs.
<cris-*, crisv32-*> Ditto, except for non-aout, non-elf,
non-linux-gnu. Remove libgcj_ex_libffi.
<lang_frag loop>: Set add_this_lang=no if the language is in
unsupported_languages.
* configure: Regenerate.
From-SVN: r100680
* fold-const.c (operand_equal_p): Don't return 1, if element
chains for 2 VECTOR_CSTs are not the same length.
PR regression/21897
* fold-const.c (fold_ternary) <case BIT_FIELD_REF>: Don't crash if
not all VECTOR_CST elements are given.
* gcc.c-torture/execute/20050604-1.c: New test.
From-SVN: r100674
2005-06-06 Paolo Carlini <pcarlini@suse.de>
Port from libstdcxx_so_7-branch:
2004-09-24 Paolo Carlini <pcarlini@suse.de>
Jonathan Wakely <redi@gcc.gnu.org>
* include/bits/stl_list.h (list::list(size_type, value_type,
const allocator_type&): Implement according to the letter of the
standard, i.e., don't use two overloads, not equivalent in case
of non default constructible T.
(list::resize(size_type, const value_type&)): Fix the signature:
according to the standard the second argument is by value; also,
don't use two overloads.
* include/bits/list.tcc (list::resize(size_type, const value_type&)):
Adjust consistently the signature.
* include/bits/stl_deque.h (deque::deque(size_type, value_type,
const allocator_type&)): Likewise.
(deque::resize(size_type, const value_type&)): Likewise.
* include/bits/stl_vector.h (vector::vector(size_type, value_type,
const allocator_type&)): Likewise.
(vector::resize(size_type, const value_type&)): Likewise.
* testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
* testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
* testsuite/23_containers/list/explicit_instantiation/2.cc: New.
* testsuite/23_containers/map/explicit_instantiation/2.cc: New.
* testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
* testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
* testsuite/23_containers/set/explicit_instantiation/2.cc: New.
* testsuite/23_containers/vector/explicit_instantiation/2.cc: New.
* include/bits/deque.tcc: Minor formatting fix.
From-SVN: r100668
* predict.c (tree_predict_edge): Don't drop useless predictions;
check that it is not called too late in the game.
(gate_estimate_probability): New gate.
(pass_profile): Gate.
* tree-mudflap.c (mf_build_check_statement_for): Do not drop
predictions; update CFG instead.
* cfgrtl.c (rtl_verify_flow_info): Check that predcitions are consumed.
From-SVN: r100662
PR tree-optimization/21846
* tree-cfg.c (replace_uses_by): Update information stored at loops.
* tree-flow.h (substitute_in_loop_info): Declare.
* tree-scalar-evolution.c (initialize_scalar_evolutions_analyzer):
Ensure that chrec_dont_know and chrec_known have a type.
* tree-ssa-loop-niter.c (substitute_in_loop_info): New function.
From-SVN: r100631
* tree-flow.h (stmt_ann_d): Move aux to ...
(tree_ann_common_d): ... here.
* tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
move_computations_stmt, schedule_sm): Update references to
aux.
* tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
* tree-vect-transform.c (vect_create_index_for_vector_ref): Update
call to set_stmt_info.
(vect_transform_loop): Likewise.
* tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info):
Likewise.
* tree-vect-analyze.c (vect_analyze_scalar_cycles): Made void instead of
bool.
(vect_mark_relevant): Takes two additional arguments - live_p and
relevant_p. Set RELEVANT_P and LIVE_P according to these arguments.
(vect_stmt_relevant_p): Differentiate between a live stmt and a
relevant stmt. Return two values = live_p and relevant_p.
(vect_mark_stmts_to_be_vectorized): Call vect_mark_relevant and
vect_stmt_relevant_p with additional arguments. Phis are no longer
put into the worklist (analyzed seperately in analyze_scalar_cycles).
(vect_determine_vectorization_factor): Also check for LIVE_P, because a
stmt that is marked as irrelevant and live, cause it's only used out
side the loop, may need to be vectorized (e.g. reduction).
(vect_analyze_operations): Examine phis. Call
vectorizable_live_operation for for LIVE_P stmts. Check if
need_to_vectorize.
(vect_analyze_scalar_cycles): Update documentation. Don't fail
vectorization - just classify the scalar cycles created by the loop
phis. Call vect_is_simple_reduction.
(vect_analyze_loop): Call to analyze_scalar_cycles moved earlier.
* tree-vect-transform.c (vect_create_index_for_vector_ref): Update
call to set_stmt_info.
(vect_get_vec_def_for_operand): Code reorganized - the code that
classifies the type of use was factored out to vect_is_simple_use.
(vectorizable_store, vect_is_simple_cond): Call vect_is_simple_use with
additional arguments.
(vectorizable_assignment): Likewise. Also make sure the stmt is relevant
and computes a loop_vec_def.
(vectorizable_operation, vectorizable_load, vectorizable_condition):
Likewise.
(vectorizable_live_operation): New.
(vect_transform_stmt): Handle LIVE_P stmts.
* tree-vectorizer.c (new_stmt_vec_info): Initialize the new fields
STMT_VINFO_LIVE_P and STMT_VINFO_DEF_TYPE.
(new_loop_vec_info, destroy_loop_vec_info): Also handle phis.
(vect_is_simple_use): Determine the type of the def and return it
in a new function argument. Consider vect_reduction_def and
vect_induction_def, but for now these are not supported.
(vect_is_simple_reduction): New. Empty for now.
* tree-vectorizer.h (vect_def_type): New enum type.
(_stmt_vec_info): Added new fields - live and _stmt_vec_info.
(STMT_VINFO_LIVE_P, STMT_VINFO_DEF_TYPE): New accessor macros.
(vect_is_simple_use): New arguments added to function declaration.
(vect_is_simple_reduction): New function declaration.
(vectorizable_live_operation): New function declaration.
* tree-vect-analyze.c (vect_can_advance_ivs_p): Add debug printout.
(vect_can_advance_ivs_p): Likewise.
* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Likewise.
From-SVN: r100617