Commit Graph

115597 Commits

Author SHA1 Message Date
Georg-Johann Lay
4e30d980cb re PR target/52507 ([avr]: movmem loop for __memx address space uses wrong loop label)
PR target/52507
	* config/avr/lib1funcs.S (__movmemx_hi): Fix loop label in RAM-part.

From-SVN: r185033
2012-03-07 10:39:42 +00:00
Georg-Johann Lay
42601c633c re PR target/52506 ([avr]: XMEGA: Wrong order of save/restore of RAMPX/Y/Z/D SFRs in ISR pro-/epilogue)
PR target/52506
	* gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
	to: RAMPZ, RAMPY, RAMPX, RAMPD.
	(expand_prologue): Only clear RAMPZ if it has effect on RAM-read.

From-SVN: r185032
2012-03-07 10:38:25 +00:00
Georg-Johann Lay
611082257d re PR target/52505 ([avr]: __memx address space reading unintentionally from RAM)
libgcc/
	PR target/52505
	* config/avr/lib1funcs.S (__xload_1): Don't read unintentionally
	from RAM.

gcc/
	PR target/52505
	* config/avr/avr.c (avr_out_xload): Don't read unintentionally
	from RAM.
	* config/avr/avr.md (xload_8): Adjust insn length.

From-SVN: r185031
2012-03-07 10:36:30 +00:00
Georg-Johann Lay
b30e10aba7 re PR target/52461 ([avr] XMEGA+EBI: RAMPZ clobbered while reading from flash)
libgcc/
	PR target/52461
	PR target/52508
	* config/avr/lib1funcs.S (__do_copy_data): Clear RAMPZ after usage
	if RAMPZ affects reading from RAM.
	(__tablejump_elpm__): Ditto.
	(.xload): Ditto.
	(__movmemx_hi): Ditto.
	(__do_global_ctors): Right condition for RAMPZ usage is "have ELPM".
	(__do_global_dtors): Ditto.
	(__xload_1, __xload_2, __xload_3, __xload_4): Ditto.
	(__movmemx_hi): Ditto.
gcc/	
	PR target/52461
	* gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
	if RAMPZ affects reading from RAM.

From-SVN: r185030
2012-03-07 10:33:19 +00:00
Richard Guenther
eb3e63ccf7 re PR pch/52518 (gcc fails to find pch files in subincludes)
2012-03-07  Richard Guenther  <rguenther@suse.de>

	PR pch/52518
	PR pch/38987
	* doc/invoke.texi (Precompiled Headers): Remove sentence that
	suggests you can include PCHs from inside another header.

From-SVN: r185029
2012-03-07 09:55:26 +00:00
Richard Sandiford
788284ef35 re PR middle-end/52515 (build fails on cris-elf in unwind-dw2.c, x86_64-unknown-linux-gnu in bid_binarydecimal.c)
gcc/
	PR middle-end/52515
	* rtl.h (pc_rtx, cc0_rtx, ret_rtx, simple_return_rtx): Add GTY markers.

From-SVN: r185028
2012-03-07 09:50:36 +00:00
Kai Tietz
98b1d9b2fa invoke.texi (fwritable-relocated-rdata): Document new Cygwin/MinGW target option.
* doc/invoke.texi (fwritable-relocated-rdata): Document
        new Cygwin/MinGW target option.
        * config/i386/winnt.c (i386_pe_unique_section): Ignore
        reloc if flag -fwritable-relocated-rdata is not set.
        (i386_pe_section_type_flags): Likewise.
        * config/i386/cygming.opt (fwritable-relocated-rdata):
        Add new flag variable flag_writable_rel_rdata.

From-SVN: r185027
2012-03-07 10:35:15 +01:00
Richard Guenther
f409d239ae tree-ssa-math-opts.c (convert_mult_to_widen): Check actual precision against gimple constraints.
2012-03-07  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-math-opts.c (convert_mult_to_widen): Check actual
	precision against gimple constraints.

