Commit Graph

122461 Commits

Author SHA1 Message Date
Kyrylo Tkachov
5ad29f129e arm.c (arm_emit_load_exclusive): Add acq parameter.
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter.
	Emit load-acquire versions when acq is true.
	(arm_emit_store_exclusive): Add rel parameter.
	Emit store-release versions when rel is true.
	(arm_split_compare_and_swap): Use acquire-release instructions
	instead.
	of barriers when appropriate.
	(arm_split_atomic_op): Likewise.
	* config/arm/arm.h (TARGET_HAVE_LDACQ): New macro.
	* config/arm/unspecs.md (VUNSPEC_LAX): New unspec.
	(VUNSPEC_SLX): Likewise.
	(VUNSPEC_LDA): Likewise.
	(VUNSPEC_STL): Likewise.
	* config/arm/sync.md (atomic_load<mode>): New pattern.
	(atomic_store<mode>): Likewise.
	(arm_load_acquire_exclusive<mode>): Likewise.
	(arm_load_acquire_exclusivesi): Likewise.
	(arm_load_acquire_exclusivedi): Likewise.
	(arm_store_release_exclusive<mode>): Likewise.

From-SVN: r197046
2013-03-25 14:41:37 +00:00
Catherine Moore
03a7dddbdb constraints.md (u, [...]): New constraints.
2013-03-25  Catherine Moore  <clm@codesourcery.com>

	* config/mips/constraints.md (u, Udb7 Uead, Uean, Uesp, Uib3,
	Uuw6, Usb4, ZS, ZT, ZU, ZV, ZW): New constraints.
	* config/mip/predicates.md (lwsp_swsp_operand,
	lw16_sw16_operand, lhu16_sh16_operand, lbu16_operand,
	sb16_operand, db4_operand, db7_operand, ib3_operand,
	sb4_operand, ub4_operand, uh4_operand, uw4_operand,
	uw5_operand, uw6_operand, addiur2_operand, addiusp_operand,
	andi16_operand): New predicates.
	* config/mips/mips.md (compression): New attribute.
	(enabled): New attribute.
	(length): Consider compression in computing length.
	(shift_compression): New code attribute.
	(*add<mode>3): New operands. Record compression.
	(sub<mode>3): Likewise.
	(one_cmpl<mode>2): Likewise.
	(*and<mode>3): Likewise.
	(*ior<mode>3): Likewise.
	(unnamed pattern for xor): Likewise.
	(*zero_extend<SHORT:mode><GPR:mode>2): Likewise.
	(*<optab><mode>3): Likewise.
	(*mov<mode>_internal: Likewise.
	* config/mips/mips-protos.h (mips_signed_immediate_p): New.
	(mips_unsigned_immediate_p): New.
	(umips_lwsp_swsp_address_p): New.
	(m16_based_address_p): New.
	* config/mips/mips-protos.h (mips_signed_immediate_p): New prototype.
	(mips_unsigned_immediate_p): New prototype.
	(lwsp_swsp_address_p): New prototype.
	(m16_based_address_p): New prototype.
	* config/mips/mips.c (mips_unsigned_immediate_p): New function.
	(mips_signed_immediate_p): New function.
	(m16_based_address_p): New function.
	(lwsp_swsp_address_p): New function.
	(mips_print_operand_punctuation): Recognize short delay slot insns
	for microMIPS.add<mode>3"

From-SVN: r197042
2013-03-25 09:53:53 -04:00
Kyrylo Tkachov
cf70554ed8 Add testcases for previous commit.
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
	PR target/56720
	* gcc.target/arm/neon-vcond-gt.c: New test.
	* gcc.target/arm/neon-vcond-ltgt.c: Likewise.
	* gcc.target/arm/neon-vcond-unordered.c: Likewise.

From-SVN: r197041
2013-03-25 13:50:45 +00:00
Kyrylo Tkachov
f35c297f8d re PR target/56720 (ICE when expanding vcond with floating point unordered comparisons)
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
	PR target/56720
	* config/arm/iterators.md (v_cmp_result): New mode attribute.
	* config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.

2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
	PR target/56720
	* gcc.target/arm/neon-vcond-gt.c: New test.
	* gcc.target/arm/neon-vcond-ltgt.c: Likewise.
	* gcc.target/arm/neon-vcond-unordered.c: Likewise.

From-SVN: r197040
2013-03-25 13:48:06 +00:00
Richard Biener
051b944668 re PR bootstrap/56689 (internal compiler error: in get_loop_body, at cfgloop.c:841)
2013-03-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56689
	* tree-vrp.c (execute_vrp): Mark loops for fixup if we removed
	any edge.

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

From-SVN: r197039
2013-03-25 12:54:56 +00:00
Richard Biener
374001cbee tree-ssa-loop-im.c (struct mem_ref): Use bitmap_head instead of bitmap.
2013-03-25  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (struct mem_ref): Use bitmap_head instead
	of bitmap.
	(memory_references): Likewise.
	(outermost_indep_loop, mem_ref_alloc, mark_ref_stored,
	gather_mem_refs_stmt, record_dep_loop, ref_indep_loop_p_1,
	ref_indep_loop_p_2, find_refs_for_sm): Adjust.
	(gather_mem_refs_in_loops): Fold into ...
	(analyze_memory_references): ... this.  Move initialization
	to tree_ssa_lim_initialize.
	(fill_always_executed_in): Rename to ...
	(fill_always_executed_in_1): ... this.
	(fill_always_executed_in): Move contains_call computation to
	this new function from ...
	(tree_ssa_lim_initialize): ... here.
	(tree_ssa_lim): Call fill_always_executed_in.

From-SVN: r197038
2013-03-25 12:53:57 +00:00
Eric Botcazou
5789594736 * postreload.c (reload_combine): Fix code detecting returns.
From-SVN: r197037
2013-03-25 11:25:28 +00:00
Eric Botcazou
1e1b18c1c7 function.c (emit_use_return_register_into_block): On cc0 targets, do not emit the sequence between cc0 setter and user.
* function.c (emit_use_return_register_into_block): On cc0 targets,
	do not emit the sequence between cc0 setter and user.

From-SVN: r197036
2013-03-25 11:24:12 +00:00
Kai Tietz
9a776a830e * g++.dg/torture/20121105-1.C: Adjust for LLP64 targets.
From-SVN: r197034
2013-03-25 11:55:37 +01:00
Kai Tietz
9216baf178 predicates.md (local_symbolic_operand): Interpret dll-imported symbols as none-local.
* config/i386/predicates.md (local_symbolic_operand): Interpret
        dll-imported symbols as none-local.

From-SVN: r197033
2013-03-25 11:51:11 +01:00
Kai Tietz
c0f6f2b4f2 50594.cc: For mingw-targets use only static libstdc++-version.
* testsuite/18_support/50594.cc: For mingw-targets use only static
	libstdc++-version.
	* testsuite/19_diagnostics/error_category/operators/equal.cc
	* testsuite/19_diagnostics/error_code/cons/1.cc
	* testsuite/19_diagnostics/error_code/operators/bool.cc
	* testsuite/19_diagnostics/error_code/operators/equal.cc
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc
	* testsuite/19_diagnostics/error_condition/cons/1.cc
	* testsuite/19_diagnostics/error_condition/operators/bool.cc
	* testsuite/19_diagnostics/error_condition/operators/equal.cc
	* testsuite/19_diagnostics/error_condition/operators/not_equal.cc
	* testsuite/23_containers/set/requirements/exception/basic.cc
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
	* testsuite/lib/dg-options.exp (dg-additional-options): New option.

From-SVN: r197032
2013-03-25 11:47:39 +01:00
Richard Biener
76421b449b tree-ssa-loop-im.c (struct depend): Remove.
2013-03-25  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (struct depend): Remove.
	(struct lim_aux_data): Make depends a vec of gimples.
	(free_lim_aux_data): Adjust.
	(add_dependency): Likewise.
	(set_level): Likewise.

From-SVN: r197031
2013-03-25 09:44:25 +00:00
Richard Biener
d154bfa22d re PR rtl-optimization/56434 (document that __attribute__((__malloc__)) assumes returned pointer has BIGGEST_ALIGNMENT)
2013-03-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/56434
	* calls.c (expand_call): Use MALLOC_ABI_ALIGNMENT to annotate
	the pointer returned by calls with ECF_MALLOC set.

From-SVN: r197030
2013-03-25 09:39:52 +00:00
GCC Administrator
c42ee993cf Daily bump.
From-SVN: r197029
2013-03-25 00:16:33 +00:00
Tilo Schwarz
6790f448bb MAINTAINERS (Write After Approval): Add myself.
2013-02-24  Tilo Schwarz  <tilo@tilo-schwarz.de>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r197025
2013-03-24 23:37:39 +00:00
Uros Bizjak
acef5fe00e mmx.md (mov<mode>): Add ?!Ym,r and r,?!Ym alternatives.
* config/i386/mmx.md (mov<mode>): Add ?!Ym,r and r,?!Ym alternatives.

From-SVN: r197024
2013-03-24 23:22:21 +01:00
Jonathan Wakely
95a83503a0 re PR libstdc++/56170 (Extension debug_allocator seems non-compliant w.r.t. rebind)
PR libstdc++/56170
	* include/ext/debug_allocator.h (debug_allocator): Add missing members
	to meet allocator requirements.
	* testsuite/ext/debug_allocator/56170.cc: New.

From-SVN: r197023
2013-03-24 22:10:29 +00:00
Uros Bizjak
2cd9804e80 sse.md (mov<mode>): Merge with movv2sf expander using MMXMODE mode iterator.
* config/i386/sse.md (mov<mode>): Merge with movv2sf expander
	using MMXMODE mode iterator.
	(*move<mode>_internal): Merge with *movv2sf_internal and
	*movv2sf_internal_rex64 using MMXMODE mode iterator.

From-SVN: r197021
2013-03-24 19:26:48 +01:00
Tobias Burnus
a73421c460 re PR libfortran/56696 (Formatted (list-directed) input fails to signal end of record)
2013-03-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56696
        * io/list_read.c (read_real): Fix EOF diagnostic.

2013-03-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56696
        * gfortran.dg/eof_5.f90: New.

From-SVN: r197019
2013-03-24 11:16:33 +01:00
Andi Kleen
b01819be5d Avoid nonconst memmodels in libitm's local outdated copy of <atomic> too
This avoids warnings in libitm for non constant memory models,
fixing the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libitm/:

2013-03-23  Andi Kleen  <andi@my.domain.org>

	* local_atomic (__always_inline): Add.
	(__calculate_memory_order, atomic_thread_fence,
	 atomic_signal_fence, test_and_set, clear, store, load,
         exchange, compare_exchange_weak, compare_exchange_strong,
         fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
	Add __always_inline to force inlining.

From-SVN: r197018
2013-03-24 00:23:20 +00:00
Andi Kleen
94f3ccc8d9 Avoid non constant memory model uses in libatomic
x86 ends up using non constant memory models for some of the libatomic
functions. These all end up as __ATOMIC_SEQ_CST. Just use this
directly. This avoids a new warning for non constant memory
models, which broke the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libatomic/:

2013-03-23  Andi Kleen  <ak@linux.intel.com>

	* gcas.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gexch.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gload.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gstore.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.

diff --git a/libatomic/gcas.c b/libatomic/gcas.c
index edbf611..e3d77f3 100644
--- a/libatomic/gcas.c
+++ b/libatomic/gcas.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_CAS_,N))					\
     return __atomic_compare_exchange_n				\
