- 16 Dec, 2013 15 commits
-
-
2013-12-16 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/59466 * emit-rtl.c (change_address_1): Don't validate address for LRA. * recog.c (general_operand): Accept any memory for LRA. * lra.c (lra_set_insn_recog_data): Add an assert. From-SVN: r206023
Vladimir Makarov committed -
* tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field. (LOOP_VINFO_SCALAR_LOOP): Define. (slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument. * config/i386/sse.md (maskload<mode>, maskstore<mode>): New expanders. * tree-data-ref.c (get_references_in_stmt): Handle MASK_LOAD and MASK_STORE. * internal-fn.def (LOOP_VECTORIZED, MASK_LOAD, MASK_STORE): New internal fns. * tree-if-conv.c: Include expr.h, optabs.h, tree-ssa-loop-ivopts.h and tree-ssa-address.h. (release_bb_predicate): New function. (free_bb_predicate): Use it. (reset_bb_predicate): Likewise. Don't unallocate bb->aux just to immediately allocate it again. (add_to_predicate_list): Add loop argument. If basic blocks that dominate loop->latch don't insert any predicate. (add_to_dst_predicate_list): Adjust caller. (if_convertible_phi_p): Add any_mask_load_store argument, if true, handle it like flag_tree_loop_if_convert_stores. (insert_gimplified_predicates): Likewise. (ifcvt_can_use_mask_load_store): New function. (if_convertible_gimple_assign_stmt_p): Add any_mask_load_store argument, check if some conditional loads or stores can't be converted into MASK_LOAD or MASK_STORE. (if_convertible_stmt_p): Add any_mask_load_store argument, pass it down to if_convertible_gimple_assign_stmt_p. (predicate_bbs): Don't return bool, only check if the last stmt of a basic block is GIMPLE_COND and handle that. Adjust add_to_predicate_list caller. (if_convertible_loop_p_1): Only call predicate_bbs if flag_tree_loop_if_convert_stores and free_bb_predicate in that case afterwards, check gimple_code of stmts here. Replace is_predicated check with dominance check. Add any_mask_load_store argument, pass it down to if_convertible_stmt_p and if_convertible_phi_p, call if_convertible_phi_p only after all if_convertible_stmt_p calls. (if_convertible_loop_p): Add any_mask_load_store argument, pass it down to if_convertible_loop_p_1. (predicate_mem_writes): Emit MASK_LOAD and/or MASK_STORE calls. (combine_blocks): Add any_mask_load_store argument, pass it down to insert_gimplified_predicates and call predicate_mem_writes if it is set. Call predicate_bbs. (version_loop_for_if_conversion): New function. (tree_if_conversion): Adjust if_convertible_loop_p and combine_blocks calls. Return todo flags instead of bool, call version_loop_for_if_conversion if if-conversion should be just for the vectorized loops and nothing else. (main_tree_if_conversion): Adjust caller. Don't call tree_if_conversion for dont_vectorize loops if if-conversion isn't explicitly enabled. * tree-vect-data-refs.c (vect_check_gather): Handle MASK_LOAD/MASK_STORE. (vect_analyze_data_refs, vect_supportable_dr_alignment): Likewise. * gimple.h (gimple_expr_type): Handle MASK_STORE. * internal-fn.c (expand_LOOP_VECTORIZED, expand_MASK_LOAD, expand_MASK_STORE): New functions. * tree-vectorizer.c: Include tree-cfg.h and gimple-fold.h. (vect_loop_vectorized_call, fold_loop_vectorized_call): New functions. (vectorize_loops): Don't try to vectorize loops with loop->dont_vectorize set. Set LOOP_VINFO_SCALAR_LOOP for if-converted loops, fold LOOP_VECTORIZED internal call depending on if loop has been vectorized or not. * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges): New function. (slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument. If non-NULL, copy basic blocks from scalar_loop instead of loop, but still to loop's entry or exit edge. (slpeel_tree_peel_loop_to_edge): Add scalar_loop argument, pass it down to slpeel_tree_duplicate_loop_to_edge_cfg. (vect_do_peeling_for_loop_bound, vect_do_peeling_for_loop_alignment): Adjust callers. (vect_loop_versioning): If LOOP_VINFO_SCALAR_LOOP, perform loop versioning from that loop instead of LOOP_VINFO_LOOP, move it to the right place in the CFG afterwards. * tree-vect-loop.c (vect_determine_vectorization_factor): Handle MASK_STORE. * cfgloop.h (struct loop): Add dont_vectorize field. * tree-loop-distribution.c (copy_loop_before): Adjust slpeel_tree_duplicate_loop_to_edge_cfg caller. * optabs.def (maskload_optab, maskstore_optab): New optabs. * passes.def: Add a note that pass_vectorize must immediately follow pass_if_conversion. * tree-predcom.c (split_data_refs_to_components): Give up if DR_STMT is a call. * tree-vect-stmts.c (vect_mark_relevant): Don't crash if lhs is NULL. (exist_non_indexing_operands_for_use_p): Handle MASK_LOAD and MASK_STORE. (vectorizable_mask_load_store): New function. (vectorizable_call): Call it for MASK_LOAD or MASK_STORE. (vect_transform_stmt): Handle MASK_STORE. * tree-ssa-phiopt.c (cond_if_else_store_replacement): Ignore DR_STMT where lhs is NULL. * optabs.h (can_vec_perm_p): Fix up comment typo. (can_vec_mask_load_store_p): New prototype. * optabs.c (can_vec_mask_load_store_p): New function. * gcc.dg/vect/vect-cond-11.c: New test. * gcc.target/i386/vect-cond-1.c: New test. * gcc.target/i386/avx2-gather-5.c: New test. * gcc.target/i386/avx2-gather-6.c: New test. * gcc.dg/vect/vect-mask-loadstore-1.c: New test. * gcc.dg/vect/vect-mask-load-1.c: New test. From-SVN: r206022
Jakub Jelinek committed -
From-SVN: r206021
Jakub Jelinek committed -
From-SVN: r206020
Jakub Jelinek committed -
PR libgomp/59337 * openmp.c (resolve_omp_atomic): Adjust error message. * gfortran.dg/gomp/pr59337.f90: New test. From-SVN: r206017
Jakub Jelinek committed -
From-SVN: r206016
Kirill Yukhin committed -
2013-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/driver-arm.c (arm_cpu_table): Add cortex-a12 entry. From-SVN: r206015
Kyrylo Tkachov committed -
PR ipa/59265 * ipa-profile.c (ipa_profile_generate_summary): Do not ICE when call is already devirtualized. Co-Authored-By: Markus Trippelsdorf <octoploid@yandex.com> From-SVN: r206014
Jan Hubicka committed -
Makefile.in (version.o): Restore dependencies on $(REVISION), $(DATESTAMP), $(BASEVER) and $(DEVPHASE). * Makefile.in (version.o): Restore dependencies on $(REVISION), $(DATESTAMP), $(BASEVER) and $(DEVPHASE). From-SVN: r206013
Jakub Jelinek committed -
PR ipa/59473 * ipa-devirt.c (get_class_context): Do not ICE when type is found at wrong offset. From-SVN: r206012
Jan Hubicka committed -
PR libgomp/58756 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_REDUCTION>: For reductions without placeholder if is_simd, but when not using GOMP_SIMD* internal calls, also perform the reduction operation on the outer var rather than simple assignment. * testsuite/libgomp.c/pr58756.c: New test. From-SVN: r206011
Jakub Jelinek committed -
* config/i386/i386.c (slm_cost): Fix imul cost for HI. From-SVN: r206010
Yuri Rumyantsev committed -
PR middle-end/58956 PR middle-end/59470 * gimple-walk.h (walk_stmt_load_store_addr_fn): New typedef. (walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Use it for callback params. * gimple-walk.c (walk_stmt_load_store_ops): Likewise. (walk_stmt_load_store_addr_ops): Likewise. Adjust all callback calls to supply the gimple operand containing the base tree as an extra argument. * tree-ssa-ter.c: Include gimple-walk.h. (find_ssaname, find_ssaname_in_store): New helper functions. (find_replaceable_in_bb): For calls or GIMPLE_ASM, only set same_root_var if USE is used somewhere in the stores of the stmt. * ipa-prop.c (visit_ref_for_mod_analysis): Remove name of the stmt argument and ATTRIBUTE_UNUSED, add another unnamed tree argument. * ipa-pure-const.c (check_load, check_store, check_ipa_load, check_ipa_store): Likewise. * gimple.c (gimple_ior_addresses_taken_1, check_loadstore): Likewise. * ipa-split.c (test_nonssa_use, mark_nonssa_use): Likewise. (verify_non_ssa_vars, visit_bb): Adjust their callers. * cfgexpand.c (add_scope_conflicts_1): Use walk_stmt_load_store_addr_fn type for visit variable. (visit_op, visit_conflict): Remove name of the stmt argument and ATTRIBUTE_UNUSED, add another unnamed tree argument. * tree-sra.c (asm_visit_addr): Likewise. Remove name of the data argument and ATTRIBUTE_UNUSED. * cgraphbuild.c (mark_address, mark_load, mark_store): Add another unnamed tree argument. * gimple-ssa-isolate-paths.c (check_loadstore): Likewise. Remove ATTRIBUTE_UNUSED from stmt parameter. * gcc.target/i386/pr59470.c: New test. From-SVN: r206009
Jakub Jelinek committed -
2013-12-16 Chung-Lin Tang <cltang@codesourcery.com> * opts-common.c (integral_argument): Add support for hexadecimal command option integer arguments. Update comments. From-SVN: r206008
Chung-Lin Tang committed -
From-SVN: r206007
GCC Administrator committed
-
- 15 Dec, 2013 7 commits
-
-
PR ipa/59265 * ipa-prop.c (ipa_analyze_call_uses): Skip already devirtualized calls. g++.dg/torture/pr59265.C: New testcase. From-SVN: r206004
Jan Hubicka committed -
* gcc.dg/vect/vect-nop-move.c (foo32x2_be): Call __builtin_ia32_emms for 32bit x86 targets. (foo32x2_le): Ditto. (main): Reorder function calls. From-SVN: r206002
Uros Bizjak committed -
* gcc.target/i386/pr57756.c (dg-options): Add -mno-sse3. From-SVN: r206000
Uros Bizjak committed -
From-SVN: r205999
Uros Bizjak committed -
* gcc.target/i386/pr43662.c (dg-options): Add -maccumulate-outgoing-args. * gcc.target/i386/pr43869.c (dg-options): Ditto. * gcc.target/i386/pr57003.c (dg-options): Ditto. * gcc.target/i386/avx-vzeroupper-16.c (dg-options): Remove -mtune=generic and add -maccumulate-outgoing-args instead. * gcc.target/i386/avx-vzeroupper-17.c (dg-options): Ditto. * gcc.target/i386/avx-vzeroupper-18.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/func-1.c (dg-options): Add -maccumulate-outgoing-args. * gcc.target/x86_64/abi/callabi/func-2a.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/func-2b.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/func-indirect.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/func-indirect-2a.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/func-indirect-2b.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/leaf-1.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/leaf-2.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/pr38891.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-1.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-2.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-3.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-4a.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-4b.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-5a.c (dg-options): Ditto. * gcc.target/x86_64/abi/callabi/vaarg-5b.c (dg-options): Ditto. From-SVN: r205998
Uros Bizjak committed -
2013-12-15 Janus Weil <janus@gcc.gnu.org> PR fortran/59493 * class.c (gfc_find_intrinsic_vtab): Handle BT_CLASS. 2013-12-15 Janus Weil <janus@gcc.gnu.org> PR fortran/59493 * gfortran.dg/unlimited_polymorphic_15.f90: New. From-SVN: r205997
Janus Weil committed -
From-SVN: r205996
GCC Administrator committed
-
- 14 Dec, 2013 14 commits
-
-
PR middle-end/58477 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers. * g++.dg/ipa/devirt-19.C: New testcase. From-SVN: r205993
Jan Hubicka committed -
From-SVN: r205992
Marek Polacek committed -
PR middle-end/58477 * cgraphclones.c (cgraph_clone_edge): Do not resolve speculative edges. From-SVN: r205991
Jan Hubicka committed -
2013-12-14 Janus Weil <janus@gcc.gnu.org> PR fortran/59502 * primary.c (gfc_match_varspec): Check for 'class_ok'. 2013-12-14 Janus Weil <janus@gcc.gnu.org> PR fortran/59502 * gfortran.dg/class_57.f90: New. From-SVN: r205990
Janus Weil committed -
gcc/ PR target/59492 * config/i386/i386.c (ix86_function_specific_restore): Don't change -fPIC. 2013-12-14 H.J. Lu <hongjiu.lu@intel.com> PR target/59492 * g++.dg/other/pr59492.C: New file. From-SVN: r205989
H.J. Lu committed -
From-SVN: r205988
H.J. Lu committed -
From-SVN: r205987
Andreas Schwab committed -
From-SVN: r205986
Eric Botcazou committed -
From-SVN: r205985
Marek Polacek committed -
PR sanitizer/59503 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Call expand_binop with correct optab depending on code. testsuite/ * c-c++-common/ubsan/pr59503.c: New test. From-SVN: r205984
Marek Polacek committed -
2013-12-14 Janus Weil <janus@gcc.gnu.org> PR fortran/59450 * module.c (mio_expr): Handle type-bound function expressions. 2013-12-14 Janus Weil <janus@gcc.gnu.org> PR fortran/59450 * gfortran.dg/typebound_proc_31.f90: New. From-SVN: r205983
Janus Weil committed -
2013-12-14 Tom de Vries <tom@codesourcery.com> * calls.c (expand_call): Fix REG_PARM_STACK_SPACE comparison. From-SVN: r205982
Tom de Vries committed -
From-SVN: r205981
DJ Delorie committed -
From-SVN: r205980
GCC Administrator committed
-
- 13 Dec, 2013 4 commits
-
-
msp430.md (movqi): replace general_operand with msp_general_operand and nonimmediate_operand with... * config/msp430/msp430.md (movqi): replace general_operand with msp_general_operand and nonimmediate_operand with msp_nonimmediate_operand to allow volatile operands. (movhi): Likewise. (movpsi): Likewise. (addpsi3): Likewise. (addhi3): Likewise. (addhi3_cy): Likewise. (addchi4_cy): Likewise. (xor<mode>3): Likewise. (ome_cmpl<mode>2): Likewise. (extendqihi2): Likewise. (zero_extendqihi2): Likewise. (zero_extendhipsi2): Likewise. (truncpsihi2): Likewise. (srai_1): Likewise. From-SVN: r205977
DJ Delorie committed -
* g++.dg/cilk-plus/cilk-plus.exp: Properly set ld_library_path. Use TEST_EXTRA_LIBS instead of ALWAYS_CFLAGS. From-SVN: r205976
Rainer Orth committed -
* configure.ac: Add user-friendly check for native x86_64-linux multilibs. * configure: Regenerate. From-SVN: r205975
Francois-Xavier Coudert committed -
2013-12-13 Vladimir Makarov <vmakarov@redhat.com> * ira.h (struct ira_reg_equiv): Rename to ira_reg_equiv_s. * ira.c: Ditto. * lra-int.h (lra_init_equiv): New prototype. * lra-constraints.c (lra_init_equiv, update_equiv): New functions. (loc_equivalence_callback): Use the 3rd arg. (lra_constraints): Update equivalences. Pass curr_insn to simplify_replace_fn_rtx. * lra.c (lra): Call lra_init_equiv. From-SVN: r205974
Vladimir Makarov committed
-