1. 09 May, 2008 6 commits
    • Makefile.am (LTLDFLAGS): New. · 7afa92c5
          libgfortran/
          * Makefile.am (LTLDFLAGS): New.
          (libgfortran_la_LDFLAGS): Use above.
          * Makefile.in: Regenerate.
      
          libffi/
          * Makefile.am (LTLDFLAGS): New.
          (libffi_la_LDFLAGS): Use above.
          * Makefile.in: Regenerate.
      
          libobjc/
          * Makefile.in (LTLDFLAGS): New.
          (libobjc$(libsuffix).la, libobjc_gc$(libsuffix).la): Use above.
      
      From-SVN: r135112
      Julian Brown committed
    • invoke.texi (-fdump-tree-salias): Remove documentation. · 1353232d
      2008-05-08  Richard Guenther  <rguenther@suse.de>
      
      	* doc/invoke.texi (-fdump-tree-salias): Remove documentation.
      	(-ftree-salias): Likewise.
      	(salias-max-implicit-fields): Remove param documentation.
      	(salias-max-array-elements): Likewise.
      	* tree-pass.h (pass_create_structure_vars): Remove.
      	* params.h (SALIAS_MAX_IMPLICIT_FIELDS): Remove.
      	(SALIAS_MAX_ARRAY_ELEMENTS): Likewise.
      	* tree-ssa-alias.c (create_structure_vars): Remove.
      	(gate_structure_vars): Likewise.
      	(pass_create_structure_vars): Likewise.
      	(gate_build_alias): Likewise.
      	(pass_build_alias): Adjust to run always and dump the function.
      	* common.opt (ftree-salias): Hide.
      	* passes.c (init_optimization_passes): Remove
      	pass_create_structure_vars, adjust comment.
      	* params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): Remove.
      	(PARAM_SALIAS_MAX_ARRAY_ELEMENTS): Likewise.
      	* opts.c (decode_options): Do not set flag_tree_salias.
      	(common_handle_option): Add OPT_ftree_salias to the backward
      	compatibility section.
      
      	* gcc.dg/tree-ssa/20040911-1.c: Adjust.
      	* gcc.dg/tree-ssa/20040517-1.c: Likewise.
      	* gcc.dg/tree-ssa/pr26421.c: Likewise.
      	* gcc.dg/tree-ssa/pr23382.c: Likewise.
      	* gcc.dg/tree-ssa/alias-15.c: Likewise.
      	* gcc.dg/tree-ssa/inline_asm-1.c: Likewise.
      	* gcc.dg/tree-ssa/inline_asm-2.c: Likewise.
      	* gcc.dg/tree-ssa/pta-fp.c: Likewise.
      	* gcc.dg/tree-ssa/20031015-1.c: Likewise.
      	* gcc.dg/tree-ssa/alias-12.c: Likewise.
      
      From-SVN: r135111
      Richard Guenther committed
    • tree-flow-inline.h (var_can_have_subvars): Move ... · 31de5b77
      2008-05-08  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow-inline.h (var_can_have_subvars): Move ...
      	* tree-ssa-structalias.c (var_can_have_subvars): ... here.
      	* tree-flow.h (var_can_have_subvars): Remove.
      	(push_fields_onto_fieldstack): Remove.
      	(sort_fieldstack): Likewise.
      	(struct fieldoff): Move ...
      	* tree-ssa-structalias.c (struct fieldoff): ... here.  Remove
      	alias_set and base_for_components fields.
      	(sort_fieldstack): Make static.
      	(push_fields_onto_fieldstack): Likewise.  Remove code that
      	handles anything but RECORD_TYPEs.  Remove alias_set and
      	base_for_components handling.
      	(create_variable_info_for): Adjust.
      
      From-SVN: r135110
      Richard Guenther committed
    • re PR fortran/36162 (Non-ASCII character in module string gives ICE) · 3ee6cb3f
              PR fortran/36162
      
              * module.c (quote_string, unquote_string,
              mio_allocated_wide_string): New functions.
              (mio_expr): Call mio_allocated_wide_string where needed.
      
      	* gfortran.dg/module_widestring_1.f90: New test.
      
      From-SVN: r135109
      Francois-Xavier Coudert committed
    • Formatting fix. · b70837af
      From-SVN: r135106
      Ben Elliston committed
    • Daily bump. · 78a3d80d
      From-SVN: r135101
      GCC Administrator committed
  2. 08 May, 2008 21 commits
    • common.opt (Wframe-larger-than=): Shorten the help message to one line. · c1a3620a
      2008-05-08  Seongbae Park  <seongbae.park@gmail.com>
      	* common.opt (Wframe-larger-than=): Shorten the help message
      	to one line.
      	* doc/invoke.texi (Wframe-larger-than=): Add more description.
      
      From-SVN: r135097
      Seongbae Park committed
    • tree-complex.c (expand_complex_div_wide): Don't create CONDs that trap. · 04b03edb
      	* tree-complex.c (expand_complex_div_wide): Don't create CONDs that
      	trap.
      	* tree-gimple.c (is_gimple_condexpr): Check that the expression doesn't
      	trap and that both operands are gimple values.
      	(canonicalize_cond_expr_cond): Use is_gimple_condexpr.
      	* gcc/tree-eh.c (tree_could_trap_p): Correctly detect if a comparison
      	is a fp operation.
      
      	* gcc/testsuite/gcc.dg/vect/vect-111.c: Rename to no-trapping-math-vect-111.c
      	* gcc/testsuite/gcc.dg/vect/vect-ifcvt-11.c: Rename to no-trapping-math-vect-ifcvt-11.c
      	* gcc/testsuite/gcc.dg/vect/vect-ifcvt-12.c: Rename to no-trapping-math-vect-ifcvt-12.c
      	* gcc/testsuite/gcc.dg/vect/vect-ifcvt-13.c: Rename to no-trapping-math-vect-ifcvt-13.c
      	* gcc/testsuite/gcc.dg/vect/vect-ifcvt-14.c: Rename to no-trapping-math-vect-ifcvt-14.c
      	* gcc/testsuite/gcc.dg/vect/vect-ifcvt-15.c: Rename to no-trapping-math-vect-ifcvt-15.c
      
      From-SVN: r135093
      Rafael Avila de Espindola committed
    • read-rtl.c (join_c_conditions): Return the first string if the two strings are equal. · 96c92f47
      gcc/
      	* read-rtl.c (join_c_conditions): Return the first string if the
      	two strings are equal.
      
      From-SVN: r135091
      Richard Sandiford committed
    • gensupport.h (pred_data): Add a "num_codes" field. · e663da80
      gcc/
      	* gensupport.h (pred_data): Add a "num_codes" field.
      	(add_predicate_code): Declare.
      	* gensupport.c (add_predicate_code): New function.
      	(std_pred_table): Add an "allows_const_p" field.
      	(std_preds): Set this field for predicates that allow RTX_CONST_OBJs.
      	Remove the (incomplete) list of such codes from the codes field.
      	(init_predicate_table): Use add_predicate_code.  Add all
      	RTX_CONST_OBJs if allows_const_p is true.
      	* genrecog.c (process_define_predicate): Use add_predicate_code.
      
      From-SVN: r135090
      Richard Sandiford committed
    • target-supports.exp (check_effective_target_sync_int_long): Add mips*-*-*. · 977502ff
      2008-05-08  David Daney  <ddaney@avtrex.com>
      
      	* lib/target-supports.exp (check_effective_target_sync_int_long): Add
      	mips*-*-*.
      	(check_effective_target_sync_char_short): Same.
      
      
      2008-05-08  David Daney  <ddaney@avtrex.com>
      	    Richard Sandiford  <rsandifo@nildram.co.uk>
      	
      	* config/mips/mips.md (mips_expand_compare_and_swap_12): Handle
      	special case of constant zero operands.
      	* config/mips/mips.c (mips_expand_compare_and_swap_12): Zero extend
      	old and	new values.  Special case constant zero values.
      	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Skip 'sync' if compare
      	fails.
      	(MIPS_COMPARE_AND_SWAP_12): Handle constant zero operands.
      	(MIPS_COMPARE_AND_SWAP_12_0): New macro.
      
      
      Co-Authored-By: Richard Sandiford <rsandifo@nildram.co.uk>
      
      From-SVN: r135088
      David Daney committed
    • re PR target/36090 (ppc64 cacoshl miscompilation) · 627ab861
      2008-05-08  Paolo Bonzini  <bonzini@gnu.org>
      
              PR target/36090
              * simplify-rtx.c (simplify_plus_minus): Create CONST of
              similar RTX_CONST_OBJ before CONST_INT.
      
      From-SVN: r135086
      Paolo Bonzini committed
    • * stmt.c (expand_stack_restore): Change sa mode if needed. · 41ccb5d1
      From-SVN: r135085
      Steve Ellcey committed
    • patch_tester.sh (report): Do not print "Checker: ". · a3ced85e
      2008-05-08  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* patch_tester.sh (report): Do not print "Checker: ".
      
      From-SVN: r135083
      Sebastian Pop committed
    • ChangeLog: Whitespace fixes. · d7822892
      	* ChangeLog: Whitespace fixes.
      	* testsuite/Changelog: Ditto.
      
      From-SVN: r135081
      Uros Bizjak committed
    • i386-protos.h (ix86_return_in_memory): Adjust return type to bool. · e8d6aaee
      2008-05-08  Richard Guenther  <rguenther@suse.de>
      
      	* config/i386/i386-protos.h (ix86_return_in_memory): Adjust
      	return type to bool.
      	(ix86_sol10_return_in_memory): Likewise.
      	(ix86_i386elf_return_in_memory): Likewise.
      	(ix86_i386interix_return_in_memory): Likewise.
      	* config/i386/i386.c (ix86_return_in_memory): Likewise.
      	(ix86_sol10_return_in_memory): Likewise.
      	(ix86_i386elf_return_in_memory): Likewise.
      	(ix86_i386interix_return_in_memory): Likewise.
      
      From-SVN: r135080
      Richard Guenther committed
    • calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to fndecl argument. · 033df0b9
      2008-05-08  Kai Tietz  <kai.tietz@onevision.com>
      
      	PR/36180
      	* calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to
      	fndecl argument.
      	(emit_library_call_value_1): Add ATTRIBUTE_UNUSED to variable
      	fndecl.
      	* target-def.h: Check that TARGET_RETURN_IN_MEMORY isn't declared in front.
      
      From-SVN: r135079
      Kai Tietz committed
    • utils.c (handle_pure_attribute, [...]): Rename DECL_IS_PURE to DECL_PURE_P. · a1b66071
      * utils.c (handle_pure_attribute, init_gigi_decls): Rename
      DECL_IS_PURE to DECL_PURE_P.
      
      From-SVN: r135078
      Andreas Schwab committed
    • tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS. · 5611cf0b
      2008-05-08  Richard Guenther  <rguenther@suse.de>
      
      	* tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS.
      	* tree-data-ref.h (struct dr_alias): Remove subvars field.
      	(DR_SUBVARS): Remove.
      	* tree-dfa.c (dump_subvars_for): Remove.
      	(debug_subvars_for): Likewise.
      	(dump_variable): Do not dump subvars.
      	(remove_referenced_var): Do not remove subvars.
      	* tree-flow-inline.h (clear_call_clobbered): SFTs no longer exist.
      	(lookup_subvars_for_var): Remove.
      	(get_subvars_for_var): Likewise.
      	(get_subvars_at): Likewise.
      	(get_first_overlapping_subvar): Likewise.
      	(overlap_subvar): Likewise.
      	* tree-flow.h (subvar_t): Remove.
      	(struct var_ann_d): Remove subvars field.
      	* tree-ssa-alias.c (mark_aliases_call_clobbered): Remove queued
      	argument.  Remove special handling of SFTs.
      	(compute_tag_properties): Likewise.
      	(set_initial_properties): Likewise.
      	(compute_call_clobbered): Likewise.
      	(count_mem_refs): Likewise.
      	(compute_memory_partitions): Likewise.
      	(compute_flow_insensitive_aliasing): Likewise.
      	(setup_pointers_and_addressables): Likewise.
      	(new_type_alias): Likewise.
      	(struct used_part): Remove.
      	(used_portions): Likewise.
      	(struct used_part_map): Likewise.
      	(used_part_map_eq): Likewise.
      	(used_part_map_hash): Likewise.
      	(free_used_part_map): Likewise.
      	(up_lookup): Likewise.
      	(up_insert): Likewise.
      	(get_or_create_used_part_for): Likewise.
      	(create_sft): Likewise.
      	(create_overlap_variables_for): Likewise.
      	(find_used_portions): Likewise.
      	(create_structure_vars): Likewise.
      	* tree.def (STRUCT_FIELD_TAG): Remove.
      	* tree.h (MTAG_P): Adjust.
      	(struct tree_memory_tag): Remove base_for_components and
      	unpartitionable flags.
      	(struct tree_struct_field_tag): Remove.
      	(SFT_PARENT_VAR): Likewise.
      	(SFT_OFFSET): Likewise.
      	(SFT_SIZE): Likewise.
      	(SFT_NONADDRESSABLE_P): Likewise.
      	(SFT_ALIAS_SET): Likewise.
      	(SFT_UNPARTITIONABLE_P): Likewise.
      	(SFT_BASE_FOR_COMPONENTS_P): Likewise.
      	(union tree_node): Remove sft field.
      	* alias.c (get_alias_set): Remove special handling of SFTs.
      	* print-tree.c (print_node): Remove handling of SFTs.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* tree-into-ssa.c (mark_sym_for_renaming): Likewise.
      	* tree-nrv.c (dest_safe_for_nrv_p): Remove special handling of SFTs.
      	* tree-predcom.c (set_alias_info): Do not set subvars.
      	* tree-pretty-print.c (dump_generic_node): Do not handle SFTs.
      	* tree-ssa-loop-ivopts.c (get_ref_tag): Likewise.
      	* tree-ssa-operands.c (access_can_touch_variable): Likewise.
      	(add_vars_for_offset): Remove.
      	(add_virtual_operand): Remove special handling of SFTs.
      	(add_call_clobber_ops): Likewise.
      	(add_call_read_ops): Likewise.
      	(get_asm_expr_operands): Likewise.
      	(get_modify_stmt_operands): Likewise.
      	(get_expr_operands): Likewise.
      	(add_to_addressable_set): Likewise.
      	* tree-ssa.c (verify_ssa_name): Do not handle SFTs.
      	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
      	* tree-vect-transform.c (vect_create_data_ref_ptr): Do not
      	set subvars.
      	* tree.c (init_ttree): Remove STRUCT_FIELD_TAG initialization.
      	(tree_code_size): Remove STRUCT_FIELD_TAG handling.
      	(tree_node_structure): Likewise.
      	* tree-ssa-structalias.c (set_uids_in_ptset): Remove special
      	handling of SFTs.
      	(find_what_p_points_to): Likewise.
      
      From-SVN: r135077
      Richard Guenther committed
    • pr36172.c: Replace unsigned long by __SIZE_TYPE__. · 8e17a4cf
      2008-05-08  Kai Tietz  <kai.tietz@onevision.com>
      
              * gcc.c-torture/compile/pr36172.c: Replace unsigned long by
              __SIZE_TYPE__.
      
      From-SVN: r135076
      Kai Tietz committed
    • fixed subti3 pattern · fb4b5171
      From-SVN: r135075
      Sa Liu committed
    • test subti3 · dc491849
      From-SVN: r135074
      Sa Liu committed
    • fixed subti3 pattern · f51de793
      From-SVN: r135073
      Sa Liu committed
    • re PR middle-end/36154 (internal compiler error: in… · 1b674de0
      re PR middle-end/36154 (internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2727)
      
      2008-05-08  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/36154
      	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
      	sure to create a representative for trailing arrays for PTA.
      
      	* gcc.c-torture/compile/pr36154.c: New testcase.
      
      From-SVN: r135071
      Richard Guenther committed
    • re PR middle-end/36172 (ice for legal code with -O3) · b13e7b6c
      2008-05-08  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/36172
      	* fold-const.c (operand_equal_p): Two objects which types
      	differ in pointerness are not equal.
      
      	* gcc.c-torture/compile/pr36172.c: New testcase.
      
      From-SVN: r135070
      Richard Guenther committed
    • 2008-05-07 Kai Tietz <kai,tietz@onevision.com> · 81464b2c
      	* calls.c (compute_argument_block_size): Add argument tree fndecl.
      	(OUTGOING_REG_PARM_STACK_SPACE): Add function type argument.
      	(emit_library_call_value_1): Add new variable fndecl initialized by
      	NULL_TREE. It should be the decl type of orgfun, but this information
      	seems not to be available here, so it uses the default calling abi.
      	* config/arm/arm.c (arm_return_in_memory): Add fntype argumen.
      	* config/arm/arm.h (RETURN_IN_MEMORY): Replace RETURN_IN_MEMORY
      	by TARGET_RETURN_IN_MEMORY.
      	* config/i386/i386-interix.h: Likewise.
      	* config/i386/i386.h: Likewise.
      	* config/i386/i386elf.h: Likewise.
      	* config/i386/ptx4-i.h: Likewise.
      	* config/i386/sol2-10.h: Likewise.
      	* config/i386/sysv4.h: Likewise.
      	* config/i386/vx-common.h: Likewise.
      	* config/cris/cris.h: Removed #if 0 clause.
      	* config/arm/arm-protos.h (arm_return_in_memory): Add fntype
      	argument.
      	* config/i386/i386-protos.h (ix86_return_in_memory): Add fntype
      	argument.
      	(ix86_sol10_return_in_memory): Likewise.
      	(ix86_i386elf_return_in_memory): New.
      	(ix86_i386interix_return_in_memory): New.
      	* config/mt/mt-protos.h (mt_return_in_memory): New.
      	* config/mt/mt.c: Likewise.
      	* config/mt/mt.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument.
      	(RETURN_IN_MEMORY):  Replace by TARGET_RETURN_IN_MEMORY.
      	* config/bfin/bfin.h: Likewise.
      	* config/bfin/bfin-protos.h (bfin_return_in_memory): Add fntype
      	argument.
      	* config/bfin/bfin.c: Likewise.
      	* config/pa/pa.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument.
      	* config/alpha/unicosmk.h: Likewise.
      	* config/i386/cygming.h: Likewise.
      	* config/iq2000/iq2000.h: Likewise.
      	* config/mips/mips.h: Likewise.
      	* config/mn10300/mn10300.h: Likewise.
      	* config/rs6000/rs6000.h: Likewise.
      	* config/score/score.h: Likewise.
      	* config/spu/spu.h: Likewise.
      	* config/v850/v850.h: Likewise.
      	* defaults.h: Likewise.
      	* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Adjust documentation.
      	* expr.c (emit_block_move): Adjust use of OUTGOING_REG_PARM_STACK_SPACE.
      	* function.c (STACK_DYNAMIC_OFFSET): Adjust use of
      	OUTGOING_REG_PARM_STACK_SPACE.
      	* targhooks.c (default_return_in_memory): Remove RETURN_IN_MEMORY.
      
      From-SVN: r135069
      Kai Tietz committed
    • Daily bump. · 2fada7f3
      From-SVN: r135064
      GCC Administrator committed
  3. 07 May, 2008 13 commits
    • re PR debug/35896 (gfortran TLS symbols broken with debug info) · 1f16b47c
      	PR debug/35896
      	* dwarf2out.c (dw_expand_expr, common_check): Removed.
      	(fortran_common): New function.
      	(gen_variable_die): Call fortran_common instead of common_check,
      	adjust for it returning tree instead of rtx.    Formatting.
      
      From-SVN: r135060
      Jakub Jelinek committed
    • tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT on OMP_RETURN for OMP_FOR. · 4218dc2d
      	* tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT
      	on OMP_RETURN for OMP_FOR.
      
      From-SVN: r135059
      Jakub Jelinek committed
    • [multiple changes] · becfd6e5
      2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
      
              PATCH rtl/7335
              PATCH rtl/33826
              * see.c (see_copy_insn): Copy new pure const attributes for new
              call.
              * c-decl.c (merge_decls): Ditto.
              * postreload.c (record_opr_changes): Change CONST_OR_PURE_CALL_P
              to RTL_CONST_OR_PURE_CALL_P.
              * tree.c (define_local_buitin): Rename DECL_IS_PURE to
              DECL_PURE_P.  Initialized DECL_LOOPING_CONST_PURE.
              (process_call_operands): Set tree_side_effects properly.
              * tree.h (TREE_READONLY_DECL_P): Removed.
              (DECL_IS_PURE): Renamed to DECL_PURE_P.
              (DECL_LOOPING_OR_CONST_P): New macro.
              (struct tree_function_decl): Added looping_const_or_pure_p.
              (ECF_*) Renumbered.
              (ECF_LOOPING_OR_CONST_P): New macro,
              * rtlanal.c (pure_const_p): Removed.
              * builtins.c (expand_builtin): Rename DECL_IS_PURE to DECL_PURE_P.
              * reorg.c (delete_prior_computation) Changed CONST_OR_PURE_CALL_P
              to RTL_CONST_CALL_P.
              * ipa-pure-const.c (pure_const_state_e): Added looping field.
              (check_decl, check_tree, check_call, scan_function): Initialize
              looping.
              (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P.
              (static_execute): Set looping true for recursive functions.
              Undo setting state to IPA_NEITHER for recursive functions.
              * cse.c (cse_insn): 
              * ifcvt.c (noce_can_store_speculate_p): Changed
              CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or 
              RTL_CONST_OR_PURE_CALL_P.
              * dse.c (scan_insn): Ditto.
              * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto.
              * gcse.c (oprs_not_seen_p) Changed CONST_OR_PURE_CALL_P to
              RTL_CONST_OR_PURE_CALL_P.
              (store_killed_in_insn): Changed CONST_OR_PURE_CALL_P and
              pure_call_p to RTL_CONST_CALL_P.
              * gimplify.c (gimplify_call_expr): Clear side effects for
              non-looping pure and constant calls.
              * calls.c (emit_call_1): Set rtl flags from ecf flags.
              (flags_from_decl_or_type): Set ecf flags from decl flags.
              (initialize_argument_information): Turn off
              ECF_LOOPING_CONST_OR_PURE when turning off ECF_CONST.
              Change const to pure if callee_copies is true rather than just
              turning off const.
              (expand_call): Turn off ECF_LOOPING_PURE_CONST_CALL and remove old
              way of marking pure calls.
              (emit_library_call_value_1): Turn off ECF_LOOPING_PURE_CONST_CALL.
              Remove hack that was supposed to fix pr7335 and remove old
              way of marking pure calls.
              * emit-rtl.c (emit_copy_of_insn_after): Copy RTL_CONST_CALL_P,
              RTL_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P.
              * cselib.c (cselib_process_insn): Changed CONST_OR_PURE_CALL_P to
              RTL_CONST_OR_PURE_CALL_P.
              * tree-ssa-pre.c (can_value_number_call): Fixed spacing.
              * loop-invariant.c (find_exits, find_invariant_bb): Changed
              CONST_OR_PURE_CALL_P to RTL_CONST_OR_PURE_CALL_P.
              * sched-deps.c (schedule_analyze): Ditto.
              * rtl.h (struct rtx_def): Use call field, unchanging field, and
              return_val field of calls to represent pure and const function
              info.
              (CONST_OR_PURE_CALL_P): Deleted macro.
              (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
              RTL_LOOPING_CONST_OR_PURE_CALL_P, RTL_CONST_OR_PURE_P): New macros.
              * tree-inline.c (copy_body_r): Changed TREE_READONLY_DECL_P to
              TREE_READONLY.
              * tree-optimize.c (execute_fixup_cfg): Added test for
              ECF_LOOPING_CONST_OR_PURE.
              * c-common.c (handle_pure_attribute): Changed DECL_IS_PURE to
              DECL_PURE_P.
              * tree-cfg.c (update_call_expr_flags): Do not clear tree side
              effects for looping pure or const calls.
              (verify_gimple_expr): Added verification code. 
              * config/alpha/alpha.c (alpha_legitimize_address,
              alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to
              RTL_CONST_CALL_P.
              * config/s390/s390.c (s390_emit_tls_call_insn): Ditto.
              * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Ditto.
              * config/mips/mips.c (mips_call_tls_get_addr): Ditto.
              * cfgrtl.c (need_fake_edge_p): Changed CONST_OR_PURE_CALL_P to
              RTL_CONST_OR_PURE_CALL_P.
              * dce.c (deletable_insn_p): Allow non looping, non sibling, pure
              and const calls to be deleted.
      
      java:
      2008-05-07  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* decl.c (java_init_decl_processing): Change DECL_IS_PURE to
      	DECL_PURE_P.
      
      cp:
      2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	 * decl.c (duplicate_decls): Merge in DECL_PURE_P, TREE_READONLY,
      	 DECL_LOOPING_CONST_OR_PURE_P attributes.
      	 * rtti.c (build_dynamic_cast_1): Rename DECL_IS_PURE to
      	 DECL_PURE_P.
      
      gfortran:
      2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	 * trans-decl.c (gfc_get_extern_function_decl, build_function_decl):
      	 Rename DECL_IS_PURE to DECL_PURE_P.
      
      From-SVN: r135053
      Kenneth Zadeck committed
    • * sv.po: Update. · d3204584
      From-SVN: r135049
      Joseph Myers committed
    • i386.c (struct_builtin_description): Use CODE_FOR_sse_loadhps_exp. · 3a3f9d87
              * config/i386/i386.c (struct_builtin_description)
              [IX86_BUILTIN_LOADHPS]: Use CODE_FOR_sse_loadhps_exp.
              [IX86_BUILTIN_STOREHPS]: Use CODE_FOR_sse_loadlps_exp.
              [IX86_BUILTIN_LOADHPD]: Use CODE_FOR_sse2_loadhpd_exp.
              [IX86_BUILTIN_LOADLPD]: Use CODE_FOR_sse2_loadlpd_exp.
              [IX86_BUILTIN_MOVHLPS]: Use CODE_FOR_sse_movhlps_exp.
              [IX86_BUILTIN_MOVLHPS]: Use CODE_FOR_sse_movlhps_exp.
              [IX86_BUILTIN_UNPCKHPD]: Use FOR_sse2_unpckhpd_exp.
              [IX86_BUILTIN_UNPCKLPD]: Use FOR_sse2_unpcklpd_exp.
      
      From-SVN: r135047
      Uros Bizjak committed
    • re PR target/35714 (x86 poor code with pmaddwd) · ffbaf337
      	PR target/35714
      	* config/i386/mmx.md (mmx_subv2sf3): New expander.
      	(*mmx_subv2sf3): Rename from mmx_subv2sf3 insn pattern.
      	(*mmx_eqv2sf3): Rename from mmx_eqv2sf3 insn pattern.
      	(mmx_eqv2sf3): New expander.  Use ix86_fixup_binary_operands_no_copy
      	to handle nonimmediate operands.
      	(*mmx_paddwd): Rename from mmx_paddwd insn pattern.
      	(mmx_paddwd): New expander.  Use ix86_fixup_binary_operands_no_copy
      	to handle nonimmediate operands.
      	(*mmx_pmulhrwv4hi3): Rename from mmx_pmulhrwv4hi3 insn pattern.
      	(mmx_pmulhrwv4hi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_umulv1siv1di3): Rename from sse2_umulv1siv1di3 insn pattern.
      	(sse2_umulv1siv1di3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*mmx_eq<mode>3): Rename from mmx_eq<mode>3 insn pattern.
      	(mmx_eq<mode>3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*mmx_uavgv8qi3): Rename from mmx_uavgv8qi3 insn pattern.
      	(mmx_uavgv8qi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*mmx_uavgv4hi3): Rename from mmx_uavgv4hi3 insn pattern.
      	(mmx_uavgv4hi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      
      	* config/i386/sse.md
      	(*sse_movhlps): Rename from sse_movhlps insn pattern.
      	(sse_movhlps): New expander.  Use ix86_fixup_binary_operands
      	to handle nonimmediate operands.
      	(*sse_movlhps): Rename from sse_movlhps insn pattern.
      	(sse_movlhps): New expander.  Use ix86_fixup_binary_operands
      	to handle nonimmediate operands.
      	(*sse_loadhps): Rename from sse_loadhps insn pattern.
      	(sse_loadhps): New expander.  Use ix86_fixup_binary_operands
      	to handle nonimmediate operands.
      	(*sse_loadlps): Rename from sse_loadlps insn pattern.
      	(sse_loadlps): New expander.  Use ix86_fixup_binary_operands
      	to handle nonimmediate operands.
      	(*sse2_unpckhpd): Rename from sse2_unpckhpd insn pattern.
      	(sse2_unpckhpd): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_unpcklpd): Rename from sse2_unpcklpd insn pattern.
      	(sse2_unpcklpd): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse_loadhpd): Rename from sse_loadhpd insn pattern.
      	(sse_loadhpd): New expander.  Use ix86_fixup_binary_operands
      	to handle nonimmediate operands.
      	(*sse_loadlpd): Rename from sse_loadlpd insn pattern.
      	(sse_loadlpd): New expander.  Use ix86_fixup_binary_operands
      	to handle nonimmediate operands.
      	(*sse2_<plusminus_insn><mode>3): Rename from
      	sse2_<plusminus_insn><mode>3 insn pattern.
      	(sse2_<plusminus_insn><mode>3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_umulv2siv2di3): Rename from sse2_umulv2siv2di3 insn pattern.
      	(sse2_umulv2siv2di3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse4_1_mulv2siv2di3): Rename from sse4_1_mulv2siv2di3 insn pattern.
      	(sse4_1_mulv2siv2di3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_pmaddwd): Rename from sse2_pmaddwd insn pattern.
      	(sse2_pmaddwd): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_eq<mode>3): Rename from sse2_eq<mode>3 insn pattern.
      	(sse2_eq<mode>3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse4_1_eqv2di3): Rename from sse4_1_eqv2di3 insn pattern.
      	(sse4_1_eqv2di3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern.
      	(sse2_uavgv16qi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern.
      	(sse2_uavgv16qi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*sse2_uavgv8hi3): Rename from sse2_uavgv8hi3 insn pattern.
      	(sse2_uavgv8hi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*ssse3_pmulhrswv8hi3): Rename from ssse3_pmulhrswv8hi3 insn pattern.
      	(ssse3_pmulhrswv8hi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      	(*ssse3_pmulhrswv4hi3): Rename from ssse3_pmulhrswv4hi3 insn pattern.
      	(ssse3_pmulhrswv4hi3): New expander.  Use
      	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
      
      	(<sse>_vm<plusminus_insn><mode>3): Do not use ix86_binary_operator_ok.
      	(<sse>_vmmul<mode>3): Ditto.
      	(divv4sf3): Do not use ix86_fixup_binary_operands_no_copy.
      	(divv2df3): Ditto.
      	(ssse3_pmaddubsw128): Use register_operand for operand 1.
      	(ssse3_pmaddubsw): Ditto.
      
      	* config/i386/sse.md (ix86_fixup_binary_operands): Assert that src1
      	and src2 must have the same mode when swapped.
      	(ix86_expand_binop_builtin): Do not use ix86_fixup_binary_operands
      	and ix86_binary_operator_ok.  Do not force operands in registers
      	when optimizing.
      
      testsuite/ChangeLog:
      
      	PR target/35714
      	* gcc.target/i386/pr35714.c: New test.
      
      From-SVN: r135041
      Uros Bizjak committed
    • quicksort.h: (parallel_sort_qs_conquer) Explicitly request number of threads in the parallel... · a273a425
      2008-05-07  Johannes Singler  <singler@ira.uka.de>
      
             * include/parallel/quicksort.h:
             (parallel_sort_qs_conquer) Explicitly request number of threads
             in the parallel clause.
             (parallel_sort_qs) Remove setting the number of threads globally.
      
      From-SVN: r135038
      Johannes Singler committed
    • cgraph.c (dump_cgraph_node): Update. · 95622280
      
      	* cgraph.c (dump_cgraph_node): Update.
      	* cgraph.h (cgraph_local_info): Break out inline summary.
      	* cgraphunit.c (cgraph_process_new_functions): Use inliner analysis
      	hook.
      	* ipa-inline (inline_summary): New accestor function.
      	(cgraph_clone_inlined_nodes, cgraph_check_inline_limits,
      	cgraph_decide_inlining, compute_inline_parameters): Update.
      	* ipa.c (cgraph_remove_unreachable_nodes): Remove statistics.
      
      From-SVN: r135037
      Jan Hubicka committed
    • Cleanup ColdFire scheduling support and add V4 pipeline model. · 96fcacb7
      	* config/m68k/m68k.md (UNSPEC_TIE): New constant.
      	(define_attr cpu): Add cfv4 value.
      	(define_attr type, define_attr type1): Merge into a single 'type'
      	attribute.  Update all uses.
      	(define_attr opx_type, define_attr opy_type, define_attr opx_access):
      	Rearrange and update.  Rename value 'reg' to 'Rn', add value 'FPn'.
      	Update all uses.
      	(define_attr opx_mem, define_attr opy_mem): Remove.
      	(define_attr op_mem): Clean up, update comment.
      	(define_attr size): Use specific values instead of general int.
      	(define_attr guess, define_attr split): Remove.  Update all uses.
      	(movdf_internal, tstsi_internal, tsthi_internal, tstqi_internal,
      	tst<mode>_68881, pushexthisi_const, movsi_const0_68000_10,
      	movsi_const0_68040_60, movsi_const0, movsi_cf, movstrictqi_cf,
      	zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2,
      	68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2,
      	floatsi<mode>2_68881, ftrunc<mode>2_68881, ftrunc<mode>2_cf,
      	fix<mode>qi2_68881, fix<mode>hi2_68881, fix<mode>si2_68881,
      	adddi_dishl32, addsi3_5200, add<mode>3_floatsi_68881,
      	add<mode>3_floathi_68881, add<mode>3_floatqi_68881,
      	add<mode>3_68881, add<mode>3_cf, subdi_dishl32, subsi3,
      	sub<mode>3_floatsi_68881, sub<mode>3_floathi_68881,
      	sub<mode>3_floatqi_68881, sub<mode>3_68881, sub<mode>3_cf,
      	mulhi3, mulhisi3, mulhisisi3_s, mulsi3_68020, mulsi3_cf,
      	umulhisi3, mulhisisi3_z, mul<mode>3_floatsi_68881,
      	mul<mode>3_floathi_68881, mul<mode>3_floatqi_68881, fmul<mode>3_cf,
      	div<mode>3_cf, sqrt<mode>2_cf, abs<mode>2_cf, clzsi2,
      	one_cmplsi2_5200, subreghi1ashrdi_const32, ashrsi3, lshrsi3,
      	bsetmemqi, bsetmemqi_ext, bclrmemqi, bclrmemqi_ext,
      	beq, bne, bgt, blt, bordered, bunordered, buneq, bunge, bungt, bunle,
      	bunlt, bltgt, tablejump_internal, call, non_symbolic_call_value,
      	symbolic_call_value_jsr, symbolic_call_value_bsr, link):
      	Update or set attributes.
      	(stack_tie): New fake instruction.
      
      	* config/m68k/m68k.h (TUNE_CFV4): New macro.
      	(m68k_sched_attr_size): Update declaration.
      	(m68k_sched_attr_type2): Remove.
      	(m68k_sched_address_bypass_p, m68k_sched_indexed_address_bypass_p):
      	Declare new bypass predicates.
      
      	* config/m68k/m68k.c (m68k_sched_issue_rate,
      	m68k_sched_first_cycle_multipass_dfa_lookahead): Declare hook
      	implementations.
      	(TARGET_SCHED_ISSUE_RATE,
      	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Override hooks.
      	(override_options): Handle scheduling for ColdFire V4 core.
      	(m68k_expand_prologue): Emit stack_tie.
      	(enum attr_op_type): Split value 'OP_TYPE_REG' to 'OP_TYPE_RN' and
      	'OP_TYPE_FPN'.  Update all uses.
      	(sched_guess_p): Remove.
      	(sched_address_type): Handle symbolic addresses.
      	(sched_get_operand): New static function.
      	(sched_operand_type): Merge into sched_attr_op_type.
      	(sched_attr_op_type): Handle FP registers, handle quick constants,
      	update.
      	(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type): Update.
      	(m68k_sched_attr_size): Update.  Move logic to ...
      	(sched_get_attr_size_int): New static function.
      	(sched_get_opxy_mem_type): New static function.
      	(m68k_sched_attr_op_mem): Update.
      	(m68k_sched_attr_type2): Remove.
      	(sched_cfv4_bypass_data): New static variable.
      	(m68k_sched_adjust_cost): Handle ColdFire V4 bypass.
      	(m68k_sched_issue_rate): Implement scheduler hook.
      	(struct _sched_ib: enabled_p): New field.
      	(m68k_sched_variable_issue): Update.  Handle V4.
      	(SCHED_DUMP_TODO, SCHED_DUMP_DONE, SCHED_DUMP_NOTHING,
      	sched_dump_class_func_t, sched_dump_split_class,
      	sched_dump_dfa_guess_unit_code, sched_dump_dfa_state,
      	sched_dump_dfa_class, m68k_sched_dump): Remove.
      	(m68k_sched_first_cycle_multipass_dfa_lookahead): Implement scheduler
      	hook.
      	(m68k_sched_init_global): Remove statisctics dumping, introduce
      	sanity check that all instructions have pipeline reservations.  Handle
      	ColdFire V4 core.
      	(m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle):
      	Handle ColdFire V4 core.
      	(sched_mem_operand_p, sched_get_reg_operand, sched_get_mem_operand):
      	New static functions.
      	(m68k_sched_address_bypass_p): New bypass predicate.
      	(sched_get_indexed_address_scale): New static function.
      	(m68k_sched_indexed_address_bypass_p): New bypass predicate.
      
      	* cf.md: Update comments.
      	(define_attr type2): Remove.  Use 'type' attribute instead.
      	Update all uses.
      	(cf_ib): Rename to cfv123_ib.  Update all uses.
      	(cf_oep): Rename to cfv123_oep.  Update all uses.
      	(cf_chr): Rename to cfv123_chr.  Update all uses.
      	(cf_mem): Rename to cfv123_mem.  Update all uses.
      	(cf_mac): Move to more appropriate place.
      	(cfv123_guess): New automaton and cpu_unit.
      	(cfv123_*, cfv12_*, cfv1_*, cfv2_*, cfv3_*): Use type attribute.
      	Update uses of 'size' attribute.  Handle before reload scheduling.
      	(cfv123_guess): New dummy reservation for unhandled instructions.
      	(cfv4_*): Pipeline description of ColdFire V4 core.
      	(ignore): New reservation to handle 'ignore' type.
      
      From-SVN: r135033
      Maxim Kuvyrkov committed
    • re PR middle-end/36013 (Wrong code involving restricted pointers to non-restricted pointers) · 2ee510b4
      	PR middle-end/36013
      	* gimplify.c (find_single_pointer_decl_1): Don't look through
      	indirections.
      	(find_single_pointer_decl): Adjust comments.
      
      	* gcc.c-torture/execute/20080506-2.c: New test.
      
      From-SVN: r135029
      Ian Lance Taylor committed
    • re PR middle-end/36137 (gcc can't do math) · f61edbf6
      	PR middle-end/36137
      	* fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of
      	STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR.
      
      	* gcc.c-torture/execute/20080506-1.c: New test.
      
      From-SVN: r135028
      Jakub Jelinek committed
    • re PR middle-end/36106 (#pragma omp atomic issues with floating point types) · c18c98c0
      	PR middle-end/36106
      	* omp-low.c (expand_omp_atomic_pipeline): Load value using the
      	integral type rather than floating point, then VIEW_CONVERT_EXPR
      	to the floating point type.
      
      	* testsuite/libgomp.c/atomic-5.c: New test.
      	* testsuite/libgomp.c/atomic-6.c: New test.
      	* testsuite/libgomp.c/autopar-1.c: New test.
      
      From-SVN: r135027
      Jakub Jelinek committed
    • i386.c (ix86_expand_copysign): Force non-zero constant TFmode op0 to register. · 537d4fa6
      	* config/i386/i386.c (ix86_expand_copysign): Force non-zero constant
      	TFmode op0 to register.
      
      From-SVN: r135025
      Uros Bizjak committed