- 27 Nov, 2009 15 commits
-
-
2009-11-27 Martin Jambor <mjambor@suse.cz> PR middle-end/42006 * tree-sra.c (get_replaced_param_substitute): Call create_tmp_var instead of create_tmp_var. Set DECL_GIMPLE_REG_P to one manually for vector and complex types. (get_adjustment_for_base): Describe return value in the comment. * testsuite/gcc.c-torture/execute/pr42006.c: New test. From-SVN: r154715
Martin Jambor committed -
* config/stormy16/stormy16-lib2.c: Arrange for separate compilation of each function. (__ffshi2): New function. (__stormy16_count_leading_zeros): New function. * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to compile each function into its own object file. (stormy16-lib2-ashlsi3.c): New stub file. (stormy16-lib2-ashrsi3.c): New stub file. (stormy16-lib2-clzhi2.c): New stub file. (stormy16-lib2-count-leading-zeros.c): New stub file. (stormy16-lib2-ctzhi2.c): New stub file. (stormy16-lib2-divsi3.c): New stub file. (stormy16-lib2-ffshi2.c): New stub file. (stormy16-lib2-lshrsi3.c): New stub file. (stormy16-lib2-modsi3.c): New stub file. (stormy16-lib2-parityhi2.c): New stub file. (stormy16-lib2-popcounthi2.c): New stub file. (stormy16-lib2-udivmodsi4.c): New stub file. (stormy16-lib2-udivsi3.c): New stub file. (stormy16-lib2-umodsi3.c): New stub file. * longlong.h (count_leading_zeros): Define macro for stormy16 target. (COUNT_LEADING_ZEROS_0): Likewise. From-SVN: r154713
Nick Clifton committed -
cp/ 2009-11-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38656 * cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR. testsuite/ 2009-11-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38656 * g++.dg/cpp0x/error2.C: New. From-SVN: r154712
Paolo Carlini committed -
* config/i386/sse.md (vec_interleave_highv16qi, vec_interleave_lowv16qi, vec_interleave_highv8hi, vec_interleave_lowv8hi, vec_interleave_highv4si, vec_interleave_lowv4si, vec_interleave_highv2di, vec_interleave_lowv2di, vec_interleave_highv4sf, vec_interleave_lowv4sf, vec_interleave_highv2df, vec_interleave_lowv2df): Remove expanders. (sse_unpcklps, sse_unpckhps, sse2_unpckhpd_exp, sse2_unpcklpd_exp, sse2_punpckhqdq, sse2_punpcklqdq, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq): Rename to their proper vec_interleave equivalent. Update all users to the new name. * config/i386/i386.c, config/i386/i386.md: Update all users. From-SVN: r154711
Richard Henderson committed -
PR rtl-optimization/42084 * cfgexpand.c (maybe_cleanup_end_of_block): Add new parameter, use it to stop walking. (expand_gimple_cond): Adjust call to above. testsuite/ * gcc.dg/pr42084.c: New test. From-SVN: r154709
Michael Matz committed -
re PR target/41810 (Cannot build gcc: gthr-default.h:466: error: '__mutex' was not declared in this scope) PR target/41810 * gthr-solaris.h (__gthread_mutex_destroy): Remove UNUSED. [SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use __extension__ to allow cast from function pointer to object pointer in C++. * doc/install.texi (--enable-threads): Clarify use of Solaris threads. From-SVN: r154708
Rainer Orth committed -
* config/ia64/itanium1.md: Remove. * config/ia64/ia64.md: Do not include it. * config/ia64/ia64.c (ia64_handle_option): Remove "itanium", "itanium1", and "merced" from the processor alias table. (clocks, add_cycles): Remove global variables. (ia64_sched_reorder2): Don't set/use them. (ia64_dfa_new_cycle, ia64_h_i_d_extended, ia64_reorg): Likewise. (bundling): Likewise. Remove extra pass for MMMUL/MMSHF. From-SVN: r154707
Steven Bosscher committed -
2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (last_scheduled_insn): New variable. (s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New functions. (s390_sched_reorder, s390_sched_variable_issue): New functions. (TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks defined. From-SVN: r154705
Andreas Krebbel committed -
PR c++/41906 * tree-eh.c (lower_catch): Stop after expanding a catch-all. testsuite/ * g++.dg/tree-ssa/pr41906.C: New testcase. From-SVN: r154704
Michael Matz committed -
2009-11-27 Richard Guenther <rguenther@suse.de> * timevar.def (TV_LOOP_MOVE_INVARIANTS, TV_LOOP_UNSWITCH, TV_LOOP_UNROLL, TV_LOOP_DOLOOP): New timevars. * loop-init.c (pass_rtl_move_loop_invariants): Use TV_LOOP_MOVE_INVARIANTS. (pass_rtl_unswitch): Use TV_LOOP_UNSWITCH. (pass_rtl_unroll_and_peel): Use TV_LOOP_UNROLL. (pass_rtl_doloop): Use TV_LOOP_DOLOOP. From-SVN: r154703
Richard Guenther committed -
2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * emit-rtl.c (next_active_insn, prev_active_insn): Correct comment. From-SVN: r154702
Andreas Krebbel committed -
* config/i386/i386.c (ix86_emit_restore_sse_regs_using_mov): Remove unused insn variable. * genemit.c (output_peephole2_scratches): Only declare and initialize _regs_allocated if it will be ever used. * cfgloopmanip.c (create_empty_if_region_on_edge): Remove unused succ_bb variable. (create_empty_loop_on_edge): Remove unused freq and cnt variables. * unwind-c.c (PERSONALITY_FUNCTION): Remove unused action_record variable. From-SVN: r154701
Jakub Jelinek committed -
* opts.c (decode_options): If optimize is bigger than 255, set it to 255. * gcc.dg/O16384.c: New test. From-SVN: r154699
Jakub Jelinek committed -
/cp 2009-11-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35112 * pt.c (print_overloaded_functions): New. (print_candidates): Call the latter. * parser.c (cp_parser_class_name): Do not duplicate the diagnostics after the cp_parser_lookup_name call. /testsuite 2009-11-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35112 * g++.dg/parse/crash53.C: New. * g++.dg/parse/error17.C: Adjust, error messages are not duplicated anymore. * g++.dg/template/dtor7.C: Remove xfail-ed dg-bogus directives. From-SVN: r154698
Paolo Carlini committed -
From-SVN: r154697
GCC Administrator committed
-
- 26 Nov, 2009 25 commits
-
-
* gcc.target/i386/vperm-v4sf-1.c (dg-options): Use -msse2. * gcc.target/i386/vperm-v4sf-2.c: Require effective target ssse3. * gcc.target/i386/vperm-v4si-2.c: Ditto. * gcc.target/i386/vperm-v4si-2x.c: Require effective target xop. From-SVN: r154694
Uros Bizjak committed -
* config/i386/sse.md (mulv16qi3): Change back from an expander to an insn-and-split. (mulv4si): Mention AVX not XOP for AVX exception. (*sse2_mulv4si3): Likewise. (mulv2di3): Use vmulld not vpmacsdd for XOP expansion. Tidy. testsuite/ * gcc.target/i386/xop-imul64-vector.c: Look for vpmulld not vpmacsdd. From-SVN: r154693
Richard Henderson committed -
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/41807 * trans-const.c (gfc_conv_const): Set se->expr to a constant on error. From-SVN: r154690
Jerry DeLisle committed -
* cfgexpand (n_stack_vars_conflict): New static variable. (triangular_index): Reduce likelyhood of overflow by performing the division before the multiplication. (resize_stack_vars_conflict): Call fatal_error if overflow occurred in triangular_index. Update n_stack_vars_conflict. From-SVN: r154689
Bernd Schmidt committed -
PR rtl-opt/38582 * regrename.c (struct du_head): New members id, conflicts, hard_conflicts and cannot_rename. (enum scan_actions): Remove terminate_all_read and terminate_overlapping_read; add mark_all_read. (scan_actions_name): Likewise. (du_head_p): New typedef. Define a vector type for it. (id_to_chain): New static variable. (note_sets, clear_dead_regs): Delete functions. (free_chain_data): New function. (merge_overlapping_regs): Simply walk the conflicts bitmap. Remove argument B, all callers changed. (regrename_optimize): Allocate id_to_chain. Ignore chains that have the cannot_rename bit set. Update regno and nregs of a renamed chain. Call free_chain_data when done. (do_replace): Remove death notes when the renamed reg is set in the last insn; add them if not. (mark_conflict, note_sets_clobbers): New static function. (fail_current_block, current_id, open_chains_set, live_hard_regs): New static variables. (scan_rtx_reg): Keep track of conflicts between chains, and between chains and hard regs. Don't terminate chains when we find a read we can't handle, mark it unrenameable instead. For terminate_write, terminate chains that are written with an exact match or a superset of registers. Set fail_current_block if multi-word lifetimes are too complex to handle. (scan_rtx_address): Use mark_all_read instead of terminate_all_read. (build_def_use): Initialize current_id, live_chains and live_hard_regs; free memory for them when done. Rearrange the steps so that earlyclobbers are noted before reads are processed. Add new steps to keep track of hard register lifetimes outside insn operands. From-SVN: r154688
Bernd Schmidt committed -
PR rtl-opt/38582 * regrename.c (struct du_chain): Remove member earlyclobber. (scan_rtx_reg): Don't set it. Remove argument earlyclobber, all callers changed. (scan_rtx): Remove argument earlyclobber, all callers changed. (hide_operands, restore_operands, record_out_operands): New functions, broken out of build_def_use. (build_def_use): Call them as necessary. From-SVN: r154687
Bernd Schmidt committed -
PR c++/42026, DR 239 * parser.c (cp_parser_postfix_expression): A local extern also prevents arg-dependent lookup. From-SVN: r154686
Jason Merrill committed -
From-SVN: r154685
Jason Merrill committed -
From-SVN: r154684
Gabriel Dos Reis committed -
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/41278 * gfortran.dg/array_function_5.f90: New test. From-SVN: r154681
Jerry DeLisle committed -
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/41278 * trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert. From-SVN: r154680
Jerry DeLisle committed -
2009-11-26 Janus Weil <janus@gcc.gnu.org> PR fortran/42048 PR fortran/42167 * gfortran.h (gfc_is_function_return_value): New prototype. * match.c (gfc_match_call): Use new function 'gfc_is_function_return_value'. * primary.c (gfc_is_function_return_value): New function to check if a symbol is the return value of an encompassing function. (match_actual_arg,gfc_match_rvalue,match_variable): Use new function 'gfc_is_function_return_value'. * resolve.c (resolve_common_blocks,resolve_actual_arglist): Ditto. 2009-11-26 Janus Weil <janus@gcc.gnu.org> PR fortran/42048 PR fortran/42167 * gfortran.dg/select_type_10.f03: New test case. * gfortran.dg/typebound_call_11.f03: Extended test case. From-SVN: r154679
Janus Weil committed -
utils.c (copy_type): Unshare the language-specific data and the contents of the language-specific... * gcc-interface/utils.c (copy_type): Unshare the language-specific data and the contents of the language-specific slot if needed. From-SVN: r154678
Eric Botcazou committed -
trans.c (gnat_to_gnu): Set the source location of the operator on both branches of the test in the... * gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location of the operator on both branches of the test in the generic case. From-SVN: r154677
Eric Botcazou committed -
2009-11-26 Richard Guenther <rguenther@suse.de> * tree-ssa-dce.c (nr_walks): New variable. (mark_aliased_reaching_defs_necessary): Adjust oracle cut-off. (perform_tree_ssa_dce): Init nr_walks. From-SVN: r154676
Richard Guenther committed -
re PR c++/10690 ([DR 115] Even when used within typeid(), a template-id generating an overload set with only one function should silently decay to a pointer to function) PR c++/10690 * rtti.c (get_tinfo_decl_dynamic): Call resolve_nondeduced_context. From-SVN: r154675
Jason Merrill committed -
* tree-eh.c (lower_eh_constructs_2): Don't add assignments below statements that can't fall thru. testsuite/ * g++.dg/tree-ssa/pr41905.C: New testcase. From-SVN: r154674
Michael Matz committed -
* builtins.c (expand_builtin_printf, expand_builtin_fprintf, expand_builtin_sprintf): Remove. (expand_builtin): Don't call them. From-SVN: r154673
Michael Matz committed -
2009-11-26 Richard Guenther <rguenther@suse.de> * tree-ssa-dce.c (perform_tree_ssa_dce): Allocate visited bitmap. From-SVN: r154672
Richard Guenther committed -
* config/rx/rx.c (rx_expand_epilogue): Add checks for sibcalls being used incorrectly. (rx_function_ok_for_sibcall): New function. Do not allow indirect sibcalls, or sibcalls from interrupt functions. (TARGET_FUNCTION_OK_FOR_SIBCALL): Define. * config/rx/rx.md (sibcall): Convert to a define_expand. Check for a MEM inside a MEM. (sibcall_value): Likewise. (sibcall_internal): New pattern containing old sibcall pattern. (sibcall_value_internal): Likewise. From-SVN: r154671
Nick Clifton committed -
* posix-threads.cc (ParkHelper::unpark): Do not initialise result, but assign it instead. Eliminates an unused variable warning when the result == 0 assertion is disabled. From-SVN: r154670
Ben Elliston committed -
* config/i386/i386-builtin-types.awk (DEF_VECTOR_TYPE): Allow an optional 3rd argument to define the mode. * config/i386/i386-builtin-types.def (UQI, UHI, USI, UDI): New. (V2UDI, V4USI, V8UHI, V16UQI): New. (V4SF_FTYPE_V4SF_V4SF_V4SI, V2UDI_FTYPE_V2UDI_V2UDI_V2UDI, V4USI_FTYPE_V4USI_V4USI_V4USI, V8UHI_FTYPE_V8UHI_V8UHI_V8UHI, V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): New. * config/i386/i386-modes.def: Rearrange for double-wide AVX. * config/i386/i386-protos.h (ix86_expand_vec_extract_even_odd): New. * config/i386/i386.c (IX86_BUILTIN_VEC_PERM_*): New. (bdesc_args): Add the builtin definitions to match. (ix86_expand_builtin): Expand them. (ix86_builtin_vectorization_cost): Rename from x86_builtin_vectorization_cost. (ix86_vectorize_builtin_vec_perm, struct expand_vec_perm_d, doublesize_vector_mode, expand_vselect, expand_vselect_vconcat, expand_vec_perm_blend, expand_vec_perm_vpermil, expand_vec_perm_pshufb, expand_vec_perm_1, expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr, expand_vec_perm_interleave2, expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1, expand_vec_perm_even_odd, ix86_expand_vec_perm_builtin_1, extract_vec_perm_cst, ix86_expand_vec_perm_builtin, ix86_vectorize_builtin_vec_perm_ok, ix86_expand_vec_extract_even_odd, TARGET_VECTORIZE_BUILTIN_VEC_PERM, TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New. * sse.md (SSEMODE_EO): New. (vec_extract_even<mode>): Use SSEMODE_EO and ix86_expand_vec_extract_even_odd. (vec_extract_odd<mode>): Likewise. (mulv16qi3, vec_pack_trunc_v8hi, vec_pack_trunc_v4si, vec_pack_trunc_v2di): Use ix86_expand_vec_extract_even_odd. testsuite/ * gcc.dg/vect/slp-21.c: Succeed with vect_extract_even_odd too. * lib/target-supports.exp (check_effective_target_vect_extract_even_odd): Add x86. * gcc.target/i386/isa-check.h: New. * gcc.target/i386/vperm-2-2.inc, gcc.target/i386/vperm-4-1.inc, gcc.target/i386/vperm-4-2.inc, gcc.target/i386/vperm-v2df.c, gcc.target/i386/vperm-v2di.c, gcc.target/i386/vperm-v4sf-1.c, gcc.target/i386/vperm-v4sf-2.c, gcc.target/i386/vperm-v4si-1.c, gcc.target/i386/vperm-v4si-2.c, gcc.target/i386/vperm-v4si-2x.c, gcc.target/i386/vperm.pl: New files. From-SVN: r154667
Richard Henderson committed -
* gcc.dg/vect/pr36493.c: Call check_vect. * gcc.dg/vect/pr37539.c: Likewise. * gcc.dg/vect/vect-nest-cycle-3.c: Call check_vect earlier. * tree-vect.h (check_vect): Use cpuid for x86. From-SVN: r154666
Richard Henderson committed -
* target.h (targetm.vectorize.builtin_vec_perm_ok): New. * target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): New. * hooks.h, hooks.c (hook_bool_tree_tree_true): New. * tree-vect-slp.c (vect_create_mask_and_perm): Don't create the vector constant here... (vect_transform_slp_perm_load): ... do it here instead. Validate that the permutation vector is implementable by the target. From-SVN: r154665
Richard Henderson committed -
From-SVN: r154664
GCC Administrator committed
-