- 23 Mar, 2013 3 commits
-
-
* calls.c (expand_call): Add missing guard to code handling return of non-BLKmode structures in MSB. * function.c (expand_function_end): Likewise. From-SVN: r197003
Eric Botcazou committed -
* combine.c (try_combine): Adjust comment. Do not add the set of insn #0 if the destination indirectly is set or dies in insn #2. Tidy up code to distribute a new note. From-SVN: r197002
Eric Botcazou committed -
From-SVN: r196989
GCC Administrator committed
-
- 22 Mar, 2013 21 commits
-
-
PR c++/56684 * pt.c (instantiation_dependent_r): Check DECL_INITIAL of VAR_DECL and CONST_DECL. From-SVN: r196983
Jason Merrill committed -
* config/i386/i386.md (*movdi_internal): Set prefix_rex attribute also for alternatives 16 and 17. From-SVN: r196982
Uros Bizjak committed -
* config/i386/sse.md (*mov<mode>_internal): Merge with *mov<mode>_internal_rex64. Use x64 and nox64 isa attributes. Emit insn template depending on type attribute. Use HAVE_AS_IX86_INTERUNIT_MOVQ to handle broken assemblers that require movd instead of movq mnemonic for interunit moves. Rewrite mode attribute calculation. Remove unit attribute calculation. Set prefix attribute to maybe_vex for sselog1 and ssemov types. Set prefix_data16 attribute for DImode ssemov types. Use Ym instead of y for SSE-MMX conversion alternatives. Reorder operand constraints. testsuite/ChangeLog: * gcc.target/i386/pr22152.c (dg-options): Add -mtune=core2. From-SVN: r196981
Uros Bizjak committed -
* df.h (df_insn_delete): Adjust prototype. * emit-rtl.c (remove_insn): Pass a basic block to df_insn_delete and let it decide whether mark the basic block dirty. (set_insn_deleted): Only pass INSN_P insns to df_insn_delete. * df-scan.c (df_insn_info_delete): New helper function, split off from df_insn_delete. (df_scan_free_bb_info): Use it. (df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans): Likewise. (df_insn_delete): Likewise. Take insn rtx as argument. Verify that the insn is actually an insn and it has a non-NULL basic block. Do not mark basic block dirty if only deleting a DEBUG_INSN. From-SVN: r196978
Steven Bosscher committed -
* df.h (df_insn_delete): Adjust prototype. * emit-rtl.c (remove_insn): Pass a basic block to df_insn_delete and let it decide whether mark the basic block dirty. (set_insn_deleted): Only pass INSN_P insns to df_insn_delete. * df-scan.c (df_insn_info_delete): New helper function, split off from df_insn_delete. (df_scan_free_bb_info): Use it. (df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans): Likewise. (df_insn_delete): Likewise. Take insn rtx as argument. Verify that the insn is actually an insn and it has a non-NULL basic block. Do not mark basic block dirty if only deleting a DEBUG_INSN. From-SVN: r196977
Steven Bosscher committed -
2013-03-22 Sebastian Huber <sebastian.huber@embedded-brains.de> PR testsuite/55994 * gcc.c-torture/execute/builtins/builtins.exp: Add -Wl,--allow-multiple-definition for RTEMS targets. From-SVN: r196970
Sebastian Huber committed -
From-SVN: r196965
Jakub Jelinek committed -
re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue) PR other/43620 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. * Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * interception/Makefile.in: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. From-SVN: r196964
Jakub Jelinek committed -
2013-03-22 Richard Biener <rguenther@suse.de> * tree-ssa-loop-im.c (struct mem_ref): Remove indep_ref and dep_ref members. (mem_ref_alloc): Do not allocate them. (refs_independent_p): Do not query or maintain a cache. From-SVN: r196961
Richard Biener committed -
2013-03-22 Richard Biener <rguenther@suse.de> * tree-ssa-loop-im.c (memory_references): Drop all_refs_in_loop. (gather_mem_refs_in_loops): Do not compute it. (analyze_memory_references): Do not allocate it. (tree_ssa_lim_finalize): Do not free it. (for_all_locs_in_loop): Do not query all_refs_in_loop. From-SVN: r196960
Richard Biener committed -
2013-03-22 Richard Biener <rguenther@suse.de> * is-a.h (as_a): Use gcc_checking_assert. From-SVN: r196959
Richard Biener committed -
From-SVN: r196958
Ian Bolton committed -
From-SVN: r196957
Ian Bolton committed -
2013-03-22 Richard Biener <rguenther@suse.de> * tree-ssa-loop-im.c (memory_references): Add refs_stored_in_loop bitmaps. (gather_mem_refs_in_loops): Perform store accumulation here. (create_vop_ref_mapping_loop): Remove. (create_vop_ref_mapping): Likewise. (analyze_memory_references): Initialize refs_stored_in_loop. (LOOP_DEP_BIT): New define to map to bits in (in)dep_loop bitmaps. (record_indep_loop): Remove. (record_dep_loop): New function. (ref_indep_loop_p_1): Adjust to only walk over references in the loop, not its subloops. (ref_indep_loop_p): Rename to ... (ref_indep_loop_p_2): ... this and recurse over the loop tree, maintaining a more fine-grained cache. (ref_indep_loop_p): Wrap ref_indep_loop_p_2. (tree_ssa_lim_finalize): Free refs_stored_in_loop. From-SVN: r196956
Richard Biener committed -
2013-03-22 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/56678 * include/std/chrono (__is_ratio): Uglify T. From-SVN: r196954
Paolo Carlini committed -
From-SVN: r196902
Jakub Jelinek committed -
From-SVN: r196901
Kai Tietz committed -
* src/x86/win64.S: Make use of ffi_closure_win64_inner symbol pc-relative. From-SVN: r196900
Kai Tietz committed -
2013-03-22 Richard Biener <rguenther@suse.de> * tree-ssa-loop-im.c (struct mem_ref_locs): Remove. (struct mem_ref): Make accesses_in_loop a vec of a vec of aggregate mem_ref_loc. (free_mem_ref_locs): Inline into ... (memref_free): ... this and adjust. (mem_ref_alloc): Adjust. (mem_ref_locs_alloc): Remove. (record_mem_ref_loc): Adjust. (get_all_locs_in_loop): Rewrite into ... (for_all_locs_in_loop): ... this iterator. (rewrite_mem_ref_loc): New functor. (rewrite_mem_refs): Use for_all_locs_in_loop. (sm_set_flag_if_changed): New functor. (execute_sm_if_changed_flag_set): Use for_all_locs_in_loop. (ref_always_accessed): New functor. (ref_always_accessed_p): Use for_all_locs_in_loop. From-SVN: r196899
Richard Biener committed -
* cp-tree.h (identifier_p): New. * call.c: Throughout, call identifier_p insstead of direct comparaison of TREE_CODE against IDENTIFIER_NODE. * decl.c: Likewisse. * decl2.c: Likewise. * init.c: Likewise. * mangle.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. From-SVN: r196897
Gabriel Dos Reis committed -
From-SVN: r196896
GCC Administrator committed
-
- 21 Mar, 2013 16 commits
-
-
2013-03-21 Marc Glisse <marc.glisse@inria.fr> * tree-pass.h (PROP_gimple_lvec): New. * passes.c (dump_properties): Handle PROP_gimple_lvec. (init_optimization_passes): Move pass_lower_vector. * tree-vect-generic.c (gate_expand_vector_operations_ssa): Test PROP_gimple_lvec. (pass_lower_vector): Provide PROP_gimple_lvec. (pass_lower_vector_ssa): Likewise. * cfgexpand.c (pass_expand): Require PROP_gimple_lvec. From-SVN: r196890
Marc Glisse committed -
From-SVN: r196889
Mark Wielaard committed -
* config/i386/i386.md (*movdi_internal): Disparage slightly all MMX moves to/from memory. Use Yi instead of x for SSE-MMX conversion alternatives. From-SVN: r196888
Uros Bizjak committed -
PR middle-end/48087 * diagnostic.def (DK_WERROR): New kind. * diagnostic.h (werrorcount): Define. * diagnostic.c (diagnostic_report_diagnostic): For DK_WARNING promoted to DK_ERROR, increment DK_WERROR counter instead of DK_ERROR counter. * toplev.c (toplev_main): Call print_ignored_options even if just werrorcount is non-zero. Exit with FATAL_EXIT_CODE even if just werrorcount is non-zero. * pt.c (convert_nontype_argument): Count werrorcount as warnings. * call.c (build_temp): Likewise. * method.c (synthesize_method): Likewise. * typeck.c (convert_for_initialization): Likewise. From-SVN: r196887
Jakub Jelinek committed -
PR debug/55608 * dwarf2out.c (tree_add_const_value_attribute): Call ggc_free (array) on failure. (resolve_one_addr): Fail if referenced STRING_CST hasn't been written. (string_cst_pool_decl): New function. (optimize_one_addr_into_implicit_ptr): New function. (resolve_addr_in_expr): Optimize DWARF location expression DW_OP_addr DW_OP_stack_value where DW_OP_addr refers to some variable which doesn't live in memory, but has DW_AT_location or DW_AT_const_value, or refers to a string literal, into DW_OP_GNU_implicit_pointer. (optimize_location_into_implicit_ptr): New function. (resolve_addr): If removing DW_AT_location of a variable because it was DW_OP_addr of address of the variable, but the variable doesn't live in memory, try to emit const value attribute for the initializer. From-SVN: r196886
Jakub Jelinek committed -
From-SVN: r196885
Jason Merrill committed -
2013-03-21 Marc Glisse <marc.glisse@inria.fr> gcc/ * tree.h (VECTOR_TYPE_P): New macro. (VECTOR_INTEGER_TYPE_P, VECTOR_FLOAT_TYPE_P, FLOAT_TYPE_P, TYPE_MODE): Use it. * fold-const.c (fold_cond_expr_with_comparison): Use build_zero_cst. VEC_COND_EXPR cannot be lvalues. (fold_ternary_loc) <VEC_COND_EXPR>: Merge with the COND_EXPR case. gcc/cp/ * call.c (build_conditional_expr_1): Fold VEC_COND_EXPR. gcc/testsuite/ * g++.dg/ext/vector21.C: New testcase. From-SVN: r196884
Marc Glisse committed -
2013-03-21 Marc Glisse <marc.glisse@inria.fr> * simplify-rtx.c (simplify_binary_operation_1) <VEC_CONCAT>: Restrict the transformation to equal modes. From-SVN: r196882
Marc Glisse committed -
From-SVN: r196879
Christophe Lyon committed -
2013-03-21 Richard Biener <rguenther@suse.de> PR tree-optimization/39326 * tree-ssa-loop-im.c (UNANALYZABLE_MEM_ID): New define. (MEM_ANALYZABLE): Adjust. (record_mem_ref_loc): Move bitmap ops ... (gather_mem_refs_stmt): ... here. Use the shared mem-ref for unanalyzable refs, do not record locations for it. (analyze_memory_references): Allocate ref zero as shared unanalyzable ref. (refs_independent_p): Do not test for unanalyzed mems here. (ref_indep_loop_p_1): Special-case disambiguation against the unanalyzed ref. (ref_indep_loop_p): Assert we are not queried for the unanalyzed mem. From-SVN: r196878
Richard Biener committed -
2013-03-21 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/arm-protos.h (tune_params): Add prefer_neon_for_64bits field. * config/arm/arm.c (prefer_neon_for_64bits): New variable. (arm_slowmul_tune): Default prefer_neon_for_64bits to false. (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto. (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto. (arm_cortex_a15_tune, arm_cortex_a5_tune): Ditto. (arm_cortex_a9_tune, arm_v6m_tune, arm_fa726te_tune): Ditto. (arm_option_override): Handle -mneon-for-64bits new option. * config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro. (prefer_neon_for_64bits): Declare new variable. * config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and nota8. (arch_enabled): Handle new arch types. Remove support for onlya8 and nota8. (one_cmpldi2): Use new arch names. * config/arm/arm.opt (mneon-for-64bits): Add option. * config/arm/neon.md (adddi3_neon, subdi3_neon, iordi3_neon) (anddi3_neon, xordi3_neon, ashldi3_neon, <shift>di3_neon): Use neon_for_64bits instead of nota8 and avoid_neon_for_64bits instead of onlya8. * doc/invoke.texi (-mneon-for-64bits): Document. gcc/testsuite: * gcc.target/arm/neon-for-64bits-1.c: New tests. * gcc.target/arm/neon-for-64bits-2.c: Likewise. From-SVN: r196876
Christophe Lyon committed -
2013-03-21 Richard Biener <rguenther@suse.de> PR tree-optimization/39326 * tree-ssa-loop-im.c (bb_loop_postorder): New global static. (sort_bbs_in_loop_postorder_cmp): New function. (gather_mem_refs_in_loops): Assign mem-ref IDs in loop postorder. From-SVN: r196874
Richard Biener committed -
2013-03-21 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_update_interleaving_chain): Remove. (vect_insert_into_interleaving_chain): Likewise. (vect_drs_dependent_in_basic_block): Inline ... (vect_slp_analyze_data_ref_dependence): ... here. New function, split out from ... (vect_analyze_data_ref_dependence): ... here. Simplify. (vect_check_interleaving): Simplify. (vect_analyze_data_ref_dependences): Likewise. Split out ... (vect_slp_analyze_data_ref_dependences): ... this new function. (dr_group_sort_cmp): New function. (vect_analyze_data_ref_accesses): Compute data-reference groups here instead of in vect_analyze_data_ref_dependence. Use a more efficient algorithm. * tree-vect-slp.c (vect_slp_analyze_bb_1): Use vect_slp_analyze_data_ref_dependences. Call vect_analyze_data_ref_accesses earlier. * tree-vect-loop.c (vect_analyze_loop_2): Likewise. * tree-vectorizer.h (vect_analyze_data_ref_dependences): Adjust. (vect_slp_analyze_data_ref_dependences): New prototype. * gcc.dg/vect/vect-outer-3a-big-array.c: Adjust. * gcc.dg/vect/vect-outer-3a.c: Likewise. From-SVN: r196872
Richard Biener committed -
From-SVN: r196871
Uros Bizjak committed -
2013-03-21 Richard Biener <rguenther@suse.de> * tree-ssa-loop-im.c (can_sm_ref_p): Do not test whether ref is stored in the loop. (find_refs_for_sm): Walk only over all stores. (store_motion_loop): Allocate from lim_bitmap_obstack. (store_motion): Likewise. From-SVN: r196870
Richard Biener committed -
2013-03-21 Richard Biener <rguenther@suse.de> * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. From-SVN: r196868
Richard Biener committed
-