- 07 Sep, 2012 11 commits
-
-
PR tree-ssa/54295 * tree-ssa-math-opts.c (widening_mult_conversion_strippable_p): Sign-extension of a zero-extended value can be simplified to just zero-extension. testsuite: * gcc.target/arm/pr50318-1.c: Scan for smlal. * gcc.target/arm/smlaltb-1.c: XFAIL test. * gcc.target/arm/smlaltt-1.c: Likewise. From-SVN: r191066
Richard Earnshaw committed -
2012-09-07 Richard Guenther <rguenther@suse.de> PR middle-end/53667 * tree-ssa-structalias.c (handle_rhs_call): Properly clobber EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT arguments separately. From-SVN: r191064
Richard Guenther committed -
* bitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit. * graphite.c (print_global_statistics): Use EDGE_COUNT instead of VEC_length. (print_graphite_scop_statistics): Likewise. * graphite-scop-detection.c (get_bb_type): Use single_succ_p. (print_graphite_scop_statistics): Use EDGE_COUNT, not VEC_length. (canonicalize_loop_closed_ssa): Use single_pred_p. * alias.c (reg_seen): Make this an sbitmap. (record_set, init_alias_analysis): Update. * tree-ssa-coalesce.c (ssa_conflicts_dump): Fix dumping. From-SVN: r191063
Steven Bosscher committed -
From-SVN: r191061
Eric Botcazou committed -
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 13 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
-