From-SVN: r185026
2012-03-07 09:24:40 +00:00
Ian Lance Taylor
0effc3f961 libgo: Implement and use runtime.Caller, runtime.Func.FileLine.
From-SVN: r185025
2012-03-07 01:16:20 +00:00
GCC Administrator
1f3d0afc26 Daily bump.
From-SVN: r185024
2012-03-07 00:19:41 +00:00
Pat Haugen
ad540a5e33 va-arg-25.c: Fix typo for powerpc64-*-* check.
* gcc.dg/torture/va-arg-25.c: Fix typo for powerpc64-*-* check.

From-SVN: r185019
2012-03-06 21:54:51 +00:00
Steven Bosscher
87a60f68a9 f95-lang.c (yyerror, yylex): Remove.
* f95-lang.c (yyerror, yylex): Remove.
	(clear_binding_stack): Remove, fold into its only user.
	(LANG_HOOKS_PRINT_IDENTIFIER): Do not re-define.
	(ridpointers): Remove.
	(gfc_eh_initialized_p): Make static.
	(gfc_truthvalue_conversion): Move to convert.c.
	(gfc_be_parse_file): Clear binding level stack when done.
	(gfc_print_identifier): Remove.
	(pushlevel): Remove ignored 'ignore' argument.  Update all callers.
	(poplevel): Remove unused 'reverse' argument.  Update all callers.
	(ggc_p): Remove.
	(gfc_builtin_function): Make static. Do not attempt to make RTL for
	builtin functions.
	* convert.c (gfc_truthvalue_conversion): Moved here from f95-lang.c,
	and made static.
	* trans.h (pushlevel, poplevel): Adjust prototypes.
	(gfc_truthvalue_conversion, gfc_builtin_function): Remove prototypes.
	* trans-openmp.c: Update calls to pushlevel and poplevel.
	* trans.c: Likewise.
	* trans-decl.c: Likewise.

From-SVN: r185015
2012-03-06 19:51:42 +00:00
Richard Sandiford
ca4adc913d re PR middle-end/52372 (gcc.target/mips/mips16-attributes{,-4}.c SEGV in dwf_regno)
gcc/
	PR middle-end/52372
	* rtl.h (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): Redefine as
	variables.
	(GR_PC, GR_CC0, GR_RETURN, GR_SIMPLE_RETURN): Delete.
	* emit-rtl.c (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): New
	variables.
	(init_emit_regs): Move associated initialization to...
	(init_emit_once): ...here.

From-SVN: r185013
2012-03-06 19:22:10 +00:00
Richard Henderson
22a89c862f m68k: Limit TAS to 68000 and CF ISA_B.
From-SVN: r185011
2012-03-06 10:20:34 -08:00
Ian Lance Taylor
593f74bbab libgo: Update to weekly.2012-03-04 release.
From-SVN: r185010
2012-03-06 17:57:23 +00:00
Michael Meissner
46402cbe0b re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())
2012-03-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/50310
	* config/rs6000/vector.md (vector_uneq<mode>): Add support for
	UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
	(vector_ltgt<mode>): Likewise.
	(vector_ordered<mode>): Likewise.
	(vector_unordered<mode>): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner):
	Likewise.

From-SVN: r185007
2012-03-06 17:15:43 +00:00
Aldy Hernandez
6342e53f07 trans-mem.c: New typedef for tm_region_p.
* trans-mem.c: New typedef for tm_region_p.
        Define vector types for tm_region_p.
        (tm_region_init): Replace region_worklist to a vector called
        bb_regions.

From-SVN: r185000
2012-03-06 16:27:37 +00:00
Daniel Berlin
877097dfbc Move myself to loop optimizer reviewer, remove non-algorithmic maintainer section
From-SVN: r184990
2012-03-06 14:04:01 +00:00
Richard Guenther
d8f56643c0 fold-const.c (build_fold_addr_expr_with_type_loc): Fold MEM_REF with constant pointer operand.
2012-03-06  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (build_fold_addr_expr_with_type_loc): Fold
	MEM_REF with constant pointer operand.

