aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2008-05-10re PR rtl-optimization/33642 (unrecognizable insn for -frtl-abstract-sequences)Richard Sandiford3-0/+10
gcc/testsuite/ PR rtl-optimization/33642 * gcc.c-torture/compile/pr11832.c: Skip for MIPS. * gcc.c-torture/compile/pr33009.c: Likewise. From-SVN: r135142
2008-05-10value-prof.c (interesting_stringop_to_profile): Do not return early for ↵Uros Bizjak2-2/+7
BUILT_IN_MEMPCPY. * value-prof.c (interesting_stringop_to_profile): Do not return early for BUILT_IN_MEMPCPY. From-SVN: r135141
2008-05-10* gcc.dg/pr22231.c: Fix dg-error call.Tom Tromey2-1/+5
From-SVN: r135136
2008-05-09calls.c (expand_call): Don't use callgraph to increase preferred_stack_boundary.H.J. Lu4-3/+21
2008-05-09 H.J. Lu <hongjiu.lu@intel.com> * calls.c (expand_call): Don't use callgraph to increase preferred_stack_boundary. * cgraph.h (cgraph_rtl_info): Use unsigned on preferred_incoming_stack_boundary. * final.c (rest_of_clean_state): Use unsigned on preferred_stack_boundary. From-SVN: r135134
2008-05-10Daily bump.GCC Administrator1-1/+1
From-SVN: r135132
2008-05-09re PR preprocessor/22231 (-MG ignores missing headers even with -c)Tom Tromey4-0/+20
gcc PR preprocessor/22231: * c-opts.c (sanitize_cpp_opts): Disallow -MG if compilation is proceeding. gcc/testsuite PR preprocessor/22231: * gcc.dg/pr22231.c: New file. From-SVN: r135128
2008-05-09re PR tree-optimization/36187 (Partitioning problem with SFTs (again))Richard Biener2-1/+51
2008-05-09 Richard Guenther <rguenther@suse.de> PR tree-optimization/36187 * g++.dg/opt/pr36187.C: New testcase. From-SVN: r135126
2008-05-09re PR tree-optimization/36129 (ICE with -fprofile-use)Uros Bizjak3-1/+14
PR tree-optimization/36129 * tree-ssa-cpp.c: Include value-prof.h. (execute_fold_all_builtins): Call gimple_remove_stmt_histograms if built-in function was folded to a constant. * Makefile.in (tree-ssa-cpp.c): Depend on value-prof.h From-SVN: r135123
2008-05-09tree-scalar-evolution.c: Document instantiate_scev.Jan Sjodin6-62/+161
2008-05-09 Jan Sjodin <jan.sjodin@amd.com> Sebastian Pop <sebastian.pop@amd.com> * tree-scalar-evolution.c: Document instantiate_scev. (instantiate_parameters_1): Renamed instantiate_scev_1. Don't use the same loop for instantiation_loop and evolution_loop. (instantiate_scev): New. (instantiate_parameters): Moved... (resolve_mixers): Update call to instantiate_scev_1 to pass the same loop twice. Maintains the semantics for this function. * tree-scalar-evolution.h (instantiate_scev): Declare. (instantiate_parameters): ...here. Now static inline. * tree-data-ref.c (dr_analyze_indices): Call instantiate_scev instead of resolve_mixers. Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com> From-SVN: r135116
2008-05-09* rtl-factoring.c (collect_pattern_seqs): Fix typo.Maxim Kuvyrkov2-5/+9
From-SVN: r135115
2008-05-09pa.c (reloc_needed): Use CASE_CONVERT.Tomas Bily42-210/+200
* config/pa/pa.c (reloc_needed): Use CASE_CONVERT. * tree-cfg.c (verify_expr, verify_gimple_expr): Likewise. * tree-ssa-structalias.c (get_constraint_for): Likewise. * c-common.c (c_common_truthvalue_conversion): Likewise. * tree-object-size.c (compute_object_offset): Likewise. * tree-inline.c (estimate_num_insns_1): Likewise. * varasm.c (const_hash_1, compare_constant, copy_constant) (compute_reloc_for_constant, output_addressed_constants) (initializer_constant_valid_p): Likewise. * c-omp.c (check_omp_for_incr_expr): Likewise. * gimplify.c (gimplify_expr): Likewise. * c-typeck.c (c_finish_return): Likewise. * tree-vectorizer.c (supportable_widening_operation) (supportable_narrowing_operation): Likewise. * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Likewise. * matrix-reorg.c (can_calculate_expr_before_stmt): Likewise. * expr.c (highest_pow2_factor, expand_expr_real_1): Likewise. * dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info) (descr_info_loc): Likewise. * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise. * fold-const.c (operand_equal_p, make_range, extract_muldiv_1) (fold_unary): Likewise. * builtins.c (get_pointer_alignment): Likewise. * tree-scalar-evolution.c (interpret_rhs_modify_stmt) (instantiate_parameters_1): Likewise. * tree.c (expr_align, stabilize_reference): Likewise. * tree-pretty-print.c (dump_generic_node, op_prio): Likewise. * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. * convert.c (strip_float_extensions): Use CONVERT_EXPR_P. * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise. * config/alpha/alpha.c (va_list_skip_additions): Likewise. * c-common.c (c_alignof_expr, check_function_arguments_recurse): Likewise. * tree-ssa.c (tree_ssa_useless_type_conversion): Likewise. * varasm.c (initializer_constant_valid_p, output_constant): Likewise. * tree-ssa-forwprop.c (get_prop_source_stmt, can_propagate_from) (forward_propagate_addr_expr_1, forward_propagate_addr_expr) (forward_propagate_comparison) (tree_ssa_forward_propagate_single_use_vars): Likewise. * cfgexpand.c (discover_nonconstant_array_refs_r): Likewise. * emit-rtl.c (component_ref_for_mem_expr) (set_mem_attributes_minus_bitpos): Likewise. * tree-ssa-phiopt.c (conditional_replacement): Likewise. * gimplify.c (gimplify_conversion, goa_lhs_expr_p, gimplify_expr): Likewise. * c-typeck.c (default_function_array_conversion, build_indirect_ref) (build_function_call, pointer_diff, build_compound_expr) (c_finish_return): Likewise. * tree-vect-analyze.c (vect_determine_vectorization_factor): Likewise. * matrix-reorg.c (get_inner_of_cast_expr, may_flatten_matrices_1): Likewise. * tree-ssa-ifcombine.c (recognize_single_bit_test): Likewise. * expr.c (is_aligning_offset): Likewise. * tree-ssa-alias.c (is_escape_site): Likewise. * tree-stdarg.c (va_list_counter_bump, check_va_list_escapes) (check_all_va_list_escapes): Likewise. * tree-ssa-loop-ivopts.c (determine_base_object) (determine_common_wider_type): Likewise. * dojump.c (do_jump): Likewise. * tree-ssa-sccvn.c (simplify_unary_expression): Likewise. * tree-gimple.c (is_gimple_cast): Likewise. * fold-const.c (decode_field_reference, ) (fold_sign_changed_comparison, fold_unary, fold_comparison) (fold_binary): Likewise. * tree-ssa-alias-warnings.c (find_alias_site_helper) (already_warned_in_frontend_p): Likewise. * builtins.c (get_memory_rtx, fold_builtin_next_arg): Likewise. * tree.c (really_constant_p, get_unwidened): Likewise. * tree-ssa-loop-niter.c (expand_simple_operations): Likewise. * tree-ssa-loop-im.c (rewrite_bittest): Likewise. * tree-vrp.c (register_edge_assert_for_2, register_edge_assert_for_1): Likewise. * tree.h (STRIP_NOPS, STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Use CONVERT_EXPR_P. (CONVERT_EXPR_P): Define. (CASE_CONVERT): Define. From-SVN: r135114
2008-05-09re PR middle-end/36177 (g++.dg/opt/pr23714.C ICEs with 135041 -> 135057)Kenneth Zadeck3-11/+66
2008-05-08 Kenneth Zadeck <zadeck@naturalbridge.com> PR middle-end/36117 * dce.c (deletable_insn_p): Do not delete calls if df_in_progress. (delete_unmarked_insns): When deleting a call, call delete_unreachable_blocks. * rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P, RTL_CONST_OR_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P): Fixed doc. From-SVN: r135113
2008-05-09invoke.texi (-fdump-tree-salias): Remove documentation.Richard Guenther20-120/+78
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
2008-05-09tree-flow-inline.h (var_can_have_subvars): Move ...Richard Guenther4-222/+109
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
2008-05-09re PR fortran/36162 (Non-ASCII character in module string gives ICE)Francois-Xavier Coudert4-9/+160
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
2008-05-09Formatting fix.Ben Elliston1-0/+1
From-SVN: r135106
2008-05-09Daily bump.GCC Administrator1-1/+1
From-SVN: r135101
2008-05-08common.opt (Wframe-larger-than=): Shorten the help message to one line.Seongbae Park3-9/+14
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
2008-05-08tree-complex.c (expand_complex_div_wide): Don't create CONDs that trap.Rafael Avila de Espindola11-15/+43
* 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
2008-05-08read-rtl.c (join_c_conditions): Return the first string if the two strings ↵Richard Sandiford2-0/+8
are equal. gcc/ * read-rtl.c (join_c_conditions): Return the first string if the two strings are equal. From-SVN: r135091
2008-05-08gensupport.h (pred_data): Add a "num_codes" field.Richard Sandiford4-59/+71
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
2008-05-08target-supports.exp (check_effective_target_sync_int_long): Add mips*-*-*.David Daney6-23/+71
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
2008-05-08re PR target/36090 (ppc64 cacoshl miscompilation)Paolo Bonzini2-0/+24
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
2008-05-08* stmt.c (expand_stack_restore): Change sa mode if needed.Steve Ellcey2-0/+5
From-SVN: r135085
2008-05-08ChangeLog: Whitespace fixes.Uros Bizjak2-97/+97
* ChangeLog: Whitespace fixes. * testsuite/Changelog: Ditto. From-SVN: r135081
2008-05-08i386-protos.h (ix86_return_in_memory): Adjust return type to bool.Richard Guenther3-8/+20
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
2008-05-08calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to fndecl argument.Kai Tietz3-2/+13
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
2008-05-08utils.c (handle_pure_attribute, [...]): Rename DECL_IS_PURE to DECL_PURE_P.Andreas Schwab2-3/+8
* utils.c (handle_pure_attribute, init_gigi_decls): Rename DECL_IS_PURE to DECL_PURE_P. From-SVN: r135078
2008-05-08tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS.Richard Guenther23-1337/+137
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
2008-05-08pr36172.c: Replace unsigned long by __SIZE_TYPE__.Kai Tietz2-2/+7
2008-05-08 Kai Tietz <kai.tietz@onevision.com> * gcc.c-torture/compile/pr36172.c: Replace unsigned long by __SIZE_TYPE__. From-SVN: r135076
2008-05-08fixed subti3 patternSa Liu1-0/+5
From-SVN: r135075
2008-05-08test subti3Sa Liu1-0/+45
From-SVN: r135074
2008-05-08fixed subti3 patternSa Liu1-7/+13
From-SVN: r135073
2008-05-08re PR middle-end/36154 (internal compiler error: in ↵Richard Guenther4-4/+30
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
2008-05-08re PR middle-end/36172 (ice for legal code with -O3)Richard Guenther4-2/+33
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
2008-05-082008-05-07 Kai Tietz <kai,tietz@onevision.com>Kai Tietz38-87/+151
* 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
2008-05-08Daily bump.GCC Administrator1-1/+1
From-SVN: r135064
2008-05-08re PR debug/35896 (gfortran TLS symbols broken with debug info)Jakub Jelinek2-136/+49
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
2008-05-08tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT on OMP_RETURN ↵Jakub Jelinek2-12/+19
for OMP_FOR. * tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT on OMP_RETURN for OMP_FOR. From-SVN: r135059
2008-05-07[multiple changes]Kenneth Zadeck41-178/+338
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
2008-05-07* sv.po: Update.Joseph Myers2-9/+13
From-SVN: r135049
2008-05-07i386.c (struct_builtin_description): Use CODE_FOR_sse_loadhps_exp.Uros Bizjak3-41/+42
* 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
2008-05-07re PR target/35714 (x86 poor code with pmaddwd)Uros Bizjak6-73/+539
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
2008-05-07cgraph.c (dump_cgraph_node): Update.Jan Hubicka7-47/+50
* 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
2008-05-07Cleanup ColdFire scheduling support and add V4 pipeline model.Maxim Kuvyrkov6-1229/+2161
* 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
2008-05-07re PR middle-end/36013 (Wrong code involving restricted pointers to ↵Ian Lance Taylor4-3/+43
non-restricted pointers) 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
2008-05-07re PR middle-end/36137 (gcc can't do math)Jakub Jelinek4-7/+34
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
2008-05-07re PR middle-end/36106 (#pragma omp atomic issues with floating point types)Jakub Jelinek2-43/+83
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
2008-05-07i386.c (ix86_expand_copysign): Force non-zero constant TFmode op0 to register.Uros Bizjak2-2/+13
* config/i386/i386.c (ix86_expand_copysign): Force non-zero constant TFmode op0 to register. From-SVN: r135025
2008-05-07re PR libfortran/34974 (null bytes when reverse-tabbing long records ↵Jerry DeLisle2-1/+6
(regression vs. g77)) 2008-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/34974 gfortran.dg/fmt_t_7.f: XFAIL this until we get issue resolved. From-SVN: r135017