1. 31 Oct, 2011 8 commits
  2. 30 Oct, 2011 15 commits
  3. 29 Oct, 2011 17 commits
    • re PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with… · ae9d61ab
      re PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with 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
      John David Anglin committed
    • i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3. · b99f906a
      	* 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
      Uros Bizjak committed
    • i386.md (lshlv16qi3): Remove expander. · f327a48e
      	* 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
      Uros Bizjak committed
    • fma-check.h (main): Use return 0 instead of exit (0). · d1fecc87
      	* 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
      Uros Bizjak committed
    • re PR target/50691 (Incorrect argument evaluation in call with __thread argument) · 9a201645
      	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
      John David Anglin committed
    • re PR target/50887 ([avr] Support ACCUMULATE_OUTGOING_ARGS) · d702f362
      	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
      Georg-Johann Lay committed
    • re PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not… · f439d6ba
      re PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not 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
      Iain Sandoe committed
    • Fix cross compilation build in gcc-ar · 7a59e22a
      gcc/:
      2011-10-29  Andi Kleen  <ak@linux.intel.com>
      
      	* gcc-ar.c (target_machine): Add.
      
      From-SVN: r180652
      Andi Kleen committed
    • cris.c (reg_ok_for_base_p, [...]): New functions. · a08160c3
      	* 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
      Anatoly Sokolov committed
    • Use more efficient alignment in ggc · 3bc50163
      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
      Andi Kleen committed
    • Add a fragmentation fallback in ggc-page v2 · 25f0ea81
      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
    • Free large chunks in ggc v2 · d33ef9a5
      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
    • Add missing page rounding of a page_entry · bf72b009
      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
    • Daily bump. · 3b6a5655
      From-SVN: r180646
      GCC Administrator committed
    • Add gcc-ar/nm/ranlib wrappers for slim LTO v2 · b6b89215
      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
    • 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com> · dec3d2a0
      	Revert Fix for c++/50864.
      
      From-SVN: r180640
      Paolo Carlini committed