Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r180728
|
|
From-SVN: r180726
|
|
PR debug/50869
* cselib.c (cfa_base_preserved_regno): Initialize.
(cselib_expand_value_rtx_1): Don't expand it.
* var-tracking.c (vt_expand_var_loc_chain): Initialize depth.
Check it's only zero if result is NULL.
From-SVN: r180725
|
|
* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
expander.
From-SVN: r180724
|
|
* config/i386/sse.md (sseintvecmode): Remove duplicate modes.
(sseintvecmodelower): New mode iterator.
(floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
(float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
(floatunsv4siv4sf2): Macroize into...
(floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.
From-SVN: r180723
|
|
From-SVN: r180721
|
|
* config/sparc/sparc.md (cmask patterns): Allow zero operand.
From-SVN: r180715
|
|
* dwarf2out.c (cached_next_real_insn): New.
(dwarf2out_end_epilogue): Set it to NULL_RTX.
(dwarf2out_var_location): Remove cached_next_real_insn local static.
From-SVN: r180713
|
|
Renaming all of the insn patterns as needed to the standard
optab forms. Sadly, only one of the builtins is unused by
the various header files, so most of them must stay around.
* config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256.
(floatv4siv4sf2): Rename from sse2_cvtdq2ps.
(floatunsv4siv4sf2): Rename from sse2_cvtudq2ps.
(fix_truncv8sfv8si2): Rename from avx_cvttps2dq256.
(fix_truncv4sfv4si2): Rename from sse2_cvttps2dq.
(floatv4siv4df2): Rename from avx_cvtdq2pd256.
(fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256.
(vec_unpacku_float_hi_v8si): Update for insn pattern name changes.
* config/i386/i386.md (splitters for int-float conversion): Likewise.
* config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise.
(bdesc_args): Likewise.
(enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove.
(ix86_vectorize_builtin_conversion): Remove.
(TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
From-SVN: r180709
|
|
PR c++/50920
gcc/c-family
* c-common.h (cxx_dialect): Add cxx11 and cxx03.
* c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
and -Wc++11-compat.
* c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
gcc/cp
* class.c (check_field_decl): Change c++0x in diags to c++11.
* error.c (maybe_warn_cpp0x): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
* pt.c (check_default_tmpl_args): Likewise.
libcpp
* include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11,
CLK_GNUCXX0X to CLK_GNUCXX11.
libstdc++-v3
* include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11.
From-SVN: r180707
|
|
2011-10-31 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (mark_modified): Moved up in the file.
(is_parm_modified_before_call): Renamed to
is_parm_modified_before_stmt, moved up in the file.
(load_from_unmodified_param): New function.
(compute_complex_assign_jump_func): Also attempt to create pass
through jump functions for values loaded from (addressable)
parameters.
* testsuite/gcc.dg/ipa/ipcp-4.c: New test.
From-SVN: r180705
|
|
loop and has different type from op0...
* tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def
in a loop and has different type from op0, cast it to op0's type
before the loop first. For slp give up. Don't crash if op1_vectype
is NULL.
* gcc.dg/vshift-3.c: New test.
* gcc.dg/vshift-4.c: New test.
* gcc.dg/vshift-5.c: New test.
From-SVN: r180704
|
|
libgfortran ChangeLog:
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
* io/inquire.c (inquire_via_unit): Check whether we're at the
beginning or end if the position is unspecified. If the position
is not one of the 3 standard ones, return unspecified.
* io/io.h (update_position): Remove prototype.
* io/transfer.c (next_record): Set the position to unspecified,
letting inquire figure it out more exactly when needed.
* io/unit.c (update_position): Remove function.
testsuite ChangeLog:
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.dg/inquire_5.f90: Update testcase to match the standard
and current implementation.
From-SVN: r180703
|
|
2011-10-31 Paul Brook <paul@codesourcery.com>
gcc/
* cgraphunit.c: Don't mark clones as static constructors.
gcc/testsuite/
* gcc.dg/constructor-1.c: New test.
From-SVN: r180700
|
|
* gcc-ar: Do not include stdio.h.
From-SVN: r180699
|
|
* mangle.c (get_mangled_id): Factor from ...
(mangle_decl): ... here.
Call get_mangled_id.
From-SVN: r180698
|
|
* tree-streamer-out.c (pack_ts_base_value_fields): Emit
TYPE_ADDR_SPACE.
* tree-streamer-in.c (unpack_ts_base_value_fields): Read
TYPE_ADDR_SPACE.
From-SVN: r180697
|
|
* config/sparc/sparc.c (vector_init_bshuffle): New function.
(vector_init_fpmerge): New function.
(sparc_expand_vector_init): Use them to improve non-const cases.
From-SVN: r180696
|
|
* dwarf2out.c (dwarf2out_var_location): When processing several
consecutive location notes, cache the result of next_real_insn().
From-SVN: r180695
|
|
From-SVN: r180694
|
|
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
* symbol.c (gfc_free_charlen): Whitespace.
From-SVN: r180687
|
|
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/50573
* check.c (gfc_check_dshift): Update argument checking for BOZ.
Update checking SHIFT against BITSIZE of I or J.
* intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.
2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/50573
* gfortran.dg/dshift_3.f90: New test.
From-SVN: r180686
|
|
using VF1 mode iterator.
* config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from
avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
(vec_dupv4sf): Remove expander.
(vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx.
(vec_dupv2df): Remove expander.
(vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3.
(*vec_concatv2df): Merge *vec_concatv2df_sse3.
(*vec_dupv4si): Merge *vec_dupv4si_avx.
(*vec_dupv2di): Merge *vec_dupv2di_sse3.
From-SVN: r180685
|
|
2011-10-30 Dmitry Plotnikov <dplotnikov@ispras.ru>
* tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
* optabs.c (supportable_convert_operation): New function.
* optabs.h (supportable_convert_operation): New prototype.
* tree-vect-stmts.c (vectorizable_conversion): Change condition and
behavior for NONE modifier case.
* tree.h (VECTOR_INTEGER_TYPE_P): New macro.
From-SVN: r180684
|
|
From-SVN: r180682
|
|
* gcc.dg/scal-to-vec2.c (dg-options): Add -fno-common to options on
hppa*-*-hpux*.
* gcc.dg/torture/vshuf-v8hi.c: Likewise.
* gcc.dg/torture/vshuf-v4si.c: Likewise.
* gcc.dg/torture/vshuf-v8si.c: Likewise.
* gcc.dg/torture/vshuf-v32qi.c: Likewise.
* gcc.dg/torture/vshuf-v4di.c: Likewise.
* gcc.dg/torture/vshuf-v2df.c: Likewise.
* gcc.dg/torture/vshuf-v16qi.c: Likewise.
* gcc.dg/torture/vshuf-v4sf.c: Likewise.
* gcc.dg/torture/vshuf-v8sf.c: Likewise.
* gcc.dg/torture/vshuf-v2di.c: Likewise.
* gcc.dg/torture/vshuf-v16hi.c: Likewise.
* gcc.dg/torture/vshuf-v4df.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-31.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
* gcc.dg/vector-compare-2.c: Likewise.
From-SVN: r180680
|
|
* NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
(EGCS 1.0): Ditto.
From-SVN: r180678
|
|
* tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
function.
(vect_vect_recog_func_ptrs): Add it.
From-SVN: r180677
|
|
From-SVN: r180675
|
|
* reorg.c (label_before_next_insn): New function.
(relax_delay_slots): Use it instead of prev_label.
* rtl.h (prev_label): Delete declaration.
* emit-rtl.c (prev_label): Remove.
From-SVN: r180674
|
|
From-SVN: r180673
|
|
/cp
2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50901
* call.c (build_new_op_1): Handle ABS_EXPR together with the
other unary EXPR.
/testsuite
2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50901
* g++.dg/cpp0x/pr50901.C: New.
From-SVN: r180670
|
|
From-SVN: r180669
|
|
unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631)
PR target/50617
* config/pa/protos.h (attr_length_save_restore_dltp): Delete.
(cmpib_comparison_operator): Likewise.
(following_cal, output_and, output_ior, output_move_double,
output_fp_move_double, output_block_move, output_block_clear,
output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra,
output_movb, output_parallel_movb, output_parallel_addb, output_call,
output_indirect_call, output_millicode_call, output_mul_insn,
output_div_insn, output_mod_insn, singlemove_string,
output_arg_descriptor, output_global_address, print_operand,
legitimize_pic_address, hppa_encode_label, symbolic_expression_p,
fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence,
emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay,
hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call,
attr_length_indirect_call, return_addr_rtx, function_arg_padding,
insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p,
output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move,
hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p,
compute_zdepdi_operands, output_64bit_and, output_64bit_ior,
reloc_needed, magic_milli, shadd_constant_p): Consistently prefix
exported functions and variables with "pa_".
* config/pa/predicates.md: Likewise.
* config/pa/pa64-hpux.h: likewise.
* config/pa/som.h: Likewise.
* config/pa/elf.h: Likewise.
* config/pa/pa64-linux.h: Likewise.
* config/pa/pa.md: Likewise.
* config/pa/pa.c: Likewise.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa.h: Likewise.
* config/pa/constraints.md: Likewise.
From-SVN: r180660
|
|
* config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
Update all uses.
(xop_shl<mode>3): Rename from xop_lshl<mode>3. Update all uses.
* config/i386/i386.c: Update all uses.
From-SVN: r180659
|
|
* config/i386/i386.md (lshlv16qi3): Remove expander.
(lshrv16qi3): New expander.
(<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
using any_shiftrt code iterator. Cleanup.
(ashlv16qi3): Cleanup.
(ashrv2di3): Ditto.
From-SVN: r180657
|
|
* gcc.target/i386/fma-check.h (main): Use return 0 instead of exit (0).
* gcc.target/i386/fma4-check.h (main): Ditto.
* gcc.target/i386/xop-check.h (main): Ditto.
From-SVN: r180656
|
|
argument)
PR target/50691
config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
(pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
and TLS_MODEL_LOCAL_DYNAMIC symbol references.
From-SVN: r180655
|
|
PR target/50887
* config/avr/avr.opt (-maccumulate-args): New option.
* config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to
avr_starting_frame_offset.
(ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args.
* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove.
(UNSPECV_WRITE_SP_IRQ_OFF): Remove.
(UNSPECV_WRITE_SP): New constant.
(*addhi3_sp_R): Rewrite to...
(*addhi3_sp): ...this new insn.
(movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to...
(movhi_sp_r): ...this new insn.
* config/avr/avr-protos.h (avr_accumulate_outgoing_args): New.
(avr_starting_frame_offset): New.
* config/avr/avr.c (avr_accumulate_outgoing_args): New function.
(avr_starting_frame_offset): New function.
(avr_outgoing_args_size): New static function.
(avr_initial_elimination_offset): Use it.
(avr_simple_epilogue): Use it.
(avr_asm_function_end_prologue): Use it.
(expand_epilogue): Use it.
(expand_prologue): Use it. Break out code to...
(avr_prologue_setup_frame): ...this new static function.
(avr_can_eliminate): Allow eliminating to frame pointer if there
is one.
(avr_frame_pointer_required_p): Use frame pointer if target has a
nonlocal label.
* config/avr/constraints.md (R): Remove.
(Csp): New constraint.
* config/avr/predicates.md (avr_sp_immediate_operand): Use it.
From-SVN: r180654
|
|
compatible with literal CF/NSString")
gcc/objc:
PR target/47997
* objc-act.c (objc_build_string_object): Remove redundant second
call to fix_string_type (). Add a checking assert that we are,
indeed, passed a STRING_CST.
From-SVN: r180653
|
|
gcc/:
2011-10-29 Andi Kleen <ak@linux.intel.com>
* gcc-ar.c (target_machine): Add.
From-SVN: r180652
|
|
* config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
cris_constant_index_p, cris_base_p, cris_index_p,
cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p,
cris_legitimate_address_p): New functions.
(TARGET_LEGITIMATE_ADDRESS_P): Define.
(cris_pic_symbol_type, cris_valid_pic_const): Change arguments type
from rtx to const_rtx.
(cris_print_operand_address, cris_address_cost,
cris_side_effect_mode_ok): Use
cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
cris_biap_index_p and cris_bdap_index_p.
* config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P,
BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
(EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use
cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
cris_biap_index_p and cris_bdap_index_p.
* config/cris/cris.md (moversideqi movemsideqi peephole2): Use
cris_base_p.
* config/cris/cris-protos.h (cris_constant_index_p, cris_base_p,
cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New
prototype.
(cris_pic_symbol_type, cris_valid_pic_const): Update prototype.
From-SVN: r180651
|
|
Jakub had some concerns about the performance of page alignments in
ggc-page, which use a hardware division instructions currently.
This patch changes them all to use a new PAGE_ALIGN macro, which
exploits that pages are a power of two.
gcc/:
2011-10-21 Andi Kleen <ak@linux.intel.com>
* ggc-page (PAGE_ALIGN): Add.
(alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read):
Replace ROUND_UP with PAGE_ALIGN.
From-SVN: r180650
|
|
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
|
|
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
|
|
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
|
|
From-SVN: r180646
|
|
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
|
|
Revert Fix for c++/50864.
From-SVN: r180640
|
|
Revert Fix for c++/50864.
From-SVN: r180639
|