-      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, smodel, fmodel)
+      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
 #else
 # define EXACT_INLINE(N)
 #endif
diff --git a/libatomic/gexch.c b/libatomic/gexch.c
index 1999067..c8c8658 100644
--- a/libatomic/gexch.c
+++ b/libatomic/gexch.c
@@ -33,7 +33,7 @@
   if (C2(HAVE_ATOMIC_EXCHANGE_,N))				\
     {								\
       *PTR(N,rptr) = __atomic_exchange_n			\
-	(PTR(N,mptr), *PTR(N,vptr), smodel);			\
+	(PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);		\
       return;							\
     }
 #else
diff --git a/libatomic/gload.c b/libatomic/gload.c
index df318d5..85865bd 100644
--- a/libatomic/gload.c
+++ b/libatomic/gload.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N, DEST, SRC, DONE)			\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      DEST = __atomic_load_n (SRC, smodel);			\
+      DEST = __atomic_load_n (SRC, __ATOMIC_SEQ_CST);		\
       DONE;							\
     }
 #else
diff --git a/libatomic/gstore.c b/libatomic/gstore.c
index d571e58..84f9a8d 100644
--- a/libatomic/gstore.c
+++ b/libatomic/gstore.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), smodel);	\
+      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);	\
       return;							\
     }
 #else

