- 16 Oct, 2011 3 commits
-
-
tree-vect-stmts.c (vectorizable_load): For SLP without permutation treat the first load of the node as the first... * tree-vect-stmts.c (vectorizable_load): For SLP without permutation treat the first load of the node as the first element in its interleaving chain. * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap the operands if necessary and possible. (vect_build_slp_tree): Add new argument. Allow load groups of any size in basic blocks. Keep all the loads for further permutation check. Use the new argument to determine if there is a permutation. Update the recursive calls. (vect_supported_load_permutation_p): Allow subchains of interleaving chains in basic block vectorization. (vect_analyze_slp_instance): Update the call to vect_build_slp_tree. Check load permutation based on the new parameter. (vect_schedule_slp_instance): Don't start from the first element in interleaving chain unless the loads are permuted. From-SVN: r180055
Ira Rosen committed -
PR target/48668 PR target/50689 * cgraphunit.c (cgraph_expand_function): Expand thunks and alises after function body. From-SVN: r180053
Jan Hubicka committed -
From-SVN: r180052
GCC Administrator committed
-
- 15 Oct, 2011 14 commits
-
-
re PR c++/50732 ([type_traits] is_base_of<Base, Derived> unnecessarily instantiates Base (which shouldn't be instantiated)) /cp 2011-10-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50732 * semantics.c (finish_trait_expr): Do not try to instantiate the the base type of an __is_base_of trait. (check_trait_type): Return a tree; use complete_type_or_else. /testsuite 2011-10-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50732 * g++.dg/ext/is_base_of_incomplete.C: New. * g++.dg/ext/is_base_of_diagnostic.C: Adjust dg-errors. * g++.dg/ext/unary_trait_incomplete.C: Likewise. From-SVN: r180048
Paolo Carlini committed -
* tree-vect-slp.c: Include langhooks.h. (vect_create_mask_and_perm): Emit VEC_PERM_EXPR, not a builtin. (vect_transform_slp_perm_load): Use can_vec_perm_expr_p. Simplify mask creation for VEC_PERM_EXPR. * tree-vect-stmts.c (perm_mask_for_reverse): Return the mask, not the builtin. (reverse_vec_elements): Emit VEC_PERM_EXPR not a builtin. * Makefile.in (tree-vect-slp.o): Update dependency. * optabs.c (can_vec_perm_expr_p): Allow NULL as unknown constant. From-SVN: r180047
Richard Henderson committed -
From-SVN: r180040
Eric Botcazou committed -
From-SVN: r180039
Uros Bizjak committed -
PR bootstrap/50738 * ifcvt.c (dead_or_predicable): Revert accidental commit with HAVE_simple_return test. From-SVN: r180038
Alan Modra committed -
* gcc.target/i386/fma_float_?.c (dg-prune_output): Remove. (dg-options): Add -Wno-attributes. * gcc.target/i386/fma_double_?.c: Ditto. * gcc.target/i386/fma_run_float_?.c: Ditto. * gcc.target/i386/fma_run_double_?.c: Ditto. * gcc.target/i386/l_fma_float_?.c: Dtto. * gcc.target/i386/l_fma_double_?.c: Ditto. * gcc.target/i386/l_fma_run_float_?.c: Ditto. * gcc.target/i386/l_fma_run_double_?.c: Ditto. From-SVN: r180029
Uros Bizjak committed -
ifcvt.c (dead_or_predicable): Disable if-conversion when doing so is likely to kill a shrink-wrapping opportunity. * ifcvt.c (dead_or_predicable): Disable if-conversion when doing so is likely to kill a shrink-wrapping opportunity. From-SVN: r180028
Alan Modra committed -
PR rtl-optimization/49941 * jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps. * rtl.h (set_return_jump_label): Declare. * function.c (set_return_jump_label): New function, extracted.. (thread_prologue_and_epilogue_insns): ..from here. Use it in another instance to set return jump_label. * cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label. * reorg.c (find_end_label): Likewise. From-SVN: r180027
Alan Modra committed -
2011-10-15 Nicolas Roche <roche@adacore.com> * gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using either rtp-smp or ravenscar-cert-rtp runtimes. From-SVN: r180026
Nicolas Roche committed -
2011-10-15 Bob Duff <duff@adacore.com> * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr is available. (Expand_N_Extended_Return_Statement): Do not create a renaming of the build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is available. (Make_Build_In_Place_Call_In_Allocator): Add the user-defined pool only if RE_Root_Storage_Pool_Ptr is available. (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a pool actual unless RE_Root_Storage_Pool_Ptr is available. * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool formal only if RE_Root_Storage_Pool_Ptr is available. 2011-10-15 Matthew Heaney <heaney@adacore.com> * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue type): Specify Priority aspect for protected type. From-SVN: r180025
Arnaud Charlet committed -
gfortran.texi (Fortran 2008 status, [...]): Update implementation status, change references from TR 29113 to TS 29113. 2011-10-15 Tobias Burnus <burnus@net-b.de> * gfortran.texi (Fortran 2008 status, TS 29113 status, Further Interoperability of Fortran with C): Update implementation status, change references from TR 29113 to TS 29113. * intrinsic.texi (RANK): Change TR 29113 to TS 29113. * invoke.text (-std=): Ditto, change -std=f2008tr to * -std=f2008ts. * lang.opt (std=): Ditto. * options.c (gfc_handle_option, set_default_std_flags): Ditto * and change GFC_STD_F2008_TR to GFC_STD_F2008_TS. * libgfortran.h: Ditto. * intrinsic.c (add_functions, gfc_check_intrinsic_standard): * Ditto. * decl.c (verify_c_interop_param): Ditto. 2011-10-15 Tobias Burnus <burnus@net-b.de> * gfortran.dg/bind_c_usage_23.f90: Change TR 29113 to TS 29113 * in the comments. * gfortran.dg/bind_c_usage_24.f90: Ditto. * gfortran.dg/rank_3.f90: Ditto. * gfortran.dg/bind_c_usage_22.f90: Ditto, change -std=f2008tr to -std=f2008ts in dg-options. * gfortran.dg/rank_4.f90: Ditto. From-SVN: r180024
Tobias Burnus committed -
* config/sparc/sol2.h: Protect -m{cpu,tune}=native handling with a more complete cpp test. * config/sparc/linux64.h: Likewise. * config/sparc/linux.h: Likewise. * config/sparc/sparc.opt (sparc_debug): New target variable. (mdebug): New target option. * config/sparc/sparc.h (MASK_DEBUG_OPTIONS, MASK_DEBUG_ALL, TARGET_DEBUG_OPTIONS): New defines. * config/sparc/sparc.c (debug_target_flag_bits, debug_target_flags): New functions. (sparc_option_override): Add name strings back to cpu_table[]. Parse -mdebug string. When TARGET_DEBUG_OPTIONS is true, print out the target flags before and after override processing as well as the selected cpu. If MASK_V8PLUS, make sure that the selected cpu is at least v9. From-SVN: r180021
David S. Miller committed -
PR target/49263 * config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro. * config/sh/sh.c (sh_rtx_costs): Add test instruction case. * config/sh/sh.md (tstsi_t): Name existing insn. Make inner and instruction commutative. (tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not, tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor, tstsi_t_zero_extract_subreg_xor_little, tstsi_t_zero_extract_subreg_xor_big): New insns. (*movsicc_t_false, *movsicc_t_true): Replace space with tab in asm output. (*andsi_compact): Reorder alternatives so that K08 is considered first. * gcc.target/sh/pr49263.c: New. From-SVN: r180020
Oleg Endo committed -
From-SVN: r180019
GCC Administrator committed
-
- 14 Oct, 2011 23 commits
-
-
From-SVN: r180015
Eric Botcazou committed -
PR target/50354 * config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default processor is at least V9 and TARGET_64BIT_DEFAULT is defined. From-SVN: r180013
Eric Botcazou committed -
From-SVN: r180007
Gerald Pfeifer committed -
gimplify.c (gimplify_expr): Take care that for bitwise-binary transformation the operands have compatible types. * gimplify.c (gimplify_expr): Take care that for bitwise-binary transformation the operands have compatible types. * gfortran.fortran-torture/compile/logical-2.f90: New test. From-SVN: r180006
Kai Tietz committed -
sse.md (vec_widen_smult_hi_v8hi, [...]): Macroize using VI2_AVX2 mode iterator and any_extend code iterator. * config/i386/sse.md (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2 mode iterator and any_extend code iterator. (vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New expanders. (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable also for TARGET_SSE4_1 using pmuldq insn. (sdot_prodv8hi): Macroize using VI2_AVX2 iterator. (sse2_sse4_1): New code attr. (udot_prodv4si): Macroize using any_extend code iterator. (<s>dot_prodv8si): New expander. * gcc.target/i386/sse2-mul-1.c: New test. * gcc.target/i386/sse4_1-mul-1.c: New test. * gcc.target/i386/avx-mul-1.c: New test. * gcc.target/i386/xop-mul-1.c: New test. * gcc.target/i386/avx2-mul-1.c: New test. From-SVN: r180005
Jakub Jelinek committed -
From-SVN: r180004
Jason Merrill committed -
re PR c++/50563 ([C++0x] Weird syntax acceptance rules for non-static data members initialized in place) PR c++/50563 * parser.c (cp_parser_cache_group): Handle end==CPP_COMMA. (cp_parser_save_nsdmi): Pass it. From-SVN: r180003
Jason Merrill committed -
PR c++/50507 * method.c (walk_field_subobs): Check for NSDMI before complaining about uninitialized fields. From-SVN: r180002
Jason Merrill committed -
* pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node instead of error_mark_node as a placeholder. From-SVN: r180001
Jason Merrill committed -
2011-10-14 Janus Weil <janus@gcc.gnu.org> PR fortran/50570 * expr.c (gfc_check_vardef_context): Don't throw an error on non-pointer assignments involving an intent(in) pointer dummy. 2011-10-14 Janus Weil <janus@gcc.gnu.org> PR fortran/50570 * gfortran.dg/pointer_intent_5.f90: New. From-SVN: r180000
Janus Weil committed -
2011-10-14 Yakovlev Vladimir <vladimir.b.yakovlev@intel.com> * config/i386/i386.c (atom_cost): Changed cost for loading QImode using movzbl. From-SVN: r179999
Yakovlev Vladimir committed -
From-SVN: r179998
Michael Meissner committed -
* config/i386/sse.md (vec_interleave_high<mode>, vec_interleave_low<mode>): Add AVX2 expanders for VI_256 modes. * config/i386/i386.c (expand_vec_perm_interleave3): New function. (ix86_expand_vec_perm_builtin_1): Call it. From-SVN: r179995
Jakub Jelinek committed -
Fix thinko from r179765 * config/avr/avr.c (avr_option_override): Don't override flag_omit_frame_pointer if not actually needed. From-SVN: r179994
Georg-Johann Lay committed -
PR target/46278 * doc/invoke.texi (AVR Options): Document -mstrict-X. * config/avr/avr.opt (-mstrict-X): New option. (avr_strict_X): New variable reflecting -mstrict-X. * config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter outer_code and pass it down to avr_regno_mode_code_ok_for_base_p. (avr_legitimate_address_p): Pass outer_code to avr_reg_ok_for_addr_p and use that function in case PLUS. (avr_mode_code_base_reg_class): Depend on avr_strict_X. (avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code. (avr_option_override): Disable -fcaller-saves if -mstrict-X is on. From-SVN: r179993
Georg-Johann Lay committed -
From-SVN: r179991
Artjoms Sinkarovs committed -
* config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead of VI_128. From-SVN: r179990
Jakub Jelinek committed -
2011-10-14 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Check_Premature_Freezing): If an untagged type is a generic actual, it is a subtype of a type that was frozen by the instantiation, and even if not marked frozen it does not affect the construction of the dispatch table. 2011-10-14 Robert Dewar <dewar@adacore.com> * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code reformatting. * s-rident.ads: Add missing Compiler_Unit pragma. From-SVN: r179989
Arnaud Charlet committed -
2011-10-14 Tobias Burnus <burnus@net-b.de> PR fortran/50718 * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer for dummy arguments with VALUE attribute. 2011-10-14 Tobias Burnus <burnus@net-b.de> PR fortran/50718 * gfortran.dg/pointer_check_11.f90: New. * gfortran.dg/pointer_check_12.f90: New. From-SVN: r179988
Tobias Burnus committed -
* config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 iterator. (ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128. Use <sseinsnmode> instead of TI in mode attr. From-SVN: r179987
Jakub Jelinek committed -
2011-10-14 Gary Dismukes <dismukes@adacore.com> * sem_res.adb: Minor reformatting. 2011-10-14 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): Code and comment reformatting. Use BIP_Task_Master when creating a _master. (BIP_Formal_Suffix): Code reformatting. Correct the case for BIP_Task_Master. (Make_Build_In_Place_Call_In_Object_Declaration): Use BIP_Task_Master when creating a reference to the enclosing function's _master formal. (Move_Activation_Chain): Use BIP_Task_Master when creating a reference to the _master. * exp_ch6.ads: Change BIP_Master to BIP_Task_Master. (Needs_BIP_Finalization_Master): Alphabetized. * sem_ch6.adb (Create_Extra_Formals): Update the usage of BIP_Task_Master. 2011-10-14 Ed Schonberg <schonberg@adacore.com> * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode, reject an aliased keyword on the object declaration of an extended return statement. In older versions of the language indicate that this is illegal in the standard. 2011-10-14 Pascal Obry <obry@adacore.com> * sem_util.adb, sem_ch4.adb: Minor reformatting. 2011-10-14 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Recognize properly procedure calls that are transformed into code statements. 2011-10-14 Vincent Celier <celier@adacore.com> * projects.texi: Minor fix in project example. From-SVN: r179986
Arnaud Charlet committed -
2011-10-14 Ed Schonberg <schonberg@adacore.com> * sem_util.adb: Return objects are aliased if their type is immutably limited as per AI05-0053. 2011-10-14 Gary Dismukes <dismukes@adacore.com> * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or expansion code (moved to sem_res) (Expand_N_Op_Or): Remove Short_Circuit_And_Or expansion code (moved to sem_res). * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean "and" and "or" operators as short-circuit "and then" and "or else", when pragma Short_Circuit_And_Or is active. From-SVN: r179985
Arnaud Charlet committed -
/cp 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38174 * call.c (add_builtin_candidate): If two pointers have a composite pointer type, generate a single candidate with that type. /testsuite 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/38174 * g++.dg/overload/operator4.C: New. From-SVN: r179984
Paolo Carlini committed
-