- 07 Sep, 2012 7 commits
-
-
2012-09-07 Tom de Vries <tom@codesourcery.com> PR tree-optimization/53986 * gcc.dg/tree-ssa/vrp80.c: New test. * gcc.dg/tree-ssa/vrp80-2.c: Same. From-SVN: r191058
Tom de Vries committed -
2012-09-07 Tom de Vries <tom@codesourcery.com> PR tree-optimization/53986 * tree-vrp.c (extract_range_from_multiplicative_op_1): Allow LSHIFT_EXPR. (extract_range_from_binary_expr_1): Handle LSHIFT with constant range as shift amount. From-SVN: r191057
Tom de Vries committed -
2012-09-07 Segher Boessenkool <segher@kernel.crashing.org> gcc/ * config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete. * config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete. * config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete. * config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete. * config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete. * config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete. * config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete. * config/rs6000/rs6000.c (print_operand) ['.']: Delete. * config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete. * config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>): Replace %. with nop. (tls_gd_call_aix<TLSmode:tls_abi_suffix>): Ditto. (tls_ld_aix<TLSmode:tls_abi_suffix>): Ditto. (tls_ld_call_aix<TLSmode:tls_abi_suffix>): Ditto. (call_nonlocal_aix32): Ditto. (call_nonlocal_aix64): Ditto. (call_value_nonlocal_aix32): Ditto. (call_value_nonlocal_aix64): Ditto. From-SVN: r191055
Segher Boessenkool committed -
2012-06-04 Andi Kleen <ak@linux.intel.com> * doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar et.al. should be used. From-SVN: r191052
Andi Kleen committed -
With a LTO build of a large project (>11k subfiles incrementially linked) storing the LTO resolutions took over 0.5GB memory: lto/lto.c:1087 (lto_resolution_read) 0: 0.0% 540398500 15903: 0.0% The reason is that the declaration indexes are quite sparse, but every subfile got a full continuous vector for them. Since there are so many of them the many vectors add up. This patch instead stores the resolutions initially in a compact (index, resolution) format. This is only expanded into a sparse vector for fast lookup when the subfile is actually read, but then immediately freed. This means only one vector is allocated at a time. This brings the overhead for this down to less than 3MB for the test case: lto/lto.c:1087 (lto_resolution_read) 0: 0.0% 2821456 42186: 0.0% gcc/: 2012-09-06 Andi Kleen <ak@linux.intel.com> * gcc/lto-streamer.h (res_pair): Add. (lto_file_decl_data): Replace resolutions with respairs. Add max_index. * gcc/lto/lto.c (lto_resolution_read): Remove max_index. Add rp. Initialize respairs. (lto_file_finalize): Set up resolutions vector lazily from respairs. From-SVN: r191051
Andi Kleen committed -
From-SVN: r191050
GCC Administrator committed -
This change entailed adding a few new methods to double_int. The change results in a 0.163% time improvement with a 70% confidence. Tested on x86_64. Index: gcc/ChangeLog 2012-09-06 Lawrence Crowl <crowl@google.com> * double-int.h (double_int::operator &=): New. (double_int::operator ^=): New. (double_int::operator |=): New. (double_int::mul_with_sign): Modify overflow parameter to bool*. (double_int::add_with_sign): New. (double_int::ule): New. (double_int::sle): New. (binary double_int::operator *): Remove parameter name. (binary double_int::operator +): Likewise. (binary double_int::operator -): Likewise. (binary double_int::operator &): Likewise. (double_int::operator |): Likewise. (double_int::operator ^): Likewise. (double_int::and_not): Likewise. (double_int::from_shwi): Tidy formatting. (double_int::from_uhwi): Likewise. (double_int::from_uhwi): Likewise. * double-int.c (double_int::mul_with_sign): Modify overflow parameter to bool*. (double_int::add_with_sign): New. (double_int::ule): New. (double_int::sle): New. * builtins.c: Modify to use the new double_int interface. * cgraph.c: Likewise. * combine.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * fixed-value.c: Likewise. * fold-const.c: Likewise. * gimple-fold.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimplify-rtx.c: Likewise. * ipa-prop.c: Likewise. * loop-iv.c: Likewise. * optabs.c: Likewise. * stor-layout.c: Likewise. * tree-affine.c: Likewise. * tree-cfg.c: Likewise. * tree-dfa.c: Likewise. * tree-flow-inline.h: Likewise. * tree-object-size.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-sccvn: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vrp.c: Likewise. * tree.h: Likewise. * tree.c: Likewise. * varasm.c: Likewise. From-SVN: r191047
Lawrence Crowl committed
-
- 06 Sep, 2012 16 commits
-
-
2012-09-06 Cary Coutant <ccoutant@google.com> include/ * dwarf2.def: Edit comment. From-SVN: r191046
Cary Coutant committed -
* configure.ac (hle prefixes): Remove .code64. * configure: Regenerated. From-SVN: r191044
Uros Bizjak committed -
2012-09-06 Thiago Macieira <thiago.macieira@intel.com> PR libstdc++/54172 * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if we detect that another thread has had success. Don't compare_exchange from a finished state back to a waiting state. Comment. From-SVN: r191042
Thiago Macieira committed -
From-SVN: r191037
Diego Novillo committed -
2012-09-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.c: Use CONST_INT_P, CONST_DOUBLE_P, REG_P, MEM_P, LABEL_P, JUMP_P, CALL_P, NOTE_P, BARRIER_P consistently. * config/arm/arm.h: Use REG_P, MEM_P consistently. * config/arm/arm.md: Use CONST_INT_P, REG_P, MEM_P, CONST_DOUBLE_P consistently. * config/arm/neon.md: Use REG_P consistently. * config/arm/predicates.md: Use CONST_INT_P, REG_P, MEM_P consistently. * config/arm/thumb2.md: Use CONST_INT_P, REG_P consistently. * config/arm/vec-common.md: Use REG_P consistently. From-SVN: r191034
Kyrylo Tkachov committed -
PR c++/54341 PR c++/54253 * semantics.c (sort_constexpr_mem_initializers): New. (build_constexpr_constructor_member_initializers): Use it. (cx_check_missing_mem_inits): Skip artificial fields. * init.c (expand_aggr_init_1): Don't zero out a class with no data. From-SVN: r191033
Jason Merrill committed -
2012-09-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/54498 * tree-ssa-alias.h (get_continuation_for_phi): Add flag to abort when reaching an already visited region. * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it. (get_continuation_for_phi_1): Likewise. (walk_non_aliased_vuses): When we translated the reference, abort when we re-visit a region. * tree-ssa-pre.c (translate_vuse_through_block): Adjust. From-SVN: r191030
Richard Guenther committed -
* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS section. * config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new arguments to TARGET_ADDRESS_COST call. From-SVN: r191027
David Edelsohn committed -
2012-09-06 Richard Guenther <rguenther@suse.de> * tree.h (MOVE_NONTEMPORAL): Remove. * tree-pretty-print.c (dump_generic_node): Remove MOVE_NONTEMPORAL handling. * expr.c (expand_expr_real_1): Likewise. From-SVN: r191022
Richard Guenther committed -
2012-09-06 Richard Guenther <rguenther@suse.de> * passes.c (execute_function_todo): Call compute_may_aliases only if flag_tree_pta is set. From-SVN: r191015
Richard Guenther committed -
2012-09-06 Andrew Pinski <apinski@cavium.com> PR tree-opt/54494 * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also. 2012-09-06 Andrew Pinski <apinski@cavium.com> PR tree-opt/54494 * gcc.dg/tree-ssa/strlen-1.c: New testcase. From-SVN: r191014
Andrew Pinski committed -
re PR rtl-optimization/54455 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in compute_bb_for_insn, at cfgrtl.c:418) PR rtl-optimization/54455 * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru bb ends up with asm goto referencing bb's label. * gcc.dg/54455.c: New test. From-SVN: r191013
Jakub Jelinek committed -
PR fortran/54463 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Fix matmul call to BLAS if the default-kind has been promoted. 2012-09-06 Tobias Burnus PR fortran/54463 * gfortran.dg/promotion_2.f90: New. From-SVN: r191012
Tobias Burnus committed -
Support DW_AT_high_pc as a constant. Support DW_AT_ranges. PR gcc/52583 From-SVN: r191008
Ian Lance Taylor committed -
2012-09-06 Chen Liqin <liqin.gcc@gmail.com> * config/score/score.c: Remove TARGET_LEGITIMIZE_ADDRESS define and score_legitimize_address function, use compiler default code instead. From-SVN: r191004
Chen Liqin committed -
From-SVN: r191002
GCC Administrator committed
-
- 05 Sep, 2012 17 commits
-
-
* ipa-inline.c (want_inline_small_function_p): Use INLINE_HINT_loop_iterations hint. From-SVN: r190999
Jan Hubicka committed -
* config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v. From-SVN: r190997
Uros Bizjak committed -
2012-09-05 Andrew Pinski <apinski@cavium.com> * optabs.c (emit_conditional_add): Correct comment about the arguments. Remove code which might swap op2 and op3 since they cannot be swapped. * doc/md.texi (add@var{mode}cc): Fix document about how the arguments are used. From-SVN: r190994
Andrew Pinski committed -
From-SVN: r190993
Uros Bizjak committed -
* config/fpu-387.h (set_fpu): Use __builtin_ia32_stmxcsr and __builtin_ia32_ldmxcsr intrinsics. From-SVN: r190992
Uros Bizjak committed -
2012-09-05 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/54296 * include/bits/hashtable.h (_M_erase(size_type, __node_base*, __node_type*)): New. (erase(const_iterator)): Use latter. (_M_erase(std::true_type, const key_type&)): New, likewise. (_M_erase(std::false_type, const key_type&)): New. Find all nodes matching the key before deallocating them so that the key doesn't get invalidated. (erase(const key_type&)): Use the new member functions. * testsuite/23_containers/unordered_map/erase/54296.cc: New. * testsuite/23_containers/unordered_multimap/erase/54296.cc: New. From-SVN: r190991
François Dumont committed -
* hooks.c (hook_int_rtx_mode_as_bool_0): New function. * hooks.h (hook_int_rtx_mode_as_bool_0): Declare it. * output.h (default_address_cost): Add machine_mode and address space arguments. * target.def (address_cost): Likewise. * rtlanal.c (address_cost): Pass mode and address space to target hook. (default_address_cost): Add unnamed machine_mode and address space arguments. * doc/tm.texi: Regenerate. * config/alpha/alpha.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/arm/arm.c (arm_address_cost): Add machine_mode and address space arguments. * config/avr/avr.c (avr_address_cost): Likewise. * config/bfin/bfin.c (bfin_address_cost): Likewise. * config/cr16/cr16.c (cr16_address_cost): Likewise. * config/cris/cris.c (cris_address_cost): Likewise. * config/epiphany/epiphany.c (epiphany_address_cost): Likewise. * config/i386/i386.c (ix86_address_cost): Likewise. * config/ia64/ia64.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and address space arguments. Pass them on in recursive invocation. * config/lm32/lm32.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address space arguments. * config/m32r/m32r.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise. * config/mep/mep.c (mep_address_cost): Add machine_mode and address space arguments. * config/microblaze/microblaze.c (microblaze_address_cost): Likewise. * config/mips/mips.c (mips_address_cost): Likewise. * config/mmix/mmix.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and address space arguments. (mn10300_rtx_costs): Pass GET_MODE (x) and MEM_ADDR_SPACE (x) to mn10300_address_cost. * config/pa/pa.c (hppa_address_cost): Add machine_mode and address space arguments. * config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise. (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/rx/rx.c (rx_address_cost): Add machine_mode and address space arguments. * config/s390/s390.c (s390_address_cost): Likewise. * config/score/score-protos.h (score_address_cost): Likewise. * config/score/score.c (score_address_cost): Likewise. * config/sh/sh.c (sh_address_cost): Likewise. * config/sparc/sparc.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/spu/spu.c (TARGET_ADDRESS_COST): Likewise. * config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode and address space arguments. * config/v850/v850.c (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. * config/vax/vax.c (vax_address_cost): Add machine_mode and address space arguments. * config/xtensa/xtensa (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0. From-SVN: r190990
Oleg Endo committed -
2012-09-05 Tobias Burnus <burnus@net-b.de> PR fortran/54462 * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference. From-SVN: r190989
Tobias Burnus committed -
PR bootstrap/54484 * vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN argument. From-SVN: r190988
Diego Novillo committed -
PR middle-end/54486 * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use build_int_cst with size_type_node instead of size_int. * c-c++-common/pr54486.c: New test. From-SVN: r190986
Jakub Jelinek committed -
sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}. * config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}. Use nonimmediate_operand instead of nonimm_not_xmm0_operand{,_maybe_avx}. (<sse4_1_avx2>_pblendvb): Ditto. (sse4_2_pcmpestr): Ditto. (*sse4_2_pcmpestr_unaligned): Ditto. (sse4_2_pcmpistr): Ditto. (*sse4_2_pcmpistr_unaligned): Ditto. * config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate. (nonimm_not_xmm0_operand): Ditto. (nonimm_not_xmm0_operand_maybe_avx): Ditto. (nonimm_not_xmm0_operand_maybe_avx): Ditto. * config/i386/i386.md (rdpmc): Do not force operand 1 into ecx. From-SVN: r190985
Uros Bizjak committed -
random.cc (random_device::_M_init): Check whether cpuid instruction is available by using __get_cpuid_max. * src/c++11/random.cc (random_device::_M_init): Check whether cpuid instruction is available by using __get_cpuid_max. From-SVN: r190982
Ulrich Drepper committed -
* bb-reorder.c: Clarify a few points in the head comment and fix long lines in other comments. (find_traces): Fix long line. (find_traces_1_round): Likewise. (better_edge_p): Likewise. (connect_traces): Likewise. (duplicate_computed_gotos): Likewise. (find_rarely_executed_basic_blocks_and_cr): Remove trailing spaces. (fix_up_fall_thru_edges): Fix formatting. From-SVN: r190979
Eric Botcazou committed -
2012-09-05 Richard Guenther <rguenther@suse.de> PR tree-optimization/46590 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Do not update SSA form here. (canonicalize_induction_variables): Assert we do not need to update SSA form. (tree_unroll_loops_completely): Update SSA form here. * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge): Do not verify loop-closed SSA form if SSA form is not up-to-date. From-SVN: r190978
Richard Guenther committed -
2012-09-05 Dominique Dhumieres <dominiq@lps.ens.fr> PR fortran/54474 * gfortran.dg/coarray_poly_3.f90: Adjust error messages. From-SVN: r190977
Dominique d'Humieres committed -
(operator()): Use __generate() function of _M_nd. From-SVN: r190975
Ulrich Drepper committed -
/cp 2012-09-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54191 * search.c (lookup_base): Add tsubst_flags_t parameter. (adjust_result_of_qualified_name_lookup, check_final_overrider): Adjust. * name-lookup.c (do_class_using_decl): Adjust. * typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref): Likewise. * cvt.c (cp_convert_to_pointer, convert_to_pointer_force, build_up_reference): Likewise. * rtti.c (build_dynamic_cast_1): Likewise. * tree.c (maybe_dummy_object): Likewise. * call.c (build_conditional_expr_1, build_over_call): Likewise. * cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P): Remove. (enum base_access_flags, ba_quiet): Remove. (uniquely_derived_from_p, publicly_uniquely_derived_p): Declare. * except.c (can_convert_eh): Adjust. * decl.c (grokdeclarator): Likewise. * typeck.c (comp_except_types, build_class_member_access_expr, finish_class_member_access_expr, get_member_function_from_ptrfunc, build_static_cast_1, get_delta_difference_1): Likewise. * class.c (build_base_path, convert_to_base, build_vtbl_ref_1, warn_about_ambiguous_bases): Likewise. (uniquely_derived_from_p, publicly_uniquely_derived_p): Define. /testsuite 2012-09-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54191 * g++.dg/cpp0x/sfinae39.C: New. From-SVN: r190969
Paolo Carlini committed
-