From-SVN: r184988
2012-03-06 13:16:50 +00:00
Richard Guenther
9da5500b12 re PR middle-end/52493 (tree check fail in ptr_derefs_may_alias_p)
2012-03-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52493
	* tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.

	* gcc.dg/torture/pr52493.c: New testcase.

From-SVN: r184987
2012-03-06 13:13:14 +00:00
Tristan Gingold
66df6e9ef3 vms-c.c (vms_pragma_nomember_alignment): Handle octaword.
2012-03-06  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
	octaword.
	(external_model_kind): Improve documentation.
	(vms_pragma_extern_model): Handle relaxed_redef.
	(vms_c_register_pragma): Allow expansion for nomember_alignment.

From-SVN: r184986
2012-03-06 10:46:32 +00:00
Georg-Johann Lay
837fd3b063 invoke.texi (AVR Options): -mmcu=: Document the XMEGA cores.
* doc/invoke.texi (AVR Options): -mmcu=: Document the XMEGA cores.
	Explain RAMPD, RAMPX, RAMPDY, RAMPZ usage by avr-gcc.
	Some more notes on EIND usage and reorder EIND subsection.

From-SVN: r184985
2012-03-06 10:36:21 +00:00
Tristan Gingold
17a27c59df vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
2012-03-06  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
	* config/vms/vms-crtlmap.map: Rename PRNTF to LDBL.

From-SVN: r184983
2012-03-06 10:26:24 +00:00
Tristan Gingold
a2ddaaf589 t-vmsnative (version): Define.
2012-03-06  Tristan Gingold  <gingold@adacore.com>

	* config/vms/t-vmsnative (version): Define.
	* config/vms/t-vms (STMP_FIXPROTO, STMP_FIXINC, version): Remove.

From-SVN: r184982
2012-03-06 10:10:58 +00:00
Richard Guenther
6bb485a36a re PR middle-end/52097 (ICE: in get_bit_range, at expr.c:4535 with -O -flto -fexceptions -fnon-call-exceptions --param allow-store-data-races=0)
2012-03-06  Richard Guenther  <rguenther@suse.de>

	PR lto/52097
	* lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.

	* gcc.dg/lto/pr52097_0.c: New testcase.

From-SVN: r184981
2012-03-06 09:54:06 +00:00
Andrey Belevantsev
b7b5540a8a re PR rtl-optimization/52250 (ICE: in sel_remove_bb, at sel-sched-ir.c:5213 with -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 and other flags)
PR rtl-optimization/52250
        * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
        to put note list into.  Unconditionally call move_bb_info.
        (move_bb_info): Do not assert the blocks being in the same region,
        just drop the note list if they are not.

From-SVN: r184975
2012-03-06 11:31:43 +04:00
GCC Administrator
d9b8048737 Daily bump.
From-SVN: r184971
2012-03-06 00:19:31 +00:00
Oleg Endo
9747719a9c re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
	and use unified expansion logic.
	* config/sh/sh.md (xorsi3_movrt): Rename to movrt.  Move
	closer to the existing movt insn.
	(negc): Rename insn to *negc.  Add new expander.
	(movnegt): Use xor pattern for T bit negation.  Reserve helper
	constant for negc pattern.
	(*movnegt): New insn and splitter.

	PR target/51244
	* gcc.target/sh/pr51244-1.c: New.
	* gcc.target/sh/pr51244-2.c: New.
	* gcc.target/sh/pr51244-3.c: New.

From-SVN: r184966
2012-03-05 23:12:20 +00:00
Bernd Schmidt
5de724244f c-typeck.c (pointer_diff): Check for POINTER_PLUS_EXPR, not PLUS_EXPR.
* c-typeck.c (pointer_diff): Check for POINTER_PLUS_EXPR, not
	PLUS_EXPR.

