aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
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
2011-09-23re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with ↵Georg-Johann Lay4-80/+280
constant integers for 16- and 32-bit values) PR target/50447 * config/avr/avr.md: (adjust_len): Add alternative "out_plus". (addsi3): Rewrite using QI scratch register. Adjust text peepholes using plus:SI. (*addsi3_zero_extend.hi): New insn. (*subsi3_zero_extend.hi): New insn. (*subhi3_zero_extend1): Set attribute "cc" to "set_czn". (*subsi3_zero_extend): Ditto. (subsi3): Change predicate #2 to register_operand. * config/avr/avr-protos.h (avr_out_plus): New prototype. (avr_out_plus_1): New static function. (avr_out_plus): New function. (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS. From-SVN: r179123
2011-09-23re PR c++/50258 ([C++0x] -std=gnu++0x should allow in-class initialization ↵Paolo Carlini4-2/+22
of static const floating types without constexpr) /cp 2011-09-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50258 * decl.c (check_static_variable_definition): Allow in-class initialization of static data member of non-integral type in permissive mode. /testsuite 2011-09-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50258 * g++.dg/cpp0x/constexpr-static8.C: New. From-SVN: r179121
2011-09-23i386.c (ix86_prepare_sse_fp_compare_args): For GE/GT/UNLE/UNLT swap ↵Jakub Jelinek5-7/+50
arguments and condition even for TARGET_AVX. * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): For GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX. * gcc.target/i386/avxfp-1.c: New test. * gcc.target/i386/avxfp-2.c: New test. From-SVN: r179119
2011-09-23godump.c (go_define): Treat a single character in single quotes, or a ↵Ian Lance Taylor2-0/+17
string, as an operand. * godump.c (go_define): Treat a single character in single quotes, or a string, as an operand. From-SVN: r179118
2011-09-23ipa-prop.h (jump_func_type): Updated comments.Martin Jambor4-44/+87
2011-09-23 Martin Jambor <mjambor@suse.cz> * ipa-prop.h (jump_func_type): Updated comments. (ipa_known_type_data): New type. (ipa_jump_func): Use it to describe known type jump functions. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Updated to reflect the new known type jump function contents. (compute_known_type_jump_func): Likewise. (combine_known_type_and_ancestor_jfs): Likewise. (try_make_edge_direct_virtual_call): Likewise. (ipa_write_jump_function): Likewise. (ipa_read_jump_function): Likewise. * ipa-cp.c (ipa_value_from_known_type_jfunc): New function. (ipa_value_from_jfunc): Use ipa_value_from_known_type_jfunc. (propagate_accross_jump_function): Likewise. From-SVN: r179117
2011-09-23re PR target/50446 ([avr] Implement rotate patterns with offset 1)Georg-Johann Lay3-22/+130
PR target/50446 * config/avr/avr.md (rotlqi3): Support all offsets 0..7. (rotlqi3_4): Turn insn into expander. (*rotlqi3): New insn. (rotlhi3, rotlsi3): Support rotate left/right by 1. (*rotlhi2.1, *rotlhi2.15): New insns. (*rotlsi2.1, *rotlsi2.31): New insns. * config/avr/constraints.md (C03, C05, C06, C07): New constraints. From-SVN: r179116
2011-09-23bpabi.h (BE8_LINK_SPEC): Add cortex-m arch and processors.Bin Cheng2-2/+12
2011-09-23 Bin Cheng <bin.cheng@arm.com> * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-m arch and processors. From-SVN: r179115
2011-09-23* gcc.c-torture/execute/941014-1.x: Deleted.Terry Guo2-15/+4
From-SVN: r179112
2011-09-23re PR c++/50491 ([C++0x] [4.6/4.7 Regression] "unexpected ast of kind ↵Paolo Carlini4-0/+28
using_decl" on call to using'ed grandparent member function) /cp 2011-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50491 * semantics.c (potential_constant_expression_1): Handle USING_DECL. /testsuite 2011-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50491 * g++.dg/cpp0x/pr50491.C: New. From-SVN: r179109
2011-09-23Daily bump.GCC Administrator1-1/+1
From-SVN: r179108
2011-09-22sparc.md (G[0-7]_REG, [...]): New constants.David S. Miller2-151/+243
* config/sparc/sparc.md (G[0-7]_REG, O[0-7]_REG, L[0-7]_REG, I[0-7]_REG, F[0-62]_REG, FCC[0-3]_REG, CC_REG, SFP_REG): New constants. Use them everywhere. From-SVN: r179103
2011-09-22* ipa-prop.c (ipa_print_node_jump_functions): Fix typos.Maxim Kuvyrkov2-3/+7
From-SVN: r179102
2011-09-22reload.c (find_reloads): Set operand_mode to Pmode for address operands ↵Andreas Krebbel3-0/+82
consisting of just a CONST_INT. 2011-09-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * reload.c (find_reloads): Set operand_mode to Pmode for address operands consisting of just a CONST_INT. From-SVN: r179099
2011-09-22re PR testsuite/50487 (FAIL: gfortran.dg/bessel_6.f90)Steven G. Kargl2-1/+6
2011-09-22 Steven G. Kargl <kargl@gcc.gnu.org> PR testsuite/50487 * gfortran.dg/bessel_6.f90: Fix tolerance test. From-SVN: r179097
2011-09-22re PR c++/50371 ([C++0x] std::nullptr_t rejected as non-type template-parameter)Paolo Carlini4-0/+17
/cp 2011-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50371 * pt.c (invalid_nontype_parm_type_p): Handle NULLPTR_TYPE. /testsuite 2011-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50371 * g++.dg/cpp0x/nullptr24.C: New. From-SVN: r179096
2011-09-22re PR target/50482 (internal compiler error at recog.c:2137)Uros Bizjak4-3/+28
PR target/50482 * config/i386/i386.c (ix86_expand_sse_movcc): When generating blendv, force op_true to register if it doesn't satisfy nonimmediate_operand predicate. testsuite/ChangeLog: PR target/50482 * gcc.target/i386/pr50482.c: New test. From-SVN: r179094
2011-09-22pad-2.c, [...]: Skip if multilib options contain different -march= from ↵Joseph Myers13-0/+22
dg-options. * gcc.target/i386/pad-2.c, gcc.target/i386/pad-3.c, gcc.target/i386/pad-4.c, gcc.target/i386/pad-5a.c, gcc.target/i386/pad-5b.c, gcc.target/i386/pad-6a.c, gcc.target/i386/pad-6b.c, gcc.target/i386/pad-7.c, gcc.target/i386/pad-8.c, gcc.target/i386/pad-9.c, gcc.target/i386/pad-10.cm gcc.target/i386/vect-double-1.c: Skip if multilib options contain different -march= from dg-options. From-SVN: r179091
2011-09-22re PR c++/50344 (friend declaration confused by const qualifier)Jonathan Wakely4-1/+33
/cp 2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com> Paolo Carlini <paolo.carlini@oracle.com> PR c++/50344 * friend.c (make_friend_class): cv-qualification is ok in a friend declaration. /testsuite 2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com> Paolo Carlini <paolo.carlini@oracle.com> PR c++/50344 * g++.dg/template/friend52.C: New. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r179088
2011-09-22re PR middle-end/50113 (soft-float MIPS64 compiler is miscompiling ggc-page.c)Richard Sandiford3-33/+53
gcc/ PR middle-end/50113 PR middle-end/50061 * calls.c (emit_library_call_value_1): Use BLOCK_REG_PADDING to get the locate.where_pad value for register-only arguments. * config/arm/arm.c (arm_pad_arg_upward): Remove HFmode handling. (arm_pad_reg_upward): Handle null types. From-SVN: r179085
2011-09-22* ipa-inline-analysis.c: Fix overly long lines.Jan Hubicka2-28/+49
From-SVN: r179084
2011-09-22ipa-inline-transform.c (inline_call): Always update jump functions after ↵Jan Hubicka6-64/+78
inlining. * ipa-inline-transform.c (inline_call): Always update jump functions after inlining. * ipa-inline.c (ipa_inline): Likewise; do not call ipa_create_all_structures_for_iinln. (ipa_inline): Always free jump functions. * ipa-inline-analysis.c (evaluate_conditions_for_edge): Remove hack. (remap_edge_predicates): Fix pasto. (inline_merge_summary): Remove nlined edge predicate; remove hack. (inline_analyze_function): Always initialize jump functions. (inline_generate_summary): Likewise. (inline_write_summary): Always write jump functions when ipa-cp is not doing that. (inline_read_summary): Always read jump functions when ipa-cp is not doing that. * ipa-prop.c (iinlining_processed_edges): Remove. (update_indirect_edges_after_inlining): Do not use iinlining_processed_edges; instead set param_index to -1. (propagate_info_to_inlined_callees): Only try to indirect inlining when asked to do so; update jump functions of indirect calls, too; remove jump functions of the inlined edge. (ipa_edge_duplication_hook): Do not copy iinlining_processed_edges. (ipa_create_all_structures_for_iinln): Remove. (ipa_free_all_structures_after_iinln): Do not free iinlining_processed_edges. * ipa-prop.h (ipa_create_all_structures_for_iinln): Remove. From-SVN: r179083
2011-09-22predicates.md (expandable_comparison_operator): New predicate, extracted from...Richard Sandiford6-13/+118
gcc/ * config/arm/predicates.md (expandable_comparison_operator): New predicate, extracted from... (arm_comparison_operator): ...here. * config/arm/arm.md (cbranchsi4, cbranchsf4, cbranchdf4, cbranchdi4) (cstoresi4, cstoresf4, cstoredf4, cstoredi4, movsicc, movsfcc) (movdfcc): Use expandable_comparison_operator. gcc/testsuite/ * gcc.target/arm/cmp-1.c: New test. * gcc.target/arm/cmp-2.c: Likewise. From-SVN: r179082
2011-09-22re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with ↵Georg-Johann Lay5-180/+336
constant integers for 16- and 32-bit values) PR target/50447 PR target/50465 * config/avr/avr-protos.h (avr_out_bitop): New prototype. (avr_popcount_each_byte): New prototype. * config/avr/avr.c (avr_popcount): New static function. (avr_popcount_each_byte): New function. (avr_out_bitop): New function. (adjust_insn_length): ADJUST_LEN_OUT_BITOP dispatches to avr_out_bitop. Cleanup code. * config/avr/constraints.md (Ca2, Co2, Cx2): New constraints. (Ca4, Co4, Cx4): New constraints. * config/avr/avr.md (adjust_len): Add "out_bitop" insn attribute alternative. (andhi3, iorhi3, xorhi3): Rewrite insns using avr_out_bitop. (andsi3, iorsi3, xorsi3): Ditto. (*iorhi3_clobber, *iorsi3_clobber): Remove insns. From-SVN: r179081
2011-09-22re PR fortran/41733 (Proc-pointer conformance checks: Elemental-proc-ptr => ↵Janus Weil7-24/+100
non-elemental-proc) 2011-09-22 Janus Weil <janus@gcc.gnu.org> PR fortran/41733 * expr.c (gfc_check_pointer_assign): Check for nonintrinsic elemental procedures. * interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Check for PURE and ELEMENTAL attributes. (compare_actual_formal): Remove pureness check here. 2011-09-22 Janus Weil <janus@gcc.gnu.org> PR fortran/41733 * gfortran.dg/impure_actual_1.f90: Modified error message. * gfortran.dg/proc_ptr_32.f90: New. * gfortran.dg/proc_ptr_33.f90: New. From-SVN: r179080
2011-09-22re PR middle-end/50451 (internal compiler error at tree-vect-loop.c:3557)Ira Rosen4-8/+34
PR tree-optimization/50451 * tree-vect-slp.c (vect_get_constant_vectors): Don't fail for constant operands in reduction. (vect_get_slp_defs): Don't create vector operand for NULL scalar operand. From-SVN: r179079
2011-09-22sparc.c (sparc_vis_init_builtins): Do not mark fpack16, fpack32, fpackfix as ↵David S. Miller2-6/+11
const. * config/sparc/sparc.c (sparc_vis_init_builtins): Do not mark fpack16, fpack32, fpackfix as const. From-SVN: r179078
2011-09-22sh.c (andcosts): Renamed to and_xor_ior_costs.Oleg Endo2-10/+20
* config/sh/sh.c (andcosts): Renamed to and_xor_ior_costs. Added AND special case. Adapted comments. (sh_rtx_costs): Added XOR and IOR case. From-SVN: r179073
2011-09-21Add pixel compare VIS intrinsics.David S. Miller5-0/+182
* config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE, UNSPEC_FCMPGT, UNSPEC_FCMPEQ): New unspec codes. (fcmple16_vis, fcmple32_vis, fcmpne16_vis, fcmpne32_vis, fcmpgt16_vis, fcmpgt32_vis, fcmpeq16_vis, fcmpeq32_vis): New patterns. * config/sparc/sparc.c (sparc_vis_init_builtins): Create builtins for new pixel compare VIS patterns. * config/sparc/visintrin.h (__vis_fcmple16, __vis_fcmple32, __vis_fcmpne16, __vis_fcmpne32, __vis_fcmpgt16, __vis_fcmpgt32, __vis_fcmpeq16, __vis_fcmpeq32): New. * doc/extend.texi: Document new pixel compare VIS intrinsics. From-SVN: r179072
2011-09-22Daily bump.GCC Administrator1-1/+1
From-SVN: r179071
2011-09-21ipa-inline-analsis.c (compute_inline_parameters): Set cfun and ↵Jan Hubicka2-4/+52
current_function_decl. * ipa-inline-analsis.c (compute_inline_parameters): Set cfun and current_function_decl. From-SVN: r179065
2011-09-21ipa-inline.c (relative_time_benefit): Fix wrong bracketting.Jan Hubicka4-7/+11
* ipa-inline.c (relative_time_benefit): Fix wrong bracketting. * ipa-inline.h (estimate_edge_time): Fix pasto. * ipa-inline-analysis.c (do_estiamte_edge_time): Remove capping. From-SVN: r179064
2011-09-21Update Go testsuite to release r60.Ian Lance Taylor89-79/+2403
* go.test/go-test.exp (errchk): Add special case for bug332. (go-gc-tests): Add special cases for bug347 and bug348. Recognize some more test lines. From-SVN: r179063
2011-09-21Better handling of unexpected EOF in parser.Ian Lance Taylor1-0/+7
From-SVN: r179060
2011-09-21i386-3.C: Remove duplicated dg-options.Uros Bizjak7-6/+10
* g++.dg/other/i386-3.C: Remove duplicated dg-options. * g++.dg/other/i386-4.C: Remove dg-requre-effective-target directive. * g++.dg/other/i386-8.C: Ditto. * g++.dg/other/pr34435.C: Ditto. * g++.dg/other/pr39496.C: Ditto. * g++.dg/other/mmintrin.C: Ditto. From-SVN: r179059
2011-09-21Better error message for shift context types.Ian Lance Taylor1-10/+59
Fix shift of floating point constant to generate constant. From-SVN: r179057
2011-09-21i386.c (ix86_expand_sse_movcc): Use blendvps, blendvpd and pblendvb if possible.Jakub Jelinek6-12/+235
* config/i386/i386.c (ix86_expand_sse_movcc): Use blendvps, blendvpd and pblendvb if possible. * gcc.dg/vect/vect-cond-7.c: New test. * gcc.target/i386/sse4_1-cond-1.c: New test. * gcc.target/i386/avx-cond-1.c: New test. From-SVN: r179055
2011-09-21Support nil maps.Ian Lance Taylor2-7/+9
From-SVN: r179054
2011-09-21re PR target/50464 (Using -Ofast -march=bdver1 results in internal compiler ↵Uros Bizjak5-8/+198
error: in extract_insn, at recog.c:2109) PR target/50464 * config/i386/sse.md (xop_pcmov_<mode><avxsizesuffix>): Change operand 1 predicate to register_operand and operand 2 predicate to nonimmediate_operand. * config/i386/i386.c (ix86_expand_sse_movcc): When generating xop_pcmov, force op_true to register. Also, force op_false to register if it doesn't satisfy nonimmediate_operand predicate. testsuite/ChangeLog: PR target/50464 * g++.dg/other/pr50464.C: New test. From-SVN: r179053
2011-09-21Add MULX intrinsics.Kirill Yukhin7-1/+144
gcc/ 2011-09-21 Kirill Yukhin <kirill.yukhin@intel.com> * config/i386/bmi2intrin.h (_mulx_u64): New. (_mulx_u32): Ditto. gcc/testsuite/ 2011-09-21 Kirill Yukhin <kirill.yukhin@intel.com> * gcc.target/i386/bmi2-mulx32-2.c: New test. * gcc.target/i386/bmi2-mulx32-2a.c: Ditto. * gcc.target/i386/bmi2-mulx64-2.c: Ditto. * gcc.target/i386/bmi2-mulx64-2a.c: Ditto. From-SVN: r179050
2011-09-21* gnat.dg/opt19.adb: New test.Eric Botcazou2-0/+31
From-SVN: r179047
2011-09-21re PR tree-optimization/50433 (ACATS c460010 fails to compile)Jan Hubicka2-9/+11
PR tree-optimization/50433 * ipa-inline-analysis.c (eliminated_by_inlining_prob): Use get_base_address. From-SVN: r179046
2011-09-21sse.md (<code><mode>3 smaxmin:VI124_128 expander): Use nonimmediate_operand ↵Jakub Jelinek2-4/+18
instead of register_operand predicate for operands 1... * config/i386/sse.md (<code><mode>3 smaxmin:VI124_128 expander): Use nonimmediate_operand instead of register_operand predicate for operands 1 and 2, force them into registers if expanding them as comparison. (<code><mode>3 umaxmin:VI124_128 expander): Similarly. For UMAX V8HImode force into register just operand 1. From-SVN: r179045
2011-09-21neon-thumb2-move.c: Skip the warning message on arch conflict when...Terry Guo2-0/+6
* gcc.target/arm/neon-thumb2-move.c: Skip the warning message on arch conflict when testing case on targets other than armv7-a. From-SVN: r179043
2011-09-21re PR c++/50454 (Unexpected problems with -pedantic / -pedantic-errors and ↵Paolo Carlini6-21/+53
__int128 and unsigned __int128 specializations) /cp 2011-09-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50454 * decl.c (grokdeclarator): Consistently handle both __int128 and unsigned __int128 with -pedantic; suppress diagnostic in system headers. /testsuite 2011-09-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50454 * g++.dg/ext/int128-1.C: New. * g++.dg/ext/int128-2.C: Likewise. * g++.dg/ext/int128-2.h: Likewise. From-SVN: r179042