aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-11-01Handle V4HI vector initialization more efficiently on VIS1.David S. Miller2-0/+27
* config/sparc/sparc.c (vector_init_faligndata): New function. (sparc_expand_vector_init): Use it for V4HImode on VIS1. From-SVN: r180752
2011-11-01re PR c++/44277 ([C++0x] Add warning to facilitate nullptr conversion.)Paolo Carlini11-3/+320
/cp 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44277 * cvt.c (cp_convert_to_pointer): Warn for zero as null pointer constant. * typeck.c (cp_truthvalue_conversion): Handle pointers and member function pointers under c_inhibit_evaluation_warnings; use nullptr_node for data member pointers. (cp_build_binary_op): Tweak, just forward to cp_convert op1, either a nullptr_node or an integer_zero_node. (build_ptrmemfunc): Use nullptr_node. * init.c (build_zero_init_1): Likewise. /c-family 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44277 * c.opt: Add Wzero-as-null-pointer-constant. /gcc 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44277 * doc/invoke.texi: Document -Wzero-as-null-pointer-constant. /testsuite 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44277 * g++.dg/warn/Wzero-as-null-pointer-constant-1.C: New. * g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C: Likewise. From-SVN: r180750
2011-11-01i386.md (splitters for int-float conversion): Use SUBREG_REG on SUBREGs in ↵Uros Bizjak2-10/+28
splitter constraints. * config/i386/i386.md (splitters for int-float conversion): Use SUBREG_REG on SUBREGs in splitter constraints. From-SVN: r180748
2011-11-01bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.Andrew Stubbs2-0/+5
2011-11-01 Andrew Stubbs <ams@codesourcery.com> * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning. From-SVN: r180747
2011-11-01re PR tree-optimization/50908 (building emacs-23.3; gives msg: ↵Tom de Vries4-0/+274
indent.c:1140:1: internal compiler error: in verify_dominators, at dominance.c:1041) 2011-11-01 Tom de Vries <tom@codesourcery.com> PR tree-optimization/50908 * gcc.dg/pr50908.c: New test. * gcc.dg/pr50908-2.c: Same. * gcc.dg/pr50908-3.c: Same. From-SVN: r180746
2011-11-01i386.md (splitters for int-float conversion): Use reg_or_subregno in ↵Uros Bizjak2-31/+18
splitter constraints. * config/i386/i386.md (splitters for int-float conversion): Use reg_or_subregno in splitter constraints. From-SVN: r180745
2011-11-01i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New prototype.Jakub Jelinek4-24/+73
* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New prototype. * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New function. * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Use it. (ssepackfltmode): New mode attr. (vec_pack_ufix_trunc_<mode>): New expander. From-SVN: r180743
2011-11-01i386.md (floatsi<mode>2_vector_sse_with_temp splitter): Compare ↵Uros Bizjak2-1/+6
<ssevecmode>mode with V4SFmode, not V4SImode. * config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter): Compare <ssevecmode>mode with V4SFmode, not V4SImode. From-SVN: r180742
2011-11-01config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant.Peter Bergner8-17/+286
* config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant. * config/rs6000/476.h: New file. * config/rs6000/476.opt: Likewise. * config/rs6000/rs6000.h (TARGET_LINK_STACK): New define. (SET_TARGET_LINK_STACK): Likewise. (TARGET_ASM_CODE_END): Define. * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable TARGET_LINK_STACK for -mtune=476 and -mtune=476fp. (rs6000_legitimize_tls_address): Emit the link stack preserving GOT code if TARGET_LINK_STACK. (rs6000_emit_load_toc_table): Likewise. (output_function_profiler): Likewise (macho_branch_islands): Likewise (machopic_output_stub): Likewise (get_ppc476_thunk_name): New function. (rs6000_code_end): Likewise. * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b): Convert to a define_expand. (load_toc_v4_PIC_1_normal): New define_insn. (load_toc_v4_PIC_1_476): Likewise. (load_toc_v4_PIC_1b_normal): Likewise. (load_toc_v4_PIC_1b_476): Likewise. From-SVN: r180741
2011-11-01re PR target/50910 ([avr] inefficient division by 2)Georg-Johann Lay5-16/+96
PR target/50910 * config/avr/avr.opt (-mbranch-cost=): New option. * config/avr/avr.h (BRANCH_COST): Define to avr_branch_cost. * config/avr/avr.c (avr_rtx_costs_1): Adjust [U]DIV/[U]MOD costs. * config/avr/avr.md (*addqi3.lt0, *addhi3.lt0, *addsi3.lt0): New insns. (*addhi3_zero_extend1): Remov % in constraint of operand 1. (*addhi3.sign_extend1, *subhi3.sign_extend2): New insns. From-SVN: r180739
2011-11-01re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy ↵Jason Merrill4-33/+69
constructor to be deleted, but still declared) PR c++/50500 DR 1082 * search.c (lookup_fnfields_idx_nolazy): Split out from... (lookup_fnfields_1): ...here. (lookup_fnfields_slot_nolazy): Use it. * cp-tree.h: Declare it. * class.c (type_has_move_assign): Use it. (type_has_user_declared_move_assign): Likewise. From-SVN: r180738
2011-11-01re PR tree-optimization/50908 (building emacs-23.3; gives msg: ↵Tom de Vries2-16/+104
indent.c:1140:1: internal compiler error: in verify_dominators, at dominance.c:1041) 2011-11-01 Tom de Vries <tom@codesourcery.com> PR tree-optimization/50908 * tree-ssa-tail-merge.c (update_vuses): Now that edges are removed before update_vuses, test for 1 predecessor rather than two. (delete_block_update_dominator_info): New function, part of it factored out of ... (replace_block_by): Use delete_block_update_dominator_info. Call update_vuses after deleting bb1 and updating dominator info, instead of before. From-SVN: r180737
2011-11-01no-scevccp-outer-6-global.c: Expect to vectorize the outer loop.Ira Rosen2-3/+6
* gcc.dg/vect/no-scevccp-outer-6-global.c: Expect to vectorize the outer loop. Remove comment. Don't check for widen-mult. From-SVN: r180735
2011-11-01Add vcond/vcondu patterns to sparc backend.David S. Miller4-0/+75
* config/sparc/sparc.c (sparc_expand_vcond): New function. * config/sparc/sparc-protos.h (sparc_expand_vcond): Declare it. * config/sparc/sparc.md (vcond<mode><mode>): New VIS3 expander. (vconduv8qiv8qi): Likewise. From-SVN: r180733
2011-11-01* c.opt (-fdeduce-init-list): Off by default.Jason Merrill4-9/+12
From-SVN: r180728
2011-11-01* doc/invoke.texi: Update for -std=c++11.Jason Merrill1-19/+16
From-SVN: r180726
2011-11-01re PR debug/50869 (ice in vt_expand_var_loc_chain)Alexandre Oliva3-4/+15
PR debug/50869 * cselib.c (cfa_base_preserved_regno): Initialize. (cselib_expand_value_rtx_1): Don't expand it. * var-tracking.c (vt_expand_var_loc_chain): Initialize depth. Check it's only zero if result is NULL. From-SVN: r180725
2011-11-01sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New expander.Jakub Jelinek2-0/+32
* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New expander. From-SVN: r180724
2011-11-01sse.md (sseintvecmode): Remove duplicate modes.Jakub Jelinek2-24/+33
* config/i386/sse.md (sseintvecmode): Remove duplicate modes. (sseintvecmodelower): New mode iterator. (floatv8siv8sf2, floatunsv4siv4sf2): Macroize into... (float<sseintvecmodelower><mode>2): ... this using VF1 iterator. (floatunsv4siv4sf2): Macroize into... (floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator. From-SVN: r180723
2011-11-01Daily bump.GCC Administrator1-1/+1
From-SVN: r180721
2011-10-31Allow zero operand in sparc VIS3 cmask patterns.David S. Miller2-3/+5
* config/sparc/sparc.md (cmask patterns): Allow zero operand. From-SVN: r180715
2011-10-31Invalidate cached next real insn in dwarf2out_end_epilogue().David S. Miller2-1/+8
* dwarf2out.c (cached_next_real_insn): New. (dwarf2out_end_epilogue): Set it to NULL_RTX. (dwarf2out_var_location): Remove cached_next_real_insn local static. From-SVN: r180713
2011-10-31i386: Remove TARGET_VECTORIZE_BUILTIN_CONVERSION.Richard Henderson4-119/+48
Renaming all of the insn patterns as needed to the standard optab forms. Sadly, only one of the builtins is unused by the various header files, so most of them must stay around. * config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256. (floatv4siv4sf2): Rename from sse2_cvtdq2ps. (floatunsv4siv4sf2): Rename from sse2_cvtudq2ps. (fix_truncv8sfv8si2): Rename from avx_cvttps2dq256. (fix_truncv4sfv4si2): Rename from sse2_cvttps2dq. (floatv4siv4df2): Rename from avx_cvtdq2pd256. (fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256. (vec_unpacku_float_hi_v8si): Update for insn pattern name changes. * config/i386/i386.md (splitters for int-float conversion): Likewise. * config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise. (bdesc_args): Likewise. (enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove. (ix86_vectorize_builtin_conversion): Remove. (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove. From-SVN: r180709
2011-10-31re PR c++/50920 (add a -std=c++11 option to the driver)Jason Merrill10-41/+70
PR c++/50920 gcc/c-family * c-common.h (cxx_dialect): Add cxx11 and cxx03. * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03, and -Wc++11-compat. * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x. gcc/cp * class.c (check_field_decl): Change c++0x in diags to c++11. * error.c (maybe_warn_cpp0x): Likewise. * parser.c (cp_parser_diagnose_invalid_type_name): Likewise. * pt.c (check_default_tmpl_args): Likewise. libcpp * include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11, CLK_GNUCXX0X to CLK_GNUCXX11. libstdc++-v3 * include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11. From-SVN: r180707
2011-10-31ipa-prop.c (mark_modified): Moved up in the file.Martin Jambor4-57/+228
2011-10-31 Martin Jambor <mjambor@suse.cz> * ipa-prop.c (mark_modified): Moved up in the file. (is_parm_modified_before_call): Renamed to is_parm_modified_before_stmt, moved up in the file. (load_from_unmodified_param): New function. (compute_complex_assign_jump_func): Also attempt to create pass through jump functions for values loaded from (addressable) parameters. * testsuite/gcc.dg/ipa/ipcp-4.c: New test. From-SVN: r180705
2011-10-31tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def in a ↵Jakub Jelinek6-2/+260
loop and has different type from op0... * tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def in a loop and has different type from op0, cast it to op0's type before the loop first. For slp give up. Don't crash if op1_vectype is NULL. * gcc.dg/vshift-3.c: New test. * gcc.dg/vshift-4.c: New test. * gcc.dg/vshift-5.c: New test. From-SVN: r180704
2011-10-31Update file position for inquire lazily.Janne Blomqvist2-3/+7
libgfortran ChangeLog: 2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> * io/inquire.c (inquire_via_unit): Check whether we're at the beginning or end if the position is unspecified. If the position is not one of the 3 standard ones, return unspecified. * io/io.h (update_position): Remove prototype. * io/transfer.c (next_record): Set the position to unspecified, letting inquire figure it out more exactly when needed. * io/unit.c (update_position): Remove function. testsuite ChangeLog: 2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.dg/inquire_5.f90: Update testcase to match the standard and current implementation. From-SVN: r180703
2011-10-31cgraphunit.c: Don't mark clones as static constructors.Paul Brook4-0/+49
2011-10-31 Paul Brook <paul@codesourcery.com> gcc/ * cgraphunit.c: Don't mark clones as static constructors. gcc/testsuite/ * gcc.dg/constructor-1.c: New test. From-SVN: r180700
2011-10-31gcc-ar: Do not include stdio.h.David Edelsohn2-2/+5
* gcc-ar: Do not include stdio.h. From-SVN: r180699
2011-10-31mangle.c (get_mangled_id): Factor from ...Diego Novillo2-2/+16
* mangle.c (get_mangled_id): Factor from ... (mangle_decl): ... here. Call get_mangled_id. From-SVN: r180698
2011-10-31tree-streamer-out.c (pack_ts_base_value_fields): Emit TYPE_ADDR_SPACE.Diego Novillo3-2/+15
* tree-streamer-out.c (pack_ts_base_value_fields): Emit TYPE_ADDR_SPACE. * tree-streamer-in.c (unpack_ts_base_value_fields): Read TYPE_ADDR_SPACE. From-SVN: r180697
2011-10-30Slight improvements to vec_init code gen on sparc.David S. Miller2-0/+109
* config/sparc/sparc.c (vector_init_bshuffle): New function. (vector_init_fpmerge): New function. (sparc_expand_vector_init): Use them to improve non-const cases. From-SVN: r180696
2011-10-30Handle many consecutive location notes more efficiently in dwarf2.David S. Miller2-2/+37
* dwarf2out.c (dwarf2out_var_location): When processing several consecutive location notes, cache the result of next_real_insn(). From-SVN: r180695
2011-10-31Daily bump.GCC Administrator1-1/+1
From-SVN: r180694
2011-10-30symbol.c (gfc_free_charlen): Whitespace.Steven G. Kargl1-1/+2
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org> * symbol.c (gfc_free_charlen): Whitespace. From-SVN: r180687
2011-10-30re PR other/50573 (configure lists --with-gnu-ld twice)Steven G. Kargl5-17/+90
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/50573 * check.c (gfc_check_dshift): Update argument checking for BOZ. Update checking SHIFT against BITSIZE of I or J. * intrinsic.texi: Update docs for DSHIFTL and DSHIFTR. 2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/50573 * gfortran.dg/dshift_3.f90: New test. From-SVN: r180686
2011-10-30i386.md (avx2_vec_dup<mode>): Macroize insn from avx2_vec_dup{v8sf,v4sf} ↵Uros Bizjak2-129/+63
using VF1 mode iterator. * config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator. (vec_dupv4sf): Remove expander. (vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx. (vec_dupv2df): Remove expander. (vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3. (*vec_concatv2df): Merge *vec_concatv2df_sse3. (*vec_dupv4si): Merge *vec_dupv4si_avx. (*vec_dupv2di): Merge *vec_dupv2di_sse3. From-SVN: r180685
2011-10-30tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.Dmitry Plotnikov6-17/+104
2011-10-30 Dmitry Plotnikov <dplotnikov@ispras.ru> * tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions. * optabs.c (supportable_convert_operation): New function. * optabs.h (supportable_convert_operation): New prototype. * tree-vect-stmts.c (vectorizable_conversion): Change condition and behavior for NONE modifier case. * tree.h (VECTOR_INTEGER_TYPE_P): New macro. From-SVN: r180684
2011-10-30* ja.po: Update.Joseph Myers2-240/+215
From-SVN: r180682
2011-10-30scal-to-vec2.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.John David Anglin18-0/+38
* gcc.dg/scal-to-vec2.c (dg-options): Add -fno-common to options on hppa*-*-hpux*. * gcc.dg/torture/vshuf-v8hi.c: Likewise. * gcc.dg/torture/vshuf-v4si.c: Likewise. * gcc.dg/torture/vshuf-v8si.c: Likewise. * gcc.dg/torture/vshuf-v32qi.c: Likewise. * gcc.dg/torture/vshuf-v4di.c: Likewise. * gcc.dg/torture/vshuf-v2df.c: Likewise. * gcc.dg/torture/vshuf-v16qi.c: Likewise. * gcc.dg/torture/vshuf-v4sf.c: Likewise. * gcc.dg/torture/vshuf-v8sf.c: Likewise. * gcc.dg/torture/vshuf-v2di.c: Likewise. * gcc.dg/torture/vshuf-v16hi.c: Likewise. * gcc.dg/torture/vshuf-v4df.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-31.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-33.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-34.c: Likewise. * gcc.dg/vector-compare-2.c: Likewise. From-SVN: r180680
2011-10-30NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.Gerald Pfeifer2-2/+7
* NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux. (EGCS 1.0): Ditto. From-SVN: r180678
2011-10-30tree-vectorizer.h (NUM_PATTERNS): Bump to 9.Jakub Jelinek3-1/+138
* tree-vectorizer.h (NUM_PATTERNS): Bump to 9. * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New function. (vect_vect_recog_func_ptrs): Add it. From-SVN: r180677
2011-10-30Fix minor issuesEric Botcazou1-26/+22
From-SVN: r180675
2011-10-30Properly limit backwards label scanning in reorg.David S. Miller4-17/+23
* reorg.c (label_before_next_insn): New function. (relax_delay_slots): Use it instead of prev_label. * rtl.h (prev_label): Delete declaration. * emit-rtl.c (prev_label): Remove. From-SVN: r180674
2011-10-30Fix marking of SMSed loops as BB_DISABLE_SCHEDULERevital Eres2-2/+27
From-SVN: r180673
2011-10-30re PR c++/50901 (ICE: in build_new_op, at cp/call.c:5016)Paolo Carlini4-0/+21
/cp 2011-10-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50901 * call.c (build_new_op_1): Handle ABS_EXPR together with the other unary EXPR. /testsuite 2011-10-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50901 * g++.dg/cpp0x/pr50901.C: New. From-SVN: r180670
2011-10-30Daily bump.GCC Administrator1-1/+1
From-SVN: r180669
2011-10-29re PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with ↵John David Anglin12-419/+435
unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631) PR target/50617 * config/pa/protos.h (attr_length_save_restore_dltp): Delete. (cmpib_comparison_operator): Likewise. (following_cal, output_and, output_ior, output_move_double, output_fp_move_double, output_block_move, output_block_clear, output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra, output_movb, output_parallel_movb, output_parallel_addb, output_call, output_indirect_call, output_millicode_call, output_mul_insn, output_div_insn, output_mod_insn, singlemove_string, output_arg_descriptor, output_global_address, print_operand, legitimize_pic_address, hppa_encode_label, symbolic_expression_p, fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence, emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay, hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call, attr_length_indirect_call, return_addr_rtx, function_arg_padding, insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p, output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move, hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p, compute_zdepdi_operands, output_64bit_and, output_64bit_ior, reloc_needed, magic_milli, shadd_constant_p): Consistently prefix exported functions and variables with "pa_". * config/pa/predicates.md: Likewise. * config/pa/pa64-hpux.h: likewise. * config/pa/som.h: Likewise. * config/pa/elf.h: Likewise. * config/pa/pa64-linux.h: Likewise. * config/pa/pa.md: Likewise. * config/pa/pa.c: Likewise. * config/pa/pa-linux.h: Likewise. * config/pa/pa.h: Likewise. * config/pa/constraints.md: Likewise. From-SVN: r180660
2011-10-29i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.Uros Bizjak3-20/+27
* config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3. Update all uses. (xop_shl<mode>3): Rename from xop_lshl<mode>3. Update all uses. * config/i386/i386.c: Update all uses. From-SVN: r180659
2011-10-29i386.md (lshlv16qi3): Remove expander.Uros Bizjak2-62/+58
* config/i386/i386.md (lshlv16qi3): Remove expander. (lshrv16qi3): New expander. (<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3 using any_shiftrt code iterator. Cleanup. (ashlv16qi3): Cleanup. (ashrv2di3): Ditto. From-SVN: r180657