From-SVN: r197017
2013-03-24 00:23:10 +00:00
GCC Administrator
0b8799fbf3 Daily bump.
From-SVN: r197016
2013-03-24 00:16:47 +00:00
Steven Bosscher
85c0f02d87 gcse.c (oprs_unchanged_p): Respect flag_gcse_lm.
* gcse.c (oprs_unchanged_p): Respect flag_gcse_lm.
	(record_last_mem_set_info): Likewise.

From-SVN: r197012
2013-03-23 21:41:38 +00:00
Steven Bosscher
225ccc68d7 df-core.c (rest_of_handle_df_initialize): Use XCNEWVEC instead of XNEWVEC followed by memset.
* df-core.c (rest_of_handle_df_initialize): Use XCNEWVEC instead
	of XNEWVEC followed by memset.
	(df_worklist_dataflow): Use XNEWVEC instead of xmalloc with a cast.

From-SVN: r197011
2013-03-23 21:40:20 +00:00
Sebastian Huber
17a02b0648 builtins.exp: Sort targets alphabetically.
2013-03-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* gcc.c-torture/execute/builtins/builtins.exp: Sort targets
	alphabetically.

From-SVN: r197007
2013-03-23 15:34:49 +00:00
Steven Bosscher
b64925dc4b avr.c, [...]: Where applicable...
* config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
	config/epiphany/epiphany.c, config/frv/frv.c, config/ia64/ia64.c,
	config/iq2000/iq2000.c, config/mcore/mcore.c, config/mep/mep.c,
	config/mmix/mmix.c, config/pa/pa.c, config/rs6000/rs6000.c,
	config/s390/s390.c, config/sparc/sparc.c, config/spu/spu.c,
	config/stormy16/stormy16.c, config/v850/v850.c, config/xtensa/xtensa.c,
	dwarf2out.c, hw-doloop.c, resource.c, rtl.h : Where applicable, use
	the predicates NOTE_P, NONJUMP_INSN_P, JUMP_P, CALL_P, LABEL_P, and
	BARRIER_P instead of GET_CODE.