From-SVN: r184965
2012-03-05 22:48:30 +00:00
Richard Henderson
3b1552c135 genemit.c (main): Include "target.h" in insn-emit.c.
* genemit.c (main): Include "target.h" in insn-emit.c.
        * Makefile.in (insn-emit.o): Depend on TARGET_H.
        * config/sh/sync.md (atomic_test_and_set): Reference
        targetm.atomic_test_and_set_trueval instead of
        TARGET_ATOMIC_TEST_AND_SET_TRUEVAL.

From-SVN: r184964
2012-03-05 14:25:19 -08:00
Jason Merrill
aa96f3d8d9 Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn before using it.
* gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
	before using it.

From-SVN: r184963
2012-03-05 17:12:28 -05:00
Joern Rennecke
1565f1696c epiphany.c (epiphany_function_value_regno_p): Make static.
* config/epiphany/epiphany.c (epiphany_function_value_regno_p): 
        Make static.

From-SVN: r184962
2012-03-05 22:10:47 +00:00
Jason Merrill
09a70a2c58 objc-map.c (objc_map_private_resize, [...]): Don't call _stat functions without MEM_STAT_INFO.
* objc-map.c (objc_map_private_resize, objc_map_alloc_ggc): Don't
	call _stat functions without MEM_STAT_INFO.

From-SVN: r184961
2012-03-05 17:01:49 -05:00
Steven Bosscher
c081413602 langhooks.c (add_builtin_type): New function.
* langhooks.c (add_builtin_type): New function.
	* langhooks.h (add_builtin_type): Export it.
	* config/mep/mep.c (mep_init_builtins): Use it.
	* config/rs6000/rs6000.c (rs6000_init_builtins): Use it.

From-SVN: r184960
2012-03-05 21:57:13 +00:00
Jakub Jelinek
704b8582e9 pt.c (local_specializations): Change from htab_t into struct pointer_map_t *.
* pt.c (local_specializations): Change from htab_t into
	struct pointer_map_t *.
	(retrieve_local_specializations, register_local_specialization,
	tsubst_pack_expansion, instantiate_decl): Adjust users.
	(eq_local_specializations, hash_local_specialization): Remove.

From-SVN: r184959
2012-03-05 21:18:56 +01:00
Jakub Jelinek
1e3c1d950e re PR debug/51902 (lexical_blocks inside inlined_subroutines generate duplicate debug_ranges)
PR debug/51902
	* tree.h (BLOCK_SAME_RANGE): Define.
	* function.c (block_fragments_nreverse): Clear BLOCK_SAME_RANGE
	if BLOCK_FRAGMENT_CHAIN is non-NULL, but has it cleared.
	Also clear BLOCK_SAME_RANGE if fragment chain's supercontext fragment
	isn't equal to supercontext fragment's fragment chain.
	Adjust BLOCK_SUPERCONTEXT to point to supercontext fragment's
	fragment origin.
	(blocks_nreverse_all): Likewise.
	(reorder_blocks_1): Compute BLOCK_SAME_RANGE bits.  Set
	BLOCK_SUPERCONTEXT to supercontext fragment instead of
	supercontext fragment's fragment origin.
	* dwarf2out.c (add_high_low_attributes): If stmt has the same
	range as its parent (or parents thereof etc.), use the parent's
	DW_AT_ranges value instead of creating a new .debug_ranges range.

From-SVN: r184958
2012-03-05 21:17:44 +01:00
Richard Henderson
8993fde432 arm: Enable umull and ctz in longlong.h
* longlong.h [ARM] (umul_ppmm): Use umull for arm3m and later.
        [ARM] (count_trailing_zeros): Use the builtin.

From-SVN: r184957
2012-03-05 12:12:14 -08:00
Richard Henderson
4999c62c83 re PR tree-optimization/52242 (libgomp.c/atomic-2.c failure on s390x)
PR tree-opt/52242
	Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
	* omp-low.c (expand_omp_atomic): Assume anything aligned to
	BIGGEST_ALIGNMENT is aligned.

From-SVN: r184955
2012-03-05 11:52:08 -08:00
Richard Henderson
95a6dda5e7 sh: Fix location of TARGET_ATOMIC_TEST_AND_SET_TRUEVAL definition.
* config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Move...
        * config/sh/sh.c: ... here.

