- 29 Oct, 2011 8 commits
-
-
There were some concerns that the earlier munmap patch could lead to address space being freed that cannot be allocated again by ggc due to fragmentation. This patch adds a fragmentation fallback to solve this: when a GGC_QUIRE_SIZE sized allocation fails, try again with a page sized allocation. Passes bootstrap and testing on x86_64-linux with the fallback forced artificially. v2: fix missed initialization bug added in last minute edit. gcc/: 2011-10-20 Andi Kleen <ak@linux.intel.com> * ggc-page (alloc_anon): Add check argument. (alloc_page): Add fallback to 1 page allocation. Adjust alloc_anon calls to new argument. From-SVN: r180649
Andi Kleen committed -
This implements the freeing back of large chunks in the ggc madvise path Richard Guenther asked for. This way on systems with limited address space malloc() and other allocators still have a chance to get back at some of the memory ggc freed. The fragmented pages are still just given back, but the address space stays allocated. I tried freeing only aligned 2MB areas to optimize for 2MB huge pages, but the hit rate was quite low, so I switched to 1MB+ unaligned areas. v2: Hardcode free unit size instead of param gcc/: 2011-10-18 Andi Kleen <ak@linux.intel.com> * ggc-page (release_pages): First free large continuous chunks in the madvise path. From-SVN: r180648
Andi Kleen committed -
This one place in ggc forgot to round page_entry->bytes to the next page boundary, which lead to all the heuristics in freeing to check for continuous memory failing. Round here too, like all other allocators already do. The memory consumed should be the same for MMAP because the kernel would round anyways. It may slightly increase memory usage when malloc groups are used. This will also increase the hitrate on the free page list slightly. gcc/: 2011-10-18 Andi Kleen <ak@linux.intel.com> * ggc-page.c (alloc_pages): Always round up to entry_size. From-SVN: r180647
Andi Kleen committed -
From-SVN: r180646
GCC Administrator committed -
gcc/: 2011-10-19 Andi Kleen <ak@linux.intel.com> * Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib. (native): Add gcc-ar, gcc-nm, gcc-ranlib. (AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o, gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add. (install): Depend on install-gcc-ar. (install-gcc-ar): Add. (uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib. * gcc-ar.c: Add new file. From-SVN: r180642
Andi Kleen committed -
From-SVN: r180641
Ian Lance Taylor committed -
Revert Fix for c++/50864. From-SVN: r180640
Paolo Carlini committed -
Revert Fix for c++/50864. From-SVN: r180639
Paolo Carlini committed
-
- 28 Oct, 2011 29 commits
-
-
From-SVN: r180634
Ian Lance Taylor committed -
* config/i386/morestack.S: Correct CFI information to do proper returns throughout function. In 32-bit mode, save %ebx so that it is restored on unwind. From-SVN: r180633
Ian Lance Taylor committed -
* config/rs6000/rs6000.md (define_attr "type"): Add vecdouble. * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use * vecdouble type for V2DF. (VStype_div): Use vector types for V2DF/V4SF. (VStype_sqrt): Use *sqrt types. (VS_spdp_type): Change type to vecdouble. (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws, vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds, vsx_xvcvspuxds): Likewise. (*vsx_fms<mode>4): Set type via <VStype_mul>. (*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type via <VStype_simple>. * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe. (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt, power7-dsqrt): Correct insn latency. (power7-vecsimple): Add veccmp type and correct dispatch/VSU values. (power7-veccmp): Delete. (power7-vecfloat): Correct latency/dispatch/VSU values. (define_bypass "power7-vecfloat"): Correct latency and types. (power7-veccomplex, power7-vecperm): Correct dispatch/VSU values. (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New. From-SVN: r180632
Pat Haugen committed -
From-SVN: r180627
Jason Merrill committed -
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg. From-SVN: r180626
Paolo Carlini committed -
From-SVN: r180625
Uros Bizjak committed -
* config/i386/i386.md (shift_insn): Rename code attribute from shiftrt_insn. Also handle ashift RTX. (shift): Rename code attribute from shiftrt. Also handle ashift RTX. (vshift): New code attribute. (<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates. (any_lshift): Move and rename code iterator from ... * config/i386/sse.md (lshift): ... here. (lshift_insn): Remove code attribute. (lshift): Remove code attribute. (vlshr<mode>3): Use lshiftrt RTX. (vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX. (vashl<mode>3, ashlv16qi3): Use ashift RTX. (avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>. Use any_lshift code iterator. Update asm template. (<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3 usign any_lshift code iterator. * config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator. * config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update. From-SVN: r180624
Uros Bizjak committed -
/cp 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50864 * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error call in case COMPONENT_REF. /testsuite 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50864 * g++.dg/template/crash109.C: New. From-SVN: r180623
Paolo Carlini committed -
* config/i386/i386.md (shift_insn): Rename code attribute from shiftrt_insn. Also handle ashift RTX. (shift): Rename code attribute from shiftrt. Also handle ashift RTX. (<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates. * config/i386/sse.md (any_lshift): Rename code iterator from lshift. (lshift_insn): Remove code attribute. (lshift): Remove code attribute. (vlshr<mode>3): Use lshiftrt RTX. (vashr<mode>3): Use ashiftrt RTX. (vashl<mode>3): Use ashift RTX. (avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>. Use any_lshift code iterator. Update asm template. * config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update. From-SVN: r180622
Uros Bizjak committed -
PR target/49313 * config/avr/avr.md (parityhi2): Expand allowing pseudos. (*parityhi2): New pre-reload insn-and-split to map 16-bit parity to the libgcc insn. (*parityqihi2): Same for 8-bit parity. From-SVN: r180620
Georg-Johann Lay committed -
2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org> * check.c (gfc_check_atan_2): Typo in comment. (gfc_check_nearest): If 's' is constant, check that it is not 0. * simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits, gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc, gfc_simplify_nearest): Remove dead code. 2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/nearest_5.f90: New test. From-SVN: r180618
Steven G. Kargl committed -
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/30_threads/condition_variable_any/50862.cc: Trivial formatting fixes. From-SVN: r180617
Paolo Carlini committed -
ada: PR target/50678 * init.c (Darwin/__gnat_error_handler): Apply a work-around to the bug [filed as radar #10302855], which is inconsistent unwind data for sigtramp. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r180613
Iain Sandoe committed -
2011-10-28 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/23_containers/unordered_map/operations/count.cc: New. * testsuite/23_containers/multimap/operations/count.cc: Likewise. * testsuite/23_containers/set/operations/count.cc: Likewise. * testsuite/23_containers/unordered_multimap/operations/count.cc: Likewise. * testsuite/23_containers/unordered_set/operations/count.cc: Likewise. * testsuite/23_containers/multiset/operations/count.cc: Likewise. * testsuite/23_containers/unordered_multiset/operations/count.cc: Likewise. * testsuite/23_containers/map/operations/count.cc: Likewise. From-SVN: r180612
Paolo Carlini committed -
PR rtl-optimization/47918 * reload1.c (set_initial_label_offsets): Use initial offsets for labels on the nonlocal_goto_handler_labels chain. From-SVN: r180611
Julian Brown committed -
gcc: * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA. (LIB2FUNCS_EXTRA): Add darwin-gpsave.asm. (TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from config/t-darwin. * config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable. (GP_SAVE_INLINE): Likewise. (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX, RESTORE_FP_SUFFIX): Set to empty strings. * config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin. (debug_stack_info): Print savres_strategy. (rs6000_savres_routine_name): Implement for Darwin. (rs6000_make_savres_rtx): Adjust used register for Darwin. (rs6000_emit_prologue): Implement out-of-line saves for Darwin. (rs6000_output_function_prologue): Don't emit .extern for Mach-O. (rs6000_emit_epilogue): Implement out-of-line saves for Darwin. * config/rs6000/darwin-gpsave.asm: New file. From-SVN: r180610
Iain Sandoe committed -
* config/i386/sse.md (VI4SD_AVX2): Removed. (VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators. (vashl<mode>3): Use VI12_128 iterator instead of VI124_128. Add another expander using VI48_128 iterator for TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator for TARGET_AVX2. (vlshr<mode>3): Likewise. Change register_operand predicate to nonimmediate_operand on last operand in the VI12_128 expander. (vashr<mode>3): Use VI128_128 iterator instead of VI124_128. (vashrv4si3, vashrv8si3): New expanders. (avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si, avx2_<lshift>vv2di): Removed. (avx2_ashrv<mode>): New insn with VI4_AVX2 iterator. (avx2_<lshift>v<mode>): Macroize using VI48_AVX2 iterator. Simplify pattern. * gcc.dg/vshift-1.c: New test. * gcc.dg/vshift-2.c: New test. * gcc.target/i386/xop-vshift-1.c: New test. * gcc.target/i386/xop-vshift-2.c: New test. * gcc.target/i386/avx2-vshift-1.c: New test. From-SVN: r180609
Jakub Jelinek committed -
re PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress regressions for lto.exp on x86_64-apple-darwin11) 2010-10-28 Richard Guenther <rguenther@suse.de> PR driver/50876 * lto-wrapper.c (get_options_from_collect_gcc_options): Properly count arguments. (run_gcc): Use an obstack to collect argv, properly separate switches and their arguments. From-SVN: r180608
Richard Guenther committed -
2011-10-28 Richard B. Kreckel <kreckel@ginac.de> * include/std/complex (__complex_acosh): Just use '< _Tp()'. * include/tr1/complex (__complex_acosh): Likewise. From-SVN: r180607
Richard B. Kreckel committed -
tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode from vectype's mode. * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode from vectype's mode. From-SVN: r180606
Jakub Jelinek committed -
PR ada/50842 * gcc-interface/Makefile.in (SYMDEPS): Delete. (LIBICONV): New variable. (LIBICONV_DEP): Likewise. (LIBS): Add $(LIBICONV). (LIBDEPS): Add $(LIBICONV_DEP). (EXTRA_GNATTOOLS_OBJS): Merge into... (TOOLS_LIBS): ...this. Add $(LIBICONV). From-SVN: r180605
Eric Botcazou committed -
2011-10-28 Chung-Lin Tang <cltang@codesourcery.com> PR rtl-optimization/49720 * simplify-rtx.c (simplify_relational_operation_1): Detect infinite recursion condition in "(eq/ne (plus x cst1) cst2) simplifies to (eq/ne x (cst2 - cst1))" case. testsuite/ * g++.dg/torture/pr49720.C: New test. From-SVN: r180604
Chung-Lin Tang committed -
From-SVN: r180603
David S. Miller committed -
gcc/ * config/sparc/sparc.md (snedi_special): Only match when not VIS3. (*snedi_zero): Likewise. (*snedi_zero_trunc): Likewise. (snedi_special_vis3): New expander. (*snedi_zero_vis3): New insn. (*snedi_zero_trunc_vis3): Likewise. (*sltu_insn_vis3): Likewise. (*sltu_insn_vis3_trunc): Likewise. (addxc): Likewise. (*addxc_trunc_sp64_vis3): Likewise. * config/sparc/sparc.c (emit_scc_insn): When VIS3 use the gen_snedi_special_vis3 expander, and try GTU/LTU addx based sequences on DImode values. gcc/testsuite/ * gcc.target/sparc/setcc-3.c: New test. From-SVN: r180602
David S. Miller committed -
* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f' constraint. From-SVN: r180601
David S. Miller committed -
* regcprop.c (copyprop_hardreg_forward_1): Reject the transformation when we narrow the mode on big endian. From-SVN: r180600
David S. Miller committed -
* semantics.c (cxx_eval_outermost_constant_expr): Check cp_has_mutable_p. (cxx_eval_component_reference): Check DECL_MUTABLE_P. From-SVN: r180590
Jason Merrill committed -
PR c++/30066 gcc/c-family: * c.opt (fvisibility-inlines-hidden): Description change. gcc/cp: * decl2.c (determine_hidden_inline): New function. (determine_visibility): fvisibility-inlines-hidden affects inline functions. From-SVN: r180589
Roberto Agostino Vitillo committed -
From-SVN: r180588
GCC Administrator committed
-
- 27 Oct, 2011 3 commits
-
-
* config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2, vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders. (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns. * gcc.target/i386/sse2-cvt-1.c: New test. * gcc.target/i386/sse2-cvt-2.c: New test. * gcc.target/i386/avx-cvt-1.c: New test. * gcc.target/i386/avx-cvt-2.c: New test. * gcc.target/i386/avx2-cvt-1.c: New test. * gcc.target/i386/avx2-cvt-2.c: New test. From-SVN: r180580
Jakub Jelinek committed -
* config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x' overrides for -masm=intel memory. * config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd, sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2, sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2, sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel. (sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2, sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel. (sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel. From-SVN: r180579
Jakub Jelinek committed -
2011-10-27 Martin Jambor <mjambor@suse.cz> * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info to parm_ainfo. (ipa_compute_jump_functions_for_edge): Likewise. (ipa_compute_jump_functions): Likewise. (ipa_analyze_indirect_call_uses): Likewise. (ipa_analyze_call_uses): Likewise. (ipa_analyze_params_uses): Likewise. (ipa_analyze_node): Likewise. From-SVN: r180578
Martin Jambor committed
-