From-SVN: r197005
2013-03-23 12:11:10 +00:00
Eric Botcazou
b9aaf52e25 sparc.c (sparc_emit_probe_stack_range): Fix small inaccuracy in the probing code.
* config/sparc/sparc.c (sparc_emit_probe_stack_range): Fix small
	inaccuracy in the probing code.

	* config/sparc/sparc.md (ctrapsi4): Add predicate for operand #3.
	(ctrapdi4): Likewise.

From-SVN: r197004
2013-03-23 11:32:40 +00:00
Eric Botcazou
66de4d7c91 calls.c (expand_call): Add missing guard to code handling return of non-BLKmode structures in MSB.
* calls.c (expand_call): Add missing guard to code handling return
	of non-BLKmode structures in MSB.
	* function.c (expand_function_end): Likewise.

From-SVN: r197003
2013-03-23 11:13:39 +00:00
Eric Botcazou
4f25c8fbfd combine.c (try_combine): Adjust comment.
* combine.c (try_combine): Adjust comment.  Do not add the set of
	insn #0 if the destination indirectly is set or dies in insn #2.
	Tidy up code to distribute a new note.

From-SVN: r197002
2013-03-23 11:06:21 +00:00
GCC Administrator
956d29dff6 Daily bump.
From-SVN: r196989
2013-03-23 00:16:24 +00:00
Jason Merrill
e0ef0af535 re PR c++/56684 ([C++0x] ICE: unexpected expression 'T' of kind template_parm_index)
PR c++/56684
	* pt.c (instantiation_dependent_r): Check DECL_INITIAL of VAR_DECL
	and CONST_DECL.

From-SVN: r196983
2013-03-22 16:24:17 -04:00
Uros Bizjak
23b7850d10 i386.md (*movdi_internal): Set prefix_rex attribute also for alternatives 16 and 17.
* config/i386/i386.md (*movdi_internal): Set prefix_rex attribute
	also for alternatives 16 and 17.

