1. 28 Apr, 2009 20 commits
    • g++.dg/warn/pr35652.C: Removed. · 26946a3f
      2009-04-28  H.J. Lu  <hongjiu.lu@intel.com>
      
      	g++.dg/warn/pr35652.C: Removed.
      	gcc.dg/pr35652.c: Likewise.
      
      From-SVN: r146892
      H.J. Lu committed
    • m32c.c (TARGET_PROMOTE_FUNCTION_RETURN, [...]): Delete. · 65ad77af
      2009-04-28  Paolo Bonzini  <bonzini@gnu.org>
      
              * config/m32c/m32c.c (TARGET_PROMOTE_FUNCTION_RETURN,
              m32c_promote_function_return, TARGET_PROMOTE_PROTOTYPES,
              m32c_promote_prototypes): Delete.
      
      From-SVN: r146891
      Paolo Bonzini committed
    • re PR middle-end/39922 (Revision 146817 caused many regressions on trunk) · 1b15a008
              PR middle-end/39922
              * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
              constants.
      
      From-SVN: r146889
      Michael Matz committed
    • tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix type error. · 7569a6cc
      2009-04-28  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix
      	type error.
      
      From-SVN: r146888
      Richard Guenther committed
    • Add support for arm1156tf-s · ead204d9
      From-SVN: r146887
      Ramana Radhakrishnan committed
    • inclhack.def (glibc_stdint): New fix. · e2556904
      	* inclhack.def (glibc_stdint): New fix.
      	* fixincl.x: Regenerate.
      	* tests/base/stdint.h: Update.
      
      From-SVN: r146883
      Joseph Myers committed
    • 20071210-2.c: New testcase. · f2c45f08
      gcc/testsuite/Changelog:
      
      2009-04-28  Alexander Monakov  <amonakov@ispras.ru>
      	* gcc.target/ia64/20071210-2.c: New testcase.
      
      gcc/Changelog:
      
      2009-04-28  Alexander Monakov  <amonakov@ispras.ru>
      	* sel-sched-ir.c (maybe_tidy_empty_bb): Do not attempt to delete a
      	block if there are complex incoming edges.
      	(sel_merge_blocks): Remove useless assert.
      	(sel_redirect_edge_and_branch): Check that edge was redirected.
      	* sel-sched-ir.h (_eligible_successor_edge_p): Remove assert.
      	(sel_find_rgns): Delete declaration.
      	* sel-sched.c (purge_empty_blocks): Attempt to remove first block of
      	the region when it is not a preheader.
      
      From-SVN: r146882
      Alexander Monakov committed
    • re PR target/39323 (MAX_OFILE_ALIGNMENT in elfos.h is too big) · 7a00d767
      	PR c/39323
      	* config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h
      
      testsuite/ChangeLog:
      
      	PR c/39323
      	* gcc.dg/pr39323-2.c: Also scan for alignment in log2 format.
      	* gcc.dg/pr39323-3.c: Ditto.
      
      From-SVN: r146881
      Uros Bizjak committed
    • re PR fortran/39930 (Bogus error: ambiguous reference) · 6596e2fe
      2009-04-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39930
      	PR fortran/39931
      	* expr.c (gfc_check_pointer_assign): Correctly detect if the left hand
      	side is a pointer.
      	* parse.c (gfc_fixup_sibling_symbols): Don't check for ambiguity.
      
      
      2009-04-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/39930
      	PR fortran/39931
      	* gfortran.dg/ambiguous_reference_2.f90: New.
      	* gfortran.dg/pointer_assign_7.f90: New.
      
      From-SVN: r146880
      Janus Weil committed
    • re PR libgcj/39899 (gjdoc in 4.4.0 fails to build the libgcj documentation) · a6524a7c
      2009-04-28  Andrew Haley  <aph@redhat.com>
      
              PR libgcj/39899
              * Makefile.am (libgcj_tools_la_LDFLAGS): Add
              -fno-bootstrap-classes to libgcj_tools_la_GCJFLAGS.
              * Makefile.in: Regenerate.
      
      From-SVN: r146878
      Andrew Haley committed
    • tree.h (SSA_NAME_VALUE): Remove. · 448ee662
      2009-04-28  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (SSA_NAME_VALUE): Remove.
      	(struct tree_ssa_name): Remove value_handle member.
      	* tree-vrp.c (execute_vrp): Initialize/free the value-handle
      	array for jump threading.
      	* tree-ssa-propagate.c (ssa_prop_init): Do not initialize
      	SSA_NAME_VALUEs.
      	* print-tree.c (print_node): Do not dump SSA_NAME_VALUEs.
      	* tree-flow.h (threadedge_initialize_values): Declare.
      	(threadedge_finalize_values): Likewise.
      	* tree-ssa-threadedge.c (ssa_name_values): New global variable.
      	(SSA_NAME_VALUE): Define.
      	(threadedge_initialize_values): New function.
      	(threadedge_finalize_values): Likewise.
      	* tree-ssa-dom.c (ssa_name_values): New global variable.
      	(SSA_NAME_VALUE): Define.
      	(tree_ssa_dominator_optimize): Initialize/free the value-handle
      	array.
      
      From-SVN: r146877
      Richard Guenther committed
    • 20020118-1.c: Skip on vxworks targets. · e8a861bd
      2009-04-28  Nathan Froyd  <froydnj@codesourcery.com>
      	    Mark Mitchell  <mark@codesourcery.com>
      
      	* gcc.target/powerpc/20020118-1.c: Skip on vxworks targets.
      	* gcc.dg/20020103-1.c: Check for __ppc.
      	* gcc.dg/asm-b.c: Check for __ppc.
      	* gcc.dg/20020919-1.c: Check for __ppc.
      	* gcc.dg/20020312-2.c: Likewise.
      	* gcc.dg/trampoline-1.c: Add appropriate NO_TRAMPOLINES #ifndefs.
      	* gcc.dg/torture/asm-subreg-1.c: Skip on sparc vxworks targets.
      	* gcc.dg/attr-weakref-1.c: Skip on selected vxworks targets.
      	* g++.dg/warn/weak1.C: Likewise.
      	* gcc.dg/tree-ssa/20030714-1.c (find_base_value): Declare as
      	static so appropriate optimizations kick in.
      	(find_base_value_wrapper): New function.
      	* g++.dg/eh/simd-5.C: Fix target triplet.
      	* gcc.target/arm/long-calls-1.c: Skip for -mlong-calls.
      
      Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
      
      From-SVN: r146876
      Nathan Froyd committed
    • tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use… · 8644a673
      tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use REPORT_VECTORIZED_LOCATIONS instead REPORT_VECTORIZED_LOOPS.
      
      
      	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
      	Use REPORT_VECTORIZED_LOCATIONS instead 
      	REPORT_VECTORIZED_LOOPS.
      	* tree-vectorizer.c (vect_verbosity_level): Make static.
      	(vect_loop_location): Rename to vect_location.
      	(vect_set_verbosity_level): Update comment.
      	(vect_set_dump_settings): Use REPORT_VECTORIZED_LOCATIONS
      	and vect_location.
      	(vectorize_loops): Fix comment. Use REPORT_VECTORIZED_LOCATIONS
      	and vect_location. Use REPORT_UNVECTORIZED_LOCATIONS
      	instead REPORT_UNVECTORIZED_LOOPS.
      	* tree-vectorizer.h (enum vect_def_type): Rename vect_invariant_def and
      	vect_loop_def to vect_external_def and vect_internal_def.
      	(enum verbosity_levels): Rename REPORT_VECTORIZED_LOOPS
              and REPORT_UNVECTORIZED_LOOPS to 
      	REPORT_VECTORIZED_LOCATIONS and 
      	REPORT_UNVECTORIZED_LOCATIONS.
      	(enum vect_relevant): Update comment. Rename vect_unused_in_loop
      	and vect_used_in_loop and to vect_unused_in_scope and 
      	vect_used_in_scope.
      	(STMT_VINFO_RELEVANT_P): Use vect_unused_in_scope.
      	(vect_verbosity_level): Remove declaration.
      	(vect_analyze_operations): Likewise.
      	(vect_analyze_stmt): Declare.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Use
      	REPORT_UNVECTORIZED_LOCATIONS.
      	(vect_get_loop_niters): Fix indentation.
      	(vect_analyze_loop_form): Use REPORT_UNVECTORIZED_LOCATIONS.
      	(vect_analyze_loop_operations): New function.
      	(vect_analyze_loop): Call vect_analyze_loop_operations instead of
      	vect_analyze_operations.
      	(vect_is_simple_reduction): Use new names.
      	(vectorizable_live_operation, vect_transform_loop): Likewise.
      	* tree-vect-data-refs.c (vect_check_interleaving): Add a return value to
      	specify whether the data references can be a part of interleaving chain.
      	(vect_analyze_data_ref_dependence): Use new names.
      	(vect_analyze_data_refs_alignment, vect_analyze_data_refs): Likewise.
      	(vect_create_addr_base_for_vector_ref): Remove redundant code.
      	* tree-vect-patterns.c (widened_name_p): Use new names.
      	(vect_recog_dot_prod_pattern): Likewise.
      	* tree-vect-stmts.c (vect_stmt_relevant_p): Use new names.
      	(process_use, vect_mark_stmts_to_be_vectorized, 
      	vect_model_simple_cost, vect_model_store_cost,
      	vect_get_vec_def_for_operand, vect_get_vec_def_for_stmt_copy,
      	vectorizable_call, vectorizable_conversion, vectorizable_assignment,
      	vectorizable_operation, vectorizable_type_demotion,
      	vectorizable_type_promotion, vectorizable_store, vectorizable_load,
      	vectorizable_condition): Likewise.
      	(vect_analyze_operations): Split into vect_analyze_loop_operations
      	and ...
      	(vect_analyze_stmt): ... new function.
      	(new_stmt_vec_info): Use new names.
      	(vect_is_simple_use): Use new names and fix comment.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Use new names.
      	(vect_build_slp_tree, vect_analyze_slp, vect_schedule_slp): Likewise.
      
      From-SVN: r146875
      Ira Rosen committed
    • re PR target/39911 (The 'z' suffix doesn't work with 16bit integer insn) · b91322f2
      	PR target/39911
      	* config/i386/i386.c (print_operand) ['Z']: Handle floating point
      	and integer modes for x87 operands.  Do not ICE for unsupported size,
      	generate error instead.  Generate error for unsupported operand types.
      	['z']: Do not handle HImode memory operands specially.  Warning
      	for floating-point operands.  Fallthru to 'Z' for unsupported operand
      	types.  Do not ICE for unsupported size, generate error instead.
      	(output_387_binary_op): Use %Z to output operands.
      	(output_fp_compare): Ditto.
      	(output_387_reg_move): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/39911
      	* gcc.target/i386/pr39911.c: New test.
      
      From-SVN: r146874
      Uros Bizjak committed
    • re PR fortran/39879 (double free or corruption abort with gfortran) · 297c3717
      2009-04-28  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/39879
      	* trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
      	type parentheses argument if it is a variable with allocatable
      	components.
      
      2009-04-28  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/39879
      	* gfortran.dg/alloc_comp_assign_10.f90: New test.
      
      From-SVN: r146872
      Paul Thomas committed
    • re PR fortran/39879 (double free or corruption abort with gfortran) · 7d44f531
      2009-04-28  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/39879
      	* trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
      	type parentheses argument if it is a variable with allocatable
      	components.
      
      2009-04-28  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/39879
      	* gfortran.dg/alloc_comp_assign_10.f90: New test.
      
      From-SVN: r146871
      Paul Thomas committed
    • revert: re PR c++/35652 (offset warning should be given in the front-end) · b2ed71b6
      Revert:
      	PR c++/35652
      	2009-03-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      gcc/
      	* builtins.c (c_strlen): Do not warn here.
      	* c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
      	* c-common.c (pointer_int_sum): Take an explicit location.
      	Warn about offsets out of bounds.
      	* c-common.h (pointer_int_sum): Adjust declaration.
      
      cp/
      	* typeck.c (cp_pointer_sum): Adjust call to pointer_int_sum.
      
      testsuite/
      	* gcc.dg/pr35652.C: New.
      	* g++.dg/warn/pr35652.C: New.
      	* gcc.dg/format/plus-1.c: Adjust message.
      
      From-SVN: r146870
      Ben Elliston committed
    • interpret.cc (DEBUG): Rename this ... · 903db435
      	* interpret.cc (DEBUG):  Rename this ...
      	(__GCJ_DEBUG):  ... to this throughout.
      	* configure.ac:  Likewise.
      	* interpret-run.cc:  Likewise.
      	* prims.cc:  Likewise.
      	* gnu/classpath/natConfiguration.cc:  Likewise.
      	* include/java-assert.h:  Likewise.
      	* java/io/natVMObjectInputStream.cc:  Likewise.
      
      	* configure:  Regenerate.
      	* include/config.h.in:  Regenerate.
      
      From-SVN: r146869
      Dave Korn committed
    • * java/lang/natVMClassLoader.cc · 33cbe421
      	(java::lang::VMClassLoader::defineClass):  Fix assert.
      
      From-SVN: r146868
      Dave Korn committed
    • Daily bump. · 1c2adee6
      From-SVN: r146867
      GCC Administrator committed
  2. 27 Apr, 2009 20 commits
    • Fix date · 1f706d8b
      From-SVN: r146864
      DJ Delorie committed
    • target-supports.exp (check_effective_target_double64): New. · fb4fc714
      * lib/target-supports.exp (check_effective_target_double64): New.
      (check_effective_target_double64plus): New.
      (check_effective_target_large_double): New.
      * gcc.dg/Wconversion-real-integer.c: Require double64plus.
      * gcc.dg/div-double-1.c: Likewise.
      * gcc.dg/Wconversion-real.c: Require large_double.
      * gcc.dg/cdce1.c: Require large_double instead of checking targets.
      
      * gcc.c-torture/execute/ieee/unsafe-fp-assoc-1.c: Skip if doubles are too small.
      
      * gcc.c-torture/execute/ieee/20010226-1.c: Mark all floating point
      constants as long.
      
      From-SVN: r146863
      DJ Delorie committed
    • Fix formatting · 1883802f
      From-SVN: r146856
      Eric Botcazou committed
    • collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind. · 81f40b79
      ./:	* collect2.c (is_ctor_dtor): Change type of ret field in struct
      	names to symkind.
      	* dce.c (run_fast_df_dce): Change type of old_flags to int.
      	* df-core.c (df_set_flags): Change return type to int.  Change
      	type of old_flags to int.
      	(df_clear_flags): Likewise.
      	* df-scan.c (df_def_record_1): Change 0 to VOIDmode.
      	(df_get_conditional_uses): Likewise.
      	* df.h (df_set_flags, df_clear_flags): Update declarations.
      	* dwarf2out.c (struct indirect_string_node): Change type of form
      	field to enum dwarf_form.
      	(AT_string_form): Change return type to enum dwarf_form.
      	* fixed-value.c (fixed_compare): Add cast to enum type.
      	* fwprop.c (update_df): Change 0 to VOIDmode.
      	* gensupport.c: Change 0 to UNKNOWN.
      	* gimple.h (gimple_cond_code): Add cast to enum type.
      	* haifa-sched.c (reemit_notes): Add cast to enum type.
      	* hooks.c (hook_int_void_no_regs): Remove function.
      	* hooks.h (hook_int_void_no_regs): Remove declaration.
      	* optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
      	* predict.c (combine_predictions_for_insn): Add casts to enum
      	type.
      	* real.c (real_arithmetic): Add cast to enum type.
      	(real_compare): Likewise.
      	* target.h (struct gcc_target): Change return type of
      	branch_target_register_class to enum reg_class.
      	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
      	default_branch_target_register_class.
      	* targhooks.c (default_branch_target_register_class): New
      	function.
      	* targhooks.h (default_branch_target_register_class): Declare.
      	* tree-data-ref.c (print_direction_vector): Add cast to enum
      	type.
      	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
      	cast to int.
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
      	ERROR_MARK.
      	* tree-vect-slp.c (vect_build_slp_tree): Change 0 to
      	vect_uninitialized_def.  Change 0 to ERROR_MARK.
      	* tree-vect-stmts.c (supportable_widening_operation): Don't
      	initialize icode1 and icode2.
      	* tree-vectorizer.h (enum vect_def_type): Add
      	vect_uninitialized_def.
      	* config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
      	and to STD_C89.
      	(cmn_err_flag_specs): Change 0 to STD_C89.
      	(cmn_err_char_table): Likewise.
      	* config/arm/arm.c (get_arm_condition_code): Change type of code
      	to enum arm_cond_code.
      	(IWMMXT_BUILTIN): Change 0 to UNKNOWN.
      	(IWMMXT_BUILTIN2): Likewise.
      	(neon_builtin_type_bits): Don't define typedef.
      	(neon_builtin_datum): Change type of bits field to int.
      	(arm_expand_neon_args): Add cast to enum type.
      	* config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to
      	TLS_MODEL_NONE.
      	* config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN.  Add
      	casts to enum type.
      	* config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to
      	MIPS_FP_COND_f.
      	* config/mips/mips.md (jal_macro): Return enum constant.
      	(single_insn): Likewise.
      	* config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to
      	CODE_FOR_nothing.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	casts to enum type.
      	* config/s390/s390.c (s390_tune_flags): Change type to int.
      	(s390_arch_flags): Likewise.
      	(s390_handle_arch_option): Change flags field of struct pta to
      	int.
      	* config/s390/s390.h (s390_tune_flags): Update declaration.
      	(s390_arch_flags): Likewise.
      	* config/sh/sh.c (prepare_move_operands): Compare
      	tls_symbolic_operand result with enum constant.
      	(sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND.
      	(sh_expand_prologue): Add cast to enum type.
      	(sh_expand_epilogue): Likewise.
      	(tls_symbolic_operand): Change return type to enum tls_model.
      	(fpscr_set_from_mem): Add cast to enum type.
      	(legitimize_pic_address): Compare tls_symbolic_operand result with
      	enum constant.
      	(sh_target_reg_class): Change return type to enum reg_class.
      	* config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
      	PROCESSOR_xxx.
      	* config/sh/sh-protos.h (tls_symbolic_operand): Update
      	declaration.
      	* config/sparc/sparc.c (sparc_override_options): Add cast to enum
      	type.
      	* config/sparc/sparc.md (empty_delay_slot): Return enum constant.
      	(pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
      	(delayed_branch, tls_call_delay): Likewise.
      	(eligible_for_sibcall_delay): Likewise.
      	(eligible_for_return_delay): Likewise. 
      	* config/spu/spu.c (expand_builtin_args): Add cast to enum type.
      	(spu_expand_builtin_1): Likewise.
      
      	* c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings
      	for all types of conversions.
      	(output_init_element): Issue -Wc++-compat warning if needed when
      	initializing a bitfield with enum type.
      	* c-parser.c (c_parser_expression): Set original_type to
      	original_type of right hand operand of comman operator.
      cp/:
      	* semantics.c (finish_omp_clauses): Change type of c_kind to enum
      	omp_clause_code.
      fortran/:
      	* trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum
      	type.
      	* trans-io.c (st_parameter_field): Add casts to enum type.
      java/:
      	* builtins.c (java_builtins): Add casts to enum type.
      	* verify-impl.c (check_class_constant): Add cast to enum type.
      	(check_constant, check_wide_constant): Likewise.
      objc/:
      	* objc-act.c (objc_gimplify_expr): Add casts to enum type.
      testsuite/:
      	* gcc.dg/Wcxx-compat-5.c: New testcase.
      	* gcc.dg/Wcxx-compat-6.c: New testcase.
      
      From-SVN: r146855
      Ian Lance Taylor committed
    • c-tree.texi (Types, [...]): Fix grammar nits. · e4ae5e77
      gcc/
      	* doc/c-tree.texi (Types, Functions, Expression trees): Fix
      	grammar nits.
      	* doc/cfg.texi (Maintaining the CFG, Liveness information):
      	Likewise.
      	* doc/cpp.texi (Standard Predefined Macros)
      	(Implementation-defined behavior): Likewise.
      	* doc/extend.texi (Function Attributes, Type Attributes):
      	Likewise.
      	* doc/gimple.texi (GIMPLE Exception Handling)
      	(@code{GIMPLE_ASSIGN}): Likewise.
      	* doc/install.texi (Prerequisites, Configuration, Specific):
      	Likewise.
      	* doc/invoke.texi (Warning Options, Optimize Options)
      	(AVR Options, Darwin Options): Likewise.
      	(Optimize Options): Reformulate -fwhole-program description.
      	* doc/loop.texi (Lambda): Likewise.
      	* doc/md.texi (Output Template, Define Constraints)
      	(Standard Names, Insn Splitting): Likewise.
      	* doc/options.texi (Option properties): Likewise.
      	* doc/passes.texi (Tree-SSA passes): Likewise.
      	* doc/rtl.texi (Side Effects, Assembler, Insns): Likewise.
      	* doc/tm.texi (Register Classes, Old Constraints, Scalar Return)
      	(File Names and DBX): Likewise.
      	* doc/trouble.texi (Incompatibilities): Likewise.
      
      From-SVN: r146854
      Ralf Wildenhues committed
    • * MAINTAINERS: Update my e-mail address. · 5175f17c
      From-SVN: r146853
      James E. Wilson committed
    • spu.c (spu_machine_dependent_reorg): Make sure branch label on hint instruction is correct. · 6e37f6d4
      	* spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
      	instruction is correct.
      
      From-SVN: r146852
      Trevor Smigiel committed
    • re PR testsuite/39807 (Reporting of testsuite failures are messed up when using -j) · 060717fc
      	PR testsuite/39807
      	* dg-extract-results.sh: Close open files and use >> instead of >
      	to decrease number of concurrently open files from awk.  Avoid
      	= at the beginning of a regexp and redirect to a file determined
      	by curfile variable rather than concatenated strings to workaround
      	Solaris nawk bug.
      
      From-SVN: r146850
      Jakub Jelinek committed
    • Allow non-constant arguments to conversion intrinsics. · 5345cf68
      	* spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
      	* predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New.
      	* spu.c (print_operand): Handle 'v' and 'w'.
      	(exp2_immediate_p, spu_gen_exp2): Define.
      	* spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
      	spu_convtf_1): Update parameter descriptions.
      	* spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu):
      	Update.
      	* constraints.md ('v', 'w'): New.
      	* spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
      	Remove.
      	(i2f, I2F): New define_mode_attr.
      	(floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
      	floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
      	fixuns_truncv4sfv4si2):  Update to use mode attribute.
      	(float<mode><i2f>2_mul, float<mode><i2f>2_div,
      	fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
      	floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
      	patterns for combine.
      	* gcc.target/spu/intrinsics-3.c: Update tests.
      
      From-SVN: r146849
      Trevor Smigiel committed
    • dbgcnt.def (cprop1, [...]): Remove · 5f39ad47
      	* dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove
      	(cprop, hoist, pre, store_motion): New debug counters.
      	* tree-pass.h (pass_tracer): Move to list of gimple passes, it
      	is not an RTL pass anymore.
      	(pass_profiling): Remove extern decl for pass removed in 2005.
      	(pass_gcse, pass_jump_bypass): Remove.
      	* final.c (rest_of_clean_state): Set flag_rerun_cse_after_global_opts
      	to 0 for clean state.
      	* toplev.h (flag_rerun_cse_after_global_opts): Add extern declaration.
      	* cse.c (gate_handle_cse_after_global_opts,
      	rest_of_handle_cse_after_global_opts): New functions.
      	(pass_cse_after_global_opts): New pass, does local CSE.
      	* timevar.def (TV_GCSE, TV_CPROP1, TV_CPROP2, TV_BYPASS): Remove.
      	(TV_CPROP): New timevar.
      	* gcse.c (flag_rerun_cse_after_global_opts): New global variable.
      	(run_jump_opt_after_gcse, max_gcse_regno): Remove global vars.
      	(gcse_main, recompute_all_luids): Remove.
      	(compute_hash_table_work): Call max_reg_num instead of reading
      	max_gcse_regno.
      	(cprop_jump): Don't set run_jump_opt_after_gcse.
      	(constprop_register): Always allow to alter jumps.
      	(cprop_insn): Likewise.
      	(do_local_cprop): Likewise.
      	(local_cprop_pass): Likewise.  Return non-zero if something changed.
      	(cprop): Remove function, fold interesting bits into one_cprop_pass.
      	(find_implicit_sets): Add note about missed optimization opportunity.
      	(one_cprop_pass): Rewrite to be "the" CPROP pass, called from the
      	pass_rtl_cprop execute function.
      	Don't bother tracking the pass number, each pass gets its own dumpfile
      	now anyway.
      	Always allow to alter jumpsand bypass jumps.
      	(bypass_block): Don't ignore regno >= max_gcse_regno, find_bypass_set
      	will just find no suitable set.
      	(pre_edge_insert): Fix dumping, this function is for PRE only.
      	(one_pre_gcse_pass): Rewrite to be "the" PRE pass, called from the
      	pass_rtl_pre execute function.
      	(hoist_code): Return non-zero if something changed.  Keep track of
      	substitutions and insertions for statistics gathering similar to PRE.
      	(one_code_hoisting_pass): Rewrite to be "the" code hoisting pass,
      	called from the pass_rtl_hoist execute function.  Show pass statistics.
      	(compute_store_table): Use max_reg_num directly instead of using the
      	formerly global max_gcse_regno.
      	(build_store_vectors): Likewise.
      	(replace_store_insn): Fix dumping.
      	(store_motion): Rename to ...
      	(one_store_motion_pass): ... this.  Rewrite to be "the" STORE_MOTION
      	pass, called from the pass_rtl_store_motion execute function.  Keep
      	track of substitutions and insertions for statistics gathering similar
      	to PRE.
      	(bypass_jumps): Remove, fold interesting bits into ...
      	(one_cprop_pass): ... this.  Rewrite to be "the" CPROP pass, called
      	from the pass_rtl_cprop execute function.
      	(gate_handle_jump_bypass, rest_of_handle_jump_bypass,
      	pass_jump_bypass): Remove.
      	(gate_handle_gcse, rest_of_handle_gcse): Remove.
      	(gate_rtl_cprop, execute_rtl_cprop, pass_rtl_cprop): New.
      	(gate_rtl_pre, execute_rtl_pre, pass_rtl_pre): New.
      	(gate_rtl_hoist, execute_rtl_hoist, pass_rtl_hoist): New.
      	(gate_rtl_store_motion, execute_rtl_store_motion,
      	pass_rtl_store_motion): New.
      	* common.opt: Remove flag_cse_skip_blocks, adjust documentation to
      	make it clear that -fcse-skip-blocks is a no-op for backward compat.
      	* passes.c (init_optimization_passes): Remove pass_gcse and
      	pass_jump_bypass.  Schedule cprop, pre, hoist, cprop, store_motion,
      	and cse_after_global_opts in place of pass_gcse.  Schedule cprop
      	instead of pass_jump_bypass.
      
      From-SVN: r146848
      Steven Bosscher committed
    • re PR c/39928 (gimplify_expr failure) · c685de4a
      2009-04-27  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/39928
      	* gimplify.c (gimplify_expr): If we are required to create
      	a temporary make sure it ends up as register.
      
      	* gcc.c-torture/compile/pr39928-1.c: New testcase.
      	* gcc.c-torture/compile/pr39928-2.c: Likewise.
      
      From-SVN: r146846
      Richard Guenther committed
    • re PR c/39903 (ICE on flexible member) · 72d41f29
      gcc/
      
      2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39903
      	* config/i386/i386.c (construct_container): Don't call
      	gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
      	X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS.
      
      gcc/testsuite/
      
      2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39903
      	* gcc.dg/torture/pr39903-1.c: New.
      	* gcc.dg/torture/pr39903-2.c: Likewise.
      
      From-SVN: r146842
      H.J. Lu committed
    • Add dump file checks for sms tests · bd639075
      From-SVN: r146838
      Revital Eres committed
    • ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap. · e97809c6
      	* ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
      	(get_gimple_for_ssa_name): Adjust, lookup using SSA_NAME_DEF_STMT.
      	* tree-ssa-live.h: (find_replaceable_exprs): Return a bitmap.
      	(dump_replaceable_exprs): Take a bitmap.
      	* cfgexpand.c (gimple_cond_pred_to_tree): Handle bitmap instead of
      	array.
      	(expand_gimple_basic_block): Likewise.
      	* tree-ssa-ter.c (struct temp_expr_table_d): Make
      	replaceable_expressions member a bitmap.
      	(free_temp_expr_table): Pass back and deal with bitmap, not gimple*.
      	(mark_replaceable): Likewise.
      	(find_replaceable_in_bb, dump_replaceable_exprs): Likewise.
      	* tree-outof-ssa.c (remove_ssa_form): 'values' is a bitmap.
      
      From-SVN: r146837
      Michael Matz committed
    • re PR java/38374 (constant pool references have wrong types in ADDR_EXPR) · 211ca15c
      2009-04-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (remove_useless_stmts): Verify stmts afterwards.
      	(verify_stmts): Dispatch to gimple/type verification code.
      	* tree-inline.c (remap_gimple_op_r): Work around C++ FE
      	issue with call argument types.
      
      	java/
      	PR java/38374
      	* constants.c (build_constants_constructor): Retain the old
      	pointer type as valid TYPE_POINTER_TO after patching the
      	type of the constant pool decl.
      
      From-SVN: r146831
      Richard Guenther committed
    • tree-into-ssa.c (regs_to_rename, [...]): Remove. · fca5f3d1
              * tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove.
              (init_update_ssa, delete_update_ssa, update_ssa): Remove references
              to above.
      
      From-SVN: r146830
      Michael Matz committed
    • resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up a label's basic block. · a1fa3e79
      	* resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
      	a label's basic block.
      	(mark_target_live_regs): Tidy and rework obsolete comments.
      	Change back DF problem to LIVE.  If a label starts a basic block,
      	assume that all registers that used to be live then still are.
      	(init_resource_info): If a label starts a basic block, set its
      	BLOCK_FOR_INSN accordingly.
      	(fini_resource_info): Undo the setting of BLOCK_FOR_INSN.
      
      From-SVN: r146829
      Eric Botcazou committed
    • tree-flow-inline.h (function_ann): Remove. · 33b223c0
      2009-04-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow-inline.h (function_ann): Remove.
      	(get_function_ann): Likewise.
      	* tree-dfa.c (create_function_ann): Remove.
      	* tree-flow.h (struct static_var_ann_d): Remove.
      	(struct function_ann_d): Likewise.
      	(union tree_ann_d): Remove fdecl member.
      	(function_ann_t): Remove.
      	(function_ann, get_function_ann, create_function_ann): Remove
      	declarations.
      
      From-SVN: r146828
      Richard Guenther committed
    • alpha.c (code_for_builtin): Declare as enum insn_code. · e3136fa2
      	* config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.
      
      From-SVN: r146826
      Uros Bizjak committed