aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-09-26* pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.Jason Merrill5-0/+37
From-SVN: r179201
2011-09-26pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.Paolo Carlini4-0/+24
/cp 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (convert_nontype_argument): Handle NULLPTR_TYPE. /testsuite 2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/nullptr25.C: New. From-SVN: r179199
2011-09-26re PR c++/26747 (bad break/continue is not detected until the gimplifier)Paolo Carlini2-10/+5
2011-09-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/26747 * cp-gimplify.c (get_bc_label): Remove obsolete diagnostics. From-SVN: r179198
2011-09-26re PR tree-optimization/50472 (Volatile qualification in data is not enough ↵Richard Guenther4-0/+27
to avoid optimization over pointer to data) 2011-09-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/50472 * gimple-fold.c (fold_const_aggregate_ref_1): Do not fold volatile references. * gcc.dg/torture/pr50472.c: New testcase. From-SVN: r179196
2011-09-26tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.Bingfeng Mei3-2/+6
2011-09-26 Bingfeng Mei <bmei@broadcom.com> * doc/tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P. * target.def: (addr_space_subset_p): Likewise. From-SVN: r179195
2011-09-26opt22.adb: New test.Eric Botcazou4-0/+47
2011-09-26 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/opt22.adb: New test. * gnat.dg/opt22_pkg.ad[sb]: New helper. From-SVN: r179194
2011-09-26tree-ssa-alias.h (pt_solution_singleton_p): Declare.Tom de Vries4-0/+34
2011-09-26 Tom de Vries <tom@codesourcery.com> * tree-ssa-alias.h (pt_solution_singleton_p): Declare. * tree-ssa-structalias.c (pt_solution_singleton_p): New function. * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Set points-to solution of new var. From-SVN: r179193
2011-09-26re PR target/50465 ([avr] Use insn attribute to depict if and how ↵Georg-Johann Lay4-135/+99
instruction lengths have to be adjusted) PR target/50465 * config/avr/avr-protos.h (output_reload_insisf): Don't pass insn. * config/avr/avr.md (*reload_insi, *reload_insf): Change call to output_reload_insisf. (adjust_len): Set default to "no". Remove alternative "yes". Add alternatives: "mov8", "mov16", "mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi", "lshrhi", "ashlsi, "ashrsi", "lshrsi". (*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3, *ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3, *ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const, *lshrsi3_const): Set attribute "adjust_len". * config/avr/avr.c (output_reload_insisf): Remove parameter "insn". (output_movsisf): Don't pass insn to output_reload_insisf. (adjust_insn_length): Handle new alternatives to adjust_len. Remove handling of ADJUST_LEN_YES. Clean-up code. From-SVN: r179191
2011-09-26Fix oversightEric Botcazou1-7/+7
From-SVN: r179190
2011-09-26Restore Ada bootstrap on Solaris 8, 9/x86Rainer Orth2-2/+7
From-SVN: r179189
2011-09-26ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of ↵Eric Botcazou6-2/+55
may_trap_p to detect loads that may trap of... * ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of may_trap_p to detect loads that may trap of fault. From-SVN: r179188
2011-09-26utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the dereference of the ↵Eric Botcazou6-42/+81
pointer to the storage area. * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the dereference of the pointer to the storage area. Remove useless type conversions and factor out common code. From-SVN: r179187
2011-09-26utils.c (maybe_unconstrained_array): Declare TYPE local variable and use it ↵Eric Botcazou5-32/+63
throughout. * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local variable and use it throughout. <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end. <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a first step. Also convert to the unpadded type as a last step. From-SVN: r179186
2011-09-26gigi.h (create_subprog_decl): Replace TREE_CHAIN with DECL_CHAIN in comment.Eric Botcazou4-19/+31
* gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with DECL_CHAIN in comment. * gcc-interface/trans.c (gigi): Likewise. (Attribute_to_gnu): Likewise. (build_function_stub): Likewise. (gnat_to_gnu): Likewise. * gcc-interface/utils.c (create_subprog_decl): Likewise. (convert_vms_descriptor64): Likewise. (convert_vms_descriptor32): Likewise. From-SVN: r179185
2011-09-26trans.c (assoc_to_constructor): Minor tweaks.Eric Botcazou3-42/+45
* gcc-interface/trans.c (assoc_to_constructor): Minor tweaks. * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if the type of the record is TYPE_READONLY. From-SVN: r179184
2011-09-26sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN OUT ↵Eric Botcazou2-0/+16
formal parameter which is of an... * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN OUT formal parameter which is of an null-exclusion access subtype. Co-Authored-By: Robert Dewar <dewar@adacore.com> From-SVN: r179183
2011-09-26ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.Eric Botcazou5-59/+94
* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag. (gnat_to_gnu_param): Likewise. * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke maybe_unconstrained_array instead of doing the work manually. (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand is a DECL with the flag, set TREE_THIS_NOTRAP on the reference. (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag. (gnat_stabilize_reference): Likewise. From-SVN: r179182
2011-09-26avr-protos.h (output_reload_inhi): Change prototype.Georg-Johann Lay4-178/+118
* config/avr/avr-protos.h (output_reload_inhi): Change prototype. * config/avr/avr.md (adjust_len): Add "reload_in16" alternative. (*reload_inhi): Use it. Adapt call to output_reload_inhi to new prototype. (*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L". * config/avr/avr.c: Rename output_reload_insisf_1 to output_reload_in_const. (avr_popcount_each_byte): Handle SFmode, too. (output_reload_in_const): Change so it can handle HI loads, too. Use avr_popcount_each_byte to work out if scratch register must be created on the fly. (output_reload_inhi): Rewrite using output_reload_in_const and... (output_movhi): ...use it to print constants' loads. (adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code. From-SVN: r179181
2011-09-26ada-tree.h (TYPE_NULL_BOUNDS): New macro.Eric Botcazou6-22/+151
* gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro. (SET_TYPE_NULL_BOUNDS): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template. * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat pointer types. * gcc-interface/utils.c (create_var_decl_1): If the object is external, check that the initializer is a valid constant expression for use in initializing a static variable. Add missing guard. (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set. (convert_to_fat_pointer): In the null fat pointer case, build a valid pointer for the bounds. * gcc-interface/utils2.c (compare_fat_pointers): New function. (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers. From-SVN: r179180
2011-09-25parser.c (inject_this_parameter): Split out from cp_parser_late_return_type_opt.Jason Merrill5-5/+67
* parser.c (inject_this_parameter): Split out from cp_parser_late_return_type_opt. (cp_parser_class_specifier_1): Use it for NSDMIs. * tree.c (bot_replace): Replace NSDMI 'this' with real 'this'. From-SVN: r179179
2011-09-26Daily bump.GCC Administrator1-1/+1
From-SVN: r179178
2011-09-25Add support for floating-point fused multiply-add on Sparc.David S. Miller10-19/+197
* configure.ac: Add feature check to make sure the assembler supports the FMAF, HPC, and VIS 3.0 instructions found on Niagara-3 and later cpus. * configure: Rebuild. * config.in: Likewise. * config/sparc/sparc.opt: New option '-mfmaf'. * config/sparc/sparc.md: Add float fused multiply-add patterns. * config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro. (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed. * config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise. * config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on by default for Niagara-3 and later. Turn it off if TARGET_FPU is disabled. (sparc_rtx_costs): Handle 'FMA'. * doc/invoke.texi: Document -mfmaf. From-SVN: r179174
2011-09-25Generate 'fone' and 'fones' sparc instructions when possible.David S. Miller5-42/+116
* config/sparc/constraints.md (C, P, Z): New constraints for const_doube, const_int, and const_vector "all ones" values. Make unused constraint letters comment match reality. * config/sparc/predicates.md (const_all_ones_operand, register_or_zero_or_all_ones_operand): New predicates. * config/sparc/sparc.c (sparc_expand_move): Allow all ones as well as zero constants when VIS. (sparc_legitimate_constant_p): Likewise. * config/sparc/sparc.md (movsi_insn): Add fones alternative. (movsf_insn): Likewise (movdi_insn_sp64): Add fone alternative. (movdf_insn_sp32_v9): Likewise. (movdf_insn_sp64): Likewise. From-SVN: r179173
2011-09-25ada-tree.h (TREE_THIS_NOTRAP): Redefine.Eric Botcazou4-40/+75
* gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine. * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in the by-ref case. Do not set TREE_READONLY on a renamed object. Set TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes. (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache to the indirect case. * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve the TREE_THIS_NOTRAP flag. From-SVN: r179171
2011-09-25trans.c (Loop_Statement_to_gnu): In the case of an iteration scheme...Eric Botcazou2-60/+105
* gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an iteration scheme, always generate the do-while form if optimization is enabled. Use more straightforward test at the end. From-SVN: r179169
2011-09-25decl.c (gnat_to_gnu_entity): Use XNEW instead of xmalloc.Eric Botcazou4-75/+67
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use XNEW instead of xmalloc. Do not build useless pointer type. <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc. * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy. * gcc-interface/utils2.c (build_unary_op): Remove local variable. From-SVN: r179168
2011-09-25decl.c (gnat_to_gnu_entity): Do not promote the alignment if this doesn't ↵Eric Botcazou6-23/+56
prevent BLKmode access to the object. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote the alignment if this doesn't prevent BLKmode access to the object. From-SVN: r179167
2011-09-25tree-ssa-structalias.c (intra_create_variable_infos): Treat TYPE_RESTRICT ↵Jakub Jelinek4-4/+77
REFERENCE_TYPE parameters like restricted DECL_BY_REFERENCE... * tree-ssa-structalias.c (intra_create_variable_infos): Treat TYPE_RESTRICT REFERENCE_TYPE parameters like restricted DECL_BY_REFERENCE parameters. * g++.dg/tree-ssa/restrict2.C: New test. From-SVN: r179166
2011-09-25tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore if ↵Eric Botcazou3-3/+18
there is no outgoing edge. * tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore if there is no outgoing edge. * tree-scalar-evolution.c (simple_iv): Accept all kinds of pointer and integral types. From-SVN: r179165
2011-09-25tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part of ↵Ira Rosen6-28/+151
vect_analyze_bb here. * tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part of vect_analyze_bb here. (vect_analyze_bb): Loop over vector sizes calling vect_analyze_bb_1. From-SVN: r179164
2011-09-25re PR c++/50280 (Incorrect type deduced for T& when passed a const bitfield)Paolo Carlini2-0/+16
2011-09-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50280 * g++.dg/template/bitfield1.C: New. From-SVN: r179163
2011-09-25tree-data-ref.c (dr_analyze_innermost): Add new argument.Ira Rosen7-15/+107
* tree-data-ref.c (dr_analyze_innermost): Add new argument. Allow not simple iv if analyzing basic block. (create_data_ref): Update call to dr_analyze_innermost. (stmt_with_adjacent_zero_store_dr_p, ref_base_address): Likewise. * tree-loop-distribution.c (generate_memset_zero): Likewise. * tree-predcom.c (find_looparound_phi): Likewise. * tree-data-ref.h (dr_analyze_innermost): Add new argument. From-SVN: r179161
2011-09-24Teach sparc backend about %gsr register and add intrinsics to access it.David S. Miller10-54/+240
* config/sparc/sparc.h (FIRST_PSEUDO_REGISTER): Bump to 103. (SPARC_GSR_REG): Define. (FIXED_REGISTERS): Mark GSR as fixed. (CALL_USED_REGISTERS): Mark GSR as call used. (HARD_REGNO_NREGS): GSR is always 1 register. (REG_CLASS_CONTENTS): Add GSR to ALL_REGS. (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Add GSR to the end. (REGISTER_NAMES): Add "%gsr". * config/sparc/sparc.md (UNSPEC_ALIGNADDR, UNSPEC_ALIGNADDRL): Delete. (UNSPEC_WRGSR): New unspec. (GSR_REG): New constant. (type): Add new insn type 'gsr'. (fpack16_vis, fpackfix_vis, fpack32_vis, faligndata<V64I:MODE>_vis)): Add use of GSR_REG. (wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus, rdgsr_vis, *rdgsr_sp64, rdgsr_v8plus): New expanders and insns. (alignaddr<P:mode>_vis, alignaddrl<P:mode>_vis): Reimplement using patterns which show that this is a plus in addition to a modification of GSR_REG, instead of an unspec. * config/sparc/ultra1_2.md: Handle 'gsr'. * config/sparc/ultra3.md: Likewise. * config/sparc/niagara.md: Likewise. * config/sparc/niagara2.md: Likewise. * config/sparc/sparc.c (leaf_reg_remap, sparc_leaf_regs): Fill out end of table. (sparc_option_override): Make -mvis imply -mv8plus. (hard_32bit_mode_classes, hard_64bit_mode_classes): Add entries for %gsr. (sparc_vis_init_builtins): Build __builtin_vis_write_gsr and __builtin_vis_read_gsr. (sparc_expand_buildin): Handle builtins that take one argument and return void. (sparc_fold_builtin): Never fold writes to %gsr. * config/sparc/visintrin.h (__vis_write_gsr, __vis_read_gsr): New. * doc/extend.texi: Document new VIS intrinsics. From-SVN: r179159
2011-09-24except.c (expr_noexcept_p): Split out from finish_noexcept_expr.Jason Merrill6-4/+48
* except.c (expr_noexcept_p): Split out from finish_noexcept_expr. * cp-tree.h: Declare it. * method.c (walk_field_subobs): Use it. From-SVN: r179158
2011-09-24init.c (perform_member_init): Instantiate NSDMI here.Jason Merrill5-6/+43
* init.c (perform_member_init): Instantiate NSDMI here. * pt.c (tsubst_decl) [FIELD_DECL]: Not here. From-SVN: r179157
2011-09-24Handle deferred parsing of NSDMIs.Jason Merrill10-58/+213
* parser.h (cp_unparsed_functions_entry): Add nsdmis field. * parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New. (cp_parser_late_parse_one_default_arg): Split out from cp_parser_late_parsing_default_args. (cp_parser_late_parsing_nsdmi): New. (push_unparsed_function_queues): Set it. (cp_parser_parameter_declaration): Save the '=' token. (cp_parser_template_parameter): Likewise. (cp_parser_default_argument): Call cp_parser_initializer rather than cp_parser_initializer_clause. (cp_parser_class_specifier_1): Parse unparsed_nsdmis. (cp_parser_member_declaration): Handle nsdmis. * decl2.c (grokfield): Handle DEFAULT_ARG for a function. From-SVN: r179156
2011-09-24Implement C++11 non-static data member initializers.Jason Merrill17-44/+212
* cp-tree.h (enum cpp_warn_str): Add CPP0X_NSDMI. * error.c (maybe_warn_cpp0x): Handle it. * call.c (convert_like_real) [ck_user]: Don't complain about using an explicit constructor for direct-initialization. * class.c (check_field_decl): Fix ancient typo. (check_field_decls): NSDMIs make the default ctor non-trivial. * decl.c (cp_finish_decl): Record NSDMI. (grokdeclarator): Allow NSDMI. * decl2.c (grokfield): Allow NSDMI. Correct LOOKUP flags. * init.c (perform_member_init): Use NSDMI. * method.c (walk_field_subobs): Check for NSDMI. * parser.c (cp_parser_member_declaration): Parse { } init. * semantics.c (register_constexpr_fundef): Don't talk about a return statement in a constexpr constructor. (cxx_eval_call_expression): Check DECL_INITIAL instead of DECL_SAVED_TREE. From-SVN: r179155
2011-09-25Daily bump.GCC Administrator1-1/+1
From-SVN: r179154
2011-09-24ada, remove flat_namespace library option from darwin port build/defaults :Iain Sandoe3-7/+9
* gcc-interface/Makefile.in (darwin): Do not issue the '-flat_namespace' linker flag during Ada build. * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the default shared library options. From-SVN: r179148
2011-09-24correct ChangeLogJason Merrill1-1/+1
From-SVN: r179146
2011-09-24re PR c++/44267 (SFINAE does not handle down static_cast over virtual ↵Paolo Carlini12-34/+92
inheritance) /cp 2011-09-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44267 * class.c (build_base_path): Add a tsubst_flags_t parameter. (convert_to_base): Adjust call. * typeck.c (build_class_member_access_expr, get_member_function_from_ptrfunc, build_static_cast_1): Likewise. * init.c (dfs_initialize_vtbl_ptrs, emit_mem_initializers): Likewise. * method.c (do_build_copy_constructor, do_build_copy_assign): Likewise. * rtti.c (build_dynamic_cast_1): Likewise. * typeck2.c (build_scoped_ref, build_m_component_ref): Likewise. * call.c (build_over_call, build_special_member_call): Likewise. * cvt.c (cp_convert_to_pointer, convert_to_pointer_force, build_up_reference): Likewise. * cp-tree.h (build_base_path): Adjust declaration. /testsuite 2011-09-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44267 * g++.dg/template/sfinae28.C: New. From-SVN: r179141
2011-09-24Daily bump.GCC Administrator1-1/+1
From-SVN: r179138
2011-09-23go-test.exp (errchk): Handle more cases of getting correct Tcl backslash ↵Ian Lance Taylor5-14/+19
quoting in regular... * go.test/go-test.exp (errchk): Handle more cases of getting correct Tcl backslash quoting in regular expressions in test file. Also fix some tests to match gccgo error messages. From-SVN: r179134
2011-09-23Better parsing of erroneous expression on left of :=.Ian Lance Taylor1-1/+26
Better parsing of erroneous non-type in type switch. From-SVN: r179133
2011-09-23correct ChangeLogJason Merrill1-1/+1
From-SVN: r179131
2011-09-23Core 234 - allow const objects with no initializer or user-provided default...Jason Merrill13-17/+95
Core 234 - allow const objects with no initializer or user-provided default constructor if the defaulted constructor initializes all the subobjects. PR c++/20039 PR c++/42844 * class.c (default_init_uninitialized_part): New. * cp-tree.h: Declare it. * decl.c (check_for_uninitialized_const_var): Use it. * init.c (perform_member_init): Likewise. (build_new_1): Likewise. * method.c (walk_field_subobs): Likewise. From-SVN: r179130
2011-09-23* config/avr/avr.c: Fix some typos in comments.Georg-Johann Lay1-7/+7
From-SVN: r179127
2011-09-23inline-1.c: new testcase.Jan Hubicka9-67/+617
* gcc.dg/ipa/inline-1.c: new testcase. * gcc.dg/ipa/inline-2.c: new testcase. * gcc.dg/ipa/inline-3.c: new testcase. * gcc.dg/ipa/inline-4.c: new testcase. * ipa-inline-transform.c (inline_call): Add comment. * ipa-inline.h (inline_param_summary): New structure and vector. (struct inline_edge_summary): Add param field. * ipa-inline-analysis.c (CHANGED): New constant. (add_clause): Handle CHANGED and NOT_CONSTANT. (predicate_probability): New function. (dump_condition): Dump CHANGED predicate. (evaluate_conditions_for_known_args): Handle ERROR_MARK as marker of unknown function wide invariant. (evaluate_conditions_for_edge): Handle change probabilities. (inline_edge_duplication_hook): Copy param summaries. (inline_edge_removal_hook): Free param summaries. (dump_inline_edge_summary): Fix dumping of indirect edges and callee sizes; dump param summaries. (will_be_nonconstant_predicate): Use CHANGED predicate. (record_modified_bb_info): New structure. (record_modified): New function. (param_change_prob): New function. (estimate_function_body_sizes): Compute param summaries. (estimate_edge_size_and_time): Add probability argument. (estimate_node_size_and_time): Add inline_param_summary argument; handle predicate probabilities. (remap_predicate): Fix formating. (remap_edge_change_prob): New function. (remap_edge_summaries): Rename from ...; use remap_edge_change_prob. (remap_edge_predicates): ... this one. (inline_merge_summary): Remap edge summaries; handle predicate probabilities; remove param summaries after we are done. (do_estimate_edge_time): Update. (do_estimate_edge_growth): Update. (read_inline_edge_summary): Read param info. (inline_read_summary): Fix formating. (write_inline_edge_summary): Write param summaries. From-SVN: r179126
2011-09-23i386.c (ix86_print_operand): Handle %~.Jakub Jelinek3-70/+58
* config/i386/i386.c (ix86_print_operand): Handle %~. (ix86_print_operand_punct_valid_p): Return true also for '~'. * config/i386/sse.md (i128): New mode_attr. (vec_extract_hi_<mode>, vec_extract_hi_<mode>, avx_vbroadcastf128_<mode>, *avx_vperm2f128<mode>_full, *avx_vperm2f128<mode>_nozero, vec_set_lo_<mode>, vec_set_hi_<mode>, *vec_concat<mode>_avx): Use <i128> in the patterns, use "<sseinsnmode>" for "mode" attribute. (vec_extract_hi_v16hi, vec_extract_hi_v32qi, vec_set_lo_v16hi, vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Use %~128 in the patterns, use "OI" for "mode" attribute. From-SVN: r179125
2011-09-23re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with ↵Georg-Johann Lay4-159/+232
constant integers for 16- and 32-bit values) * config/avr/avr.md (adjust_len): Add alternatives "tsthi", "tstsi", "compare". (*cmpqi_sign_extend): Use s8_operand. (*cmphi, *cmpsi): Rewrite using avr_out_compare. * config/avr/avr-protos.h (compare_diff_p, compare_eq_p): Remove prototypes. (out_tsthi, out_tstsi): Remove prototypes. (avr_out_tsthi, avr_out_tstsi): New prototypes. * config/avr/avr.c (out_tsthi, out_tstsi): Remove functions. (avr_asm_len): Negative length now sets *plen to -length. (compare_sign_p): Return bool instead of int. (compare_diff_p, compare_eq_p): Ditto and make static. (avr_out_tsthi): New function. (avr_out_tstsi): New function. (avr_out_compare): New function. (adjust_insn_length): Handle ADJUST_LEN_TSTHI, ADJUST_LEN_TSTSI, ADJUST_LEN_COMPARE. PR target/50447 From-SVN: r179124