From-SVN: r196982
2013-03-22 20:15:41 +01:00
Uros Bizjak
bed852cf7a sse.md (*mov<mode>_internal): Merge with *mov<mode>_internal_rex64.
* config/i386/sse.md (*mov<mode>_internal): Merge with
	*mov<mode>_internal_rex64.  Use x64 and nox64 isa attributes.
	Emit insn template depending on type attribute.  Use
	HAVE_AS_IX86_INTERUNIT_MOVQ to handle broken assemblers that require
	movd instead of movq mnemonic for interunit moves.  Rewrite mode
	attribute calculation.  Remove unit attribute calculation.
	Set prefix attribute to maybe_vex for sselog1 and ssemov types.
	Set prefix_data16 attribute for DImode ssemov types.
	Use Ym instead of y for SSE-MMX conversion alternatives.
	Reorder operand constraints.

testsuite/ChangeLog:

	* gcc.target/i386/pr22152.c (dg-options): Add -mtune=core2.

From-SVN: r196981
2013-03-22 19:40:13 +01:00
Steven Bosscher
1e8a79379d df.h (df_insn_delete): Adjust prototype.
* df.h (df_insn_delete): Adjust prototype.
	* emit-rtl.c (remove_insn): Pass a basic block to df_insn_delete
	and let it decide whether mark the basic block dirty.
	(set_insn_deleted): Only pass INSN_P insns to df_insn_delete.
	* df-scan.c (df_insn_info_delete): New helper function, split
	off from df_insn_delete.
	(df_scan_free_bb_info): Use it.
	(df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans):
	Likewise.
	(df_insn_delete): Likewise.  Take insn rtx as argument.  Verify
	that the insn is actually an insn and it has a non-NULL basic block.
	Do not mark basic block dirty if only deleting a DEBUG_INSN.

From-SVN: r196978
2013-03-22 16:37:24 +00:00
Steven Bosscher
80eb8028eb df.h (df_insn_delete): Adjust prototype.
* df.h (df_insn_delete): Adjust prototype.
	* emit-rtl.c (remove_insn): Pass a basic block to df_insn_delete
	and let it decide whether mark the basic block dirty.
	(set_insn_deleted): Only pass INSN_P insns to df_insn_delete.
	* df-scan.c (df_insn_info_delete): New helper function, split
	off from df_insn_delete.
	(df_scan_free_bb_info): Use it.
	(df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans):
	Likewise.
	(df_insn_delete): Likewise.  Take insn rtx as argument.  Verify
	that the insn is actually an insn and it has a non-NULL basic block.
	Do not mark basic block dirty if only deleting a DEBUG_INSN.

From-SVN: r196977
2013-03-22 16:37:00 +00:00
Sebastian Huber
f13a8728c1 re PR testsuite/55994 (multiple definition or memset or strlen for builtins tests with LTO options)
2013-03-22  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR testsuite/55994
	* gcc.c-torture/execute/builtins/builtins.exp: Add
	-Wl,--allow-multiple-definition for RTEMS targets.

From-SVN: r196970
2013-03-22 15:45:10 +00:00
Jakub Jelinek
a745e44403 Fix up ChangeLog entry date.
From-SVN: r196965
2013-03-22 15:17:24 +01:00
Jakub Jelinek
1868beeeca re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)
PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.

From-SVN: r196964
2013-03-22 15:14:42 +01:00
Richard Biener
e14d094cac tree-ssa-loop-im.c (struct mem_ref): Remove indep_ref and dep_ref members.
2013-03-22  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (struct mem_ref): Remove indep_ref and
	dep_ref members.
	(mem_ref_alloc): Do not allocate them.
	(refs_independent_p): Do not query or maintain a cache.

From-SVN: r196961
2013-03-22 13:07:20 +00:00
Richard Biener
e9cf7316cb tree-ssa-loop-im.c (memory_references): Drop all_refs_in_loop.
2013-03-22  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (memory_references): Drop all_refs_in_loop.
	(gather_mem_refs_in_loops): Do not compute it.
	(analyze_memory_references): Do not allocate it.
	(tree_ssa_lim_finalize): Do not free it.
	(for_all_locs_in_loop): Do not query all_refs_in_loop.

