aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-10-05Fix vect-shuffle-* test cases.Richard Henderson9-214/+482
From-SVN: r179566
2011-10-05vect.exp (VEC_CFLAGS): Move initialization after DEFAULT_VECTFLAGS ↵Uros Bizjak2-3/+8
initialization. * gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after DEFAULT_VECTFLAGS initialization. From-SVN: r179565
2011-10-05i386: Rewrite ix86_expand_vshuffle.Richard Henderson4-111/+109
1: Handle TARGET_XOP. 2: Reduce code duplication. 3: Use ASHIFT instead of MULT for scaling. 4: Fix errors in building convert-to-v16qi indicies. 5: Handle v2di without sse4.1. From-SVN: r179564
2011-10-05Fix lower_vec_shuffle.Richard Henderson2-174/+104
1: It can never fail. 2: It should mask the input indicies. From-SVN: r179563
2011-10-05i386.c (distance_non_agu_define): Simplify calculation of "found".Uros Bizjak2-30/+31
* config/i386/i386.c (distance_non_agu_define): Simplify calculation of "found". Simplify return value calculation. (distance_agu_use): Ditto. From-SVN: r179561
2011-10-05re PR bootstrap/50621 (Bootstrap failure)Bernd Schmidt3-3/+17
PR bootstrap/50621 * config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only if the function was not shrink-wrapped. (ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached to an insn. * function.c (thread_prologue_and_epilogue_insns): Make sure the shrink_wrapped flag is set even if there is no dump file. From-SVN: r179560
2011-10-05rx.opt (mpid): Define.DJ Delorie9-41/+412
* config/rx/rx.opt (mpid): Define. * config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid (MULTILIB_DIRNAMES): Add pid. * config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val) (rx_num_interrupt_regs): New variable. (rx_gp_base_regnum): New function. Returns the number of the small data area register. (rx_pid_base_regnum): New function. Returns the number of the pid base register. (rx_decl_for_addr): New function. Returns the symbolic part of a MEM. (rx_pid_data_operand): New function. Returns whether an object is in the position independent data area. (rx_legitimize_address): New function. Puts undecided PID objects in the PID data area. (rx_is_legitimate_address): Add support for PID operands. (rx_print_operand_address): Likewise. (rx_print_operand): Likewise. (rx_maybe_pidify_operand): New function. Determine if an operand is suitable for PID addressing. (rx_gen_move_template): Add PID support. (rx_conditional_register_usage): Likewise. (rx_option_override): Initialise rx_num_interrupt_regs. (rx_is_legitimate_constant): Add support for PID constants. (TARGET_LEGITIMIZE_ADDRESS): Define. * config/rx/constraints.md (Rpid): Define. (Rpda): Define. * config/rx/rx.md (UNSPEC_PID_ADDR): Define. (tablejump): Add PID support. (mov<>): Likewise. (mov<>_internal): Likewise. (addsi3): Convert to an expander. Add PID support. (pid_addr): New pattern. * config/rx/rx.h (CPP_SPEC): Define. (ASM_SPEC): Pass -mpid and -mint-register on to assembler. (CASE_VECTOR_PC_RELATIVE): Define. (JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode. * config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype. * doc/invoke.texi (RX Options): Document -mpid command line option. Co-Authored-By: Nick Clifton <nickc@redhat.com> From-SVN: r179558
2011-10-05re PR tree-optimization/38885 (missed FRE with BIT_FIELD_REF and vectors)Richard Guenther4-2/+81
2011-10-05 Richard Guenther <rguenther@suse.de> PR tree-optimization/38885 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads from constants. * gcc.dg/tree-ssa/ssa-fre-33.c: New testcase. From-SVN: r179556
2011-10-05invoke.texi (-fshrink-wrap): Document.Bernd Schmidt11-147/+705
* doc/invoke.texi (-fshrink-wrap): Document. * opts.c (default_options_table): Add it. * common.opt (fshrink-wrap): Add. * function.c (emit_return_into_block): Remove useless declaration. (record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx, requires_stack_frame_p, gen_return_pattern): New static functions. (emit_return_into_block): New arg simple_p. All callers changed. Use gen_return_pattern. (thread_prologue_and_epilogue_insns): Implement shrink-wrapping. * config/i386/i386.md (return): Expand into a simple_return. (simple_return): New expander): (simple_return_internal, simple_return_internal_long, simple_return_pop_internal_long, simple_return_indirect_internal): Renamed from return_internal, return_internal_long, return_pop_internal_long and return_indirect_internal; changed to use simple_return. * config/i386/i386.c (ix86_expand_epilogue): Adjust to expand simple returns. (ix86_pad_returns): Likewise. * function.h (struct rtl_data): Add member shrink_wrapped. * cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that are not jumps or sibcalls can't be compared. * gcc.target/i386/sw-1.c: New test. From-SVN: r179553
2011-10-05tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of vector type.Richard Guenther2-5/+31
2011-10-05 Richard Guenther <rguenther@suse.de> * tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of vector type. (simplify_unary_expression): Handle BIT_FIELD_REFs. (try_to_simplify): Handle BIT_FIELD_REFs. From-SVN: r179549
2011-10-05avx256-unaligned-load-3.c (dg-options): Add -mtune=generic.Uros Bizjak3-2/+8
* gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add -mtune=generic. * gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto. From-SVN: r179548
2011-10-05avr-protos.h (avr_out_addto_sp): New prototype.Georg-Johann Lay4-143/+61
* config/avr/avr-protos.h (avr_out_addto_sp): New prototype. * config/avr/avr.c (avr_out_addto_sp): New function. (adjust_insn_length): Handle ADJUST_LEN_ADDTO_SP. * config/avr/avr.md (adjust_len): Add "addto_sp". (*movhi_sp): Remove insn. (*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): Merge to *addhi3_sp_R. From-SVN: r179544
2011-10-05gimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops with an ↵Richard Guenther3-9/+32
embedded expression valueize and fold that as well. 2011-10-05 Richard Guenther <rguenther@suse.de> * gimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops with an embedded expression valueize and fold that as well. * tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name results from gimple_fold_stmt_to_constant_1. From-SVN: r179543
2011-10-05rx.md (tablejump): Add missing label.Nick Clifton2-9/+17
* config/rx/rx.md (tablejump): Add missing label. (adddi3_internal): Mark operand 0 as early-clobbered. (smaxsi3): Revert previous delta. (adc_internal): Fix whitespace in generated asm. (adc_flags): Likewise. From-SVN: r179542
2011-10-05expmed.c (expand_mult_highpart_optab): Replace optab_handler with the new ↵Andreas Krebbel2-2/+7
widening_optab_handler. 2011-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * expmed.c (expand_mult_highpart_optab): Replace optab_handler with the new widening_optab_handler. From-SVN: r179541
2011-10-05re PR middle-end/50609 (FAIL: gcc.c-torture/execute/pr23135.c compilation, ↵Richard Guenther2-2/+13
-O2 -flto (ICE)) 2011-10-05 Richard Guenther <rguenther@suse.de> PR tree-optimization/50609 * gimple-fold.c (fold_array_ctor_reference): Also handle vector typed constructors. (fold_ctor_reference): Dispatch to fold_array_ctor_reference for vector typed constructors. From-SVN: r179540
2011-10-05i386.c (ix86_emit_binop): New static function.Uros Bizjak2-62/+51
* config/i386/i386.c (ix86_emit_binop): New static function. (ix86_split_lea_for_addr): Use ix86_emit_binop to emit add and shl instructions. (x86_output_mi_thunk): Use ix86_emit_binop to emit add instructions. From-SVN: r179537
2011-10-05builtin-complex-1.c: Use dg-add-options ieee.Uros Bizjak3-27/+29
* gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee. From-SVN: r179536
2011-10-04Add support for more sparc VIS 3.0 instructions.David S. Miller10-26/+542
gcc/ * config/sparc/sparc.md (UNSPEC_FHADD, UNSPEC_FHSUB, UNSPEC_XMUL): New unspecs. (muldi3_v8plus): Use output_v8plus_mult. (*naddsf3, *nadddf3, *nmulsf3, *nmuldf3, *nmuldf3_extend): New VIS 3.0 combiner patterns. (fhaddsf_vis, fhadddf_vis, fhsubsf_vis, fhsubdf_vis, fnhaddsf_vis, fnhaddf_vis, umulxhi_vis, *umulxhi_sp64, umulxhi_v8plus, xmulx_vis, *xmulx_sp64, xmulx_v8plus, xmulxhi_vis, *xmulxhi_sp64, xmulxhi_v8plus): New VIS 3.0 builtins patterns. * config/sparc/sparc.c (sparc_vis_init_builtins): Emit new builtins. (output_v8plus_mult): New function. * config/sparc/sparc-protos.h: Declare it. * config/sparc/visintrin.h (__vis_fhadds, __vis_fhaddd, __vis_fhsubs, __vis_fhsubd, __vis_fnhadds, __vis_fnhaddd, __vis_umulxhi, __vis_xmulx, __vis_xmulxhi): New intrinsics. * doc/extend.texi: Document new builtins. gcc/testsuite/ * gcc.target/sparc/fhalve.c: New test. * gcc.target/sparc/fnegop.c: New test. * gcc.target/sparc/xmul.c: New test. From-SVN: r179535
2011-10-05Daily bump.GCC Administrator1-1/+1
From-SVN: r179534
2011-10-04Fix global var initialized to function call with calls as arguments.Ian Lance Taylor1-0/+5
From-SVN: r179529
2011-10-04re PR libstdc++/49561 ([C++0x] std::list::size complexity)Paolo Carlini7-34/+119
2011-10-04 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/49561 * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size): Add in C++0x mode. (_List_base<>::_List_impl, _List_base<>::_M_get_node, _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&), list<>::size, list<>::swap, list<>::splice): Use it. (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode. * include/bits/list.tcc (list<>::erase): Likewise. (list<>::merge): Adjust in C++0x mode. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. From-SVN: r179528
2011-10-0448698.cc (g): Fix return type, avoid -Wall warning.Paolo Carlini2-1/+6
2011-10-04 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall warning. From-SVN: r179526
2011-10-04c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.Richard Henderson2-7/+11
* c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable. Avoid save_expr unless two_arguments. From-SVN: r179525
2011-10-04alloc_traits.h (__alloc_traits::max_size): Define.Jonathan Wakely9-6/+109
2011-10-04 Jonathan Wakely <jwakely.gcc@gmail.com> * include/ext/alloc_traits.h (__alloc_traits::max_size): Define. (__alloc_traits::rebind): Define. * include/bits/stl_vector.h: Use them. * testsuite/util/testsuite_allocator.h (SimpleAllocator): Define. * testsuite/23_containers/vector/allocator/minimal.cc: New. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. From-SVN: r179523
2011-10-04re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure ↵Janus Weil4-1/+123
argument) 2011-10-04 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * interface.c (check_dummy_characteristics): Check the array shape. 2011-10-04 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * gfortran.dg/dummy_procedure_6.f90: New. From-SVN: r179520
2011-10-04mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT.Ozkan Sezer3-3/+9
2011-10-04 Ozkan Sezer <sezeroz@gmail.com> * config/i386/mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT. * config/i386/mingw32.h (CPP_SPEC): Likewise. From-SVN: r179511
2011-10-04Small -m{cpu,tune}=native fix under Linux/Sparc.David S. Miller2-1/+6
* config/sparc/driver-sparc.c (cpu_names): Fix string for supersparc under Linux. From-SVN: r179510
2011-10-04re PR middle-end/50604 (verify_gimple failed: type mismatch in binary ↵Jakub Jelinek5-4/+43
expression) PR tree-optimization/50604 * builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy, fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure last argument to memcpy has size_type_node type instead of ssizetype. * tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node instead of TREE_TYPE (len) as type for newlen. * gcc.dg/pr50604.c: New test. From-SVN: r179508
2011-10-04Maintain order of LTO sectionsAndi Kleen4-36/+78
Currently when reading in LTO sections from ld -r files they can get randomly reordered based on hash tables and random IDs. This causes reordering later when the final code is generated and also makes crashes harder to reproduce. This patch maintains explicit lists based on the input order and uses those lists to preserve that order when starting the rest of the LTO passes. This is the first step to working -fno-toplevel-reorder for LTO. But this needs more changes because the LTO partitioner can still reorder. This add two lists: one for the section and another one for the file_decl_datas. This is needed because the sections are walked twice through different data structures. In addition some code becomes slightly cleaner because we don't need to pass state through abstract callbacks anymore, but can just use direct type safe calls. gcc/lto/: 2011-10-02 Andi Kleen <ak@linux.intel.com> * lto-object.c (lto_obj_add_section_data): Add list. (lto_obj_add_section): Fill in list. (ltoobj_build_section_table): Pass through list. * lto.c (file_data_list): Declare. (create_subid_section_table): Pass arguments directly. Fill in list of file_datas. (lwstate): Delete. (lto_create_files_from_ids): Pass in direct arguments. Don't maintain list. (lto_file_read): Use explicit section and file data lists. (lto_read_all_file_options): Pass in section_list. * lto.h (lto_obj_build_section_table): Add list. (lto_section_slot): Add next. (lto_section_list): Declare. From-SVN: r179505
2011-10-04Don't XFAIL gcc.dg/graphite/interchange-14.c (PR tree-optimization/49662)Rainer Orth4-3/+10
From-SVN: r179503
2011-10-04re PR tree-optimization/50522 (C++ std::valarray vectorization missed ↵Jakub Jelinek2-4/+7
optimization) PR tree-optimization/50522 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test TYPE_RESTRICT. (ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base unconditionally. From-SVN: r179502
2011-10-04fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to ↵Jakub Jelinek5-0/+44
TYPE_RESTRICT pointer by casting the... * fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by casting the inner pointer if it isn't TYPE_RESTRICT. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer. * gcc.dg/tree-ssa/restrict-4.c: New test. From-SVN: r179500
2011-10-04config.gcc (i[34567]86-*-elf*, [...]): Use i386/t-crtstuff.Joseph Myers2-2/+7
* config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use i386/t-crtstuff. From-SVN: r179498
2011-10-04vector-compare-1.c: Fix trailing white spaces.Artjoms Sinkarovs2-10/+16
2011-10-04 Artem Shinkarov <artyom.shinkaroff@gmail.com> * gcc.c-torture/execute/vector-compare-1.c: Fix trailing white spaces. (main): Use __typeof to get result type of comparison. From-SVN: r179497
2011-10-04lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.Jan Hubicka5-5/+43
* lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter. * lto-streamer-in.c (lto_input_toplevel_asms): Stream in order. * lto-streamer-out.c (lto_output_toplevel_asms): Stream out order. * lto-cgraph.c (order_base): New static var. (lto_output_node): Stream in order. (lto_output_varpool_node): Stream out order. (input_node): Stream in order. (input_varpool_node): Stream out order. (input_cgraph_1): Initialize order base; update call of lto_input_toplevel_asms. From-SVN: r179496
2011-10-04re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)Georg-Johann Lay4-45/+103
PR target/50566 * config/avr/avr-protos.h (avr_legitimize_reload_address): New prototype. * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Copy worker code from here... * config/avr/avr.c (avr_legitimize_reload_address) ...to this new function. Log if avr_log.legitimize_reload_address. From-SVN: r179494
2011-10-04* config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.Eric Botcazou2-18/+21
From-SVN: r179493
2011-10-04longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local variables.Andreas Krebbel2-12/+18
2011-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local variables. Fix second operand of DR. Swap inputs for sdiv_qrnnd. From-SVN: r179491
2011-10-04* lib/target-supports.expIra Rosen2-2/+8
(check_effective_target_vect_multiple_sizes): Make et_vect_multiple_sizes_saved global. (check_effective_target_vect64): Make et_vect64_saved global. From-SVN: r179490
2011-10-03More consistent access to sparc %ger register.David S. Miller2-32/+33
* config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make GSR_REG an input operand to UNSPEC instead of a parallel USE. (faligndata<V64I:mode>_vis): Likewise and use DI mode. (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis): Reference GSR_REG in DI mode, simplify convoluted expressions by using zero_extract. (bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode. From-SVN: r179489
2011-10-04* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.Maxim Kuvyrkov2-1/+5
From-SVN: r179486
2011-10-04Daily bump.GCC Administrator1-1/+1
From-SVN: r179484
2011-10-03* de.po: Update.Joseph Myers2-172/+176
From-SVN: r179478
2011-10-03godump.c (go_output_typedef): Support printing enum values that don't fit in ↵Jakub Jelinek2-3/+20
a signed HOST_WIDE_INT. * godump.c (go_output_typedef): Support printing enum values that don't fit in a signed HOST_WIDE_INT. Co-Authored-By: Ian Lance Taylor <iant@google.com> From-SVN: r179477
2011-10-03cris.c (cris_output_addr_const_extra): Make static.Anatoly Sokolov4-7/+14
* config/cris/cris.c (cris_output_addr_const_extra): Make static. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/cris/cris-protos.h (cris_output_addr_const_extra): Remove. From-SVN: r179476
2011-10-03m68k.c (m68k_output_addr_const_extra): Make static.Anatoly Sokolov4-9/+13
* config/m68k/m68k.c (m68k_output_addr_const_extra): Make static. (TARGET_OUTPUT_ADDR_CONST_EXTRA): Define. * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove. From-SVN: r179474
2011-10-03pointer_to.cc: Define equality operator and use.Jonathan Wakely2-2/+9
2011-10-03 Jonathan Wakely <jwakely.gcc@gmail.com> * testsuite/20_util/pointer_traits/pointer_to.cc: Define equality operator and use. From-SVN: r179473
2011-10-03re PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 ↵Steve Ellcey3-0/+24
B.11.23, probably others)) 2011-10-03 Steve Ellcey <sje@cup.hp.com> PR target/49967 * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*. (gcc_cv_ld_static_option): Ditto. (gcc_cv_ld_dynamic_option): Ditto. * configure: Regenerate. From-SVN: r179472
2011-10-03Minor fixup to the sparc bshuffle pattern.David S. Miller2-1/+4
* config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap GSR_REG in a USE, since it's now a true arg to the UNSPEC. From-SVN: r179470