From-SVN: r184953
2012-03-05 10:57:43 -08:00
Richard Henderson
f49b12f49c re PR target/52481 (m68k-*: internal compiler error: in extract_insn, at recog.c:2123)
PR target/52481
	* config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
	instead of calling negqi2 directly.

From-SVN: r184952
2012-03-05 10:57:36 -08:00
Aldy Hernandez
46786569eb re PR middle-end/52463 (libitm.c/memcpy-1.c FAILs)
PR middle-end/52463
        * trans-mem.c (tm_region_init): Use last_basic_block.

From-SVN: r184949
2012-03-05 18:38:47 +00:00
Richard Henderson
b7313c309d re PR target/52481 (m68k-*: internal compiler error: in extract_insn, at recog.c:2123)
PR target/52481
	* config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
	instead of calling negqi2 directly.

From-SVN: r184948
2012-03-05 10:37:19 -08:00
Oleg Endo
ab6497549a sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
* config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
	* config/sh/sync.md (atomic_test_and_set): New expander.
	(tasb, atomic_test_and_set_soft): New insns.
	* config/sh/sh.opt (menable-tas): New option.
	* doc/invoke.texi (SH Options): Document it.

From-SVN: r184947
2012-03-05 18:18:51 +00:00
Jason Merrill
b50530246a re PR c++/51930 (Explicitly instantiated template gets hidden visibility)
PR c++/51930
	* decl2.c (determine_visibility): Correct calculation of class
	args depth.
	* decl.c (check_tag_decl): Adjust warning.

From-SVN: r184946
2012-03-05 13:08:56 -05:00
Jason Merrill
bb828cc7f3 method.c (synthesized_method_walk): Cleanups don't affect the EH spec either.
* method.c (synthesized_method_walk): Cleanups don't affect the EH
	spec either.

From-SVN: r184945
2012-03-05 13:07:12 -05:00
Ian Lance Taylor
c3f87aa909 runtime: Implement runtime.Callers.
From-SVN: r184944
2012-03-05 17:07:37 +00:00
Torvald Riegel
d28b0b0861 libitm: Don't execute memtransfer/memset if size isn't larger than zero.
libitm/
	* dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
	memtransfer/memset if size isn't larger than zero.

From-SVN: r184941
2012-03-05 16:34:12 +00:00
Torvald Riegel
034209bc2f libitm: Update texinfo docs.
libitm/
	* libitm.texi: Link to specification and add a usage example.

From-SVN: r184940
2012-03-05 16:33:55 +00:00
Paolo Carlini
93d9a365d2 stl_algobase.h (iter_swap): In C++11 mode just call swap.
2012-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (iter_swap): In C++11 mode just
	call swap.
	* include/bits/stl_bvector.h (swap(_Bit_reference,
	_Bit_reference), swap(_Bit_reference, bool&),
	swap(bool&, _Bit_reference)): Add.
	* testsuite/23_containers/vector/bool/swap.cc: New.

From-SVN: r184939
2012-03-05 16:31:50 +00:00
Richard Guenther
510dbcce34 cfgloop.c (verify_loop_structure): Verify dominators before using them.
2012-03-05  Richard Guenther  <rguenther@suse.de>

	* cfgloop.c (verify_loop_structure): Verify dominators before
	using them.
	* graphite-clast-to-gimple.c (graphite_verify): Do not verify
	dominators from here.
	* graphite-scop-detection.c (create_sese_edges): Likewise.
	* loop-doloop.c (doloop_optimize_loops): Likewise.
	* loop-init.c (loop_optimizer_init): Likewise.
	* loop-unroll.c (unroll_and_peel_loops): Likewise.
	* loop-unswitch.c (unswitch_loops): Likewise.
	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
	* tree-parloops.c (parallelize_loops): Likewise.  Verify
	only when checking is enabled.
	* tree-loop-distribution.c (tree_loop_distribution): Likewise.

From-SVN: r184937
2012-03-05 15:39:39 +00:00