From-SVN: r196960
2013-03-22 13:06:33 +00:00
Richard Biener
f046e81b86 is-a.h (as_a): Use gcc_checking_assert.
2013-03-22  Richard Biener  <rguenther@suse.de>

	* is-a.h (as_a): Use gcc_checking_assert.

From-SVN: r196959
2013-03-22 13:01:42 +00:00
Ian Bolton
a05c0ddfb2 AArch64 MOVK fix to operand 2
From-SVN: r196958
2013-03-22 12:07:20 +00:00
Ian Bolton
b315f09425 Testcases that should have been committed with previous patch commits
From-SVN: r196957
2013-03-22 12:06:10 +00:00
Richard Biener
c00217fc25 tree-ssa-loop-im.c (memory_references): Add refs_stored_in_loop bitmaps.
2013-03-22  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (memory_references): Add refs_stored_in_loop
	bitmaps.
	(gather_mem_refs_in_loops): Perform store accumulation here.
	(create_vop_ref_mapping_loop): Remove.
	(create_vop_ref_mapping): Likewise.
	(analyze_memory_references): Initialize refs_stored_in_loop.
	(LOOP_DEP_BIT): New define to map to bits in (in)dep_loop
	bitmaps.
	(record_indep_loop): Remove.
	(record_dep_loop): New function.
	(ref_indep_loop_p_1): Adjust to only walk over references
	in the loop, not its subloops.
	(ref_indep_loop_p): Rename to ...
	(ref_indep_loop_p_2): ... this and recurse over the loop tree,
	maintaining a more fine-grained cache.
	(ref_indep_loop_p): Wrap ref_indep_loop_p_2.
	(tree_ssa_lim_finalize): Free refs_stored_in_loop.

From-SVN: r196956
2013-03-22 11:22:14 +00:00
Paolo Carlini
7ad689673f re PR libstdc++/56678 ([c++11] non-uglified name in <chrono>)
2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56678
	* include/std/chrono (__is_ratio): Uglify T.

From-SVN: r196954
2013-03-22 10:44:42 +00:00
Jakub Jelinek
1faae6ef50 * gennews (files): Add files for GCC 4.8.
From-SVN: r196902
2013-03-22 10:47:51 +01:00
Kai Tietz
226e58b766 * lang.c (put_decl_node): Don't iterate over end_params_node.
From-SVN: r196901
2013-03-22 10:40:39 +01:00
Kai Tietz
8280eba03b win64.S: Make use of ffi_closure_win64_inner symbol pc-relative.
* src/x86/win64.S: Make use of ffi_closure_win64_inner
	symbol pc-relative.

From-SVN: r196900
2013-03-22 10:38:55 +01:00
Richard Biener
15d19bf8d0 tree-ssa-loop-im.c (struct mem_ref_locs): Remove.
2013-03-22  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (struct mem_ref_locs): Remove.
	(struct mem_ref): Make accesses_in_loop a vec of a vec of
	aggregate mem_ref_loc.
	(free_mem_ref_locs): Inline into ...
	(memref_free): ... this and adjust.
	(mem_ref_alloc): Adjust.
	(mem_ref_locs_alloc): Remove.
	(record_mem_ref_loc): Adjust.
	(get_all_locs_in_loop): Rewrite into ...
	(for_all_locs_in_loop): ... this iterator.
	(rewrite_mem_ref_loc): New functor.
	(rewrite_mem_refs): Use for_all_locs_in_loop.
	(sm_set_flag_if_changed): New functor.
	(execute_sm_if_changed_flag_set): Use for_all_locs_in_loop.
	(ref_always_accessed): New functor.
	(ref_always_accessed_p): Use for_all_locs_in_loop.

From-SVN: r196899
2013-03-22 09:12:46 +00:00
Gabriel Dos Reis
9dc6f476ce cp-tree.h (identifier_p): New.
* cp-tree.h (identifier_p): New.
	* call.c: Throughout, call identifier_p insstead of direct
	comparaison of TREE_CODE against IDENTIFIER_NODE.
	* decl.c: Likewisse.
	* decl2.c: Likewise.
	* init.c: Likewise.
	* mangle.c: Likewise.
	* name-lookup.c: Likewise.
	* parser.c: Likewise.
	* pt.c: Likewise.
	* search.c: Likewise.
	* semantics.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.
	* typeck2.c: Likewise.

From-SVN: r196897
2013-03-22 03:55:51 +00:00