Jakub Jelinek [Fri, 23 Nov 2012 14:28:19 +0000 (15:28 +0100)]
tsan.c: Fix up comment formatting.
* tsan.c: Fix up comment formatting.
(instrument_gimple): Ignore gimple_clobber_p stmts.
(pass_tsan, pass_tsan_O0): Remove TODO_update_address_taken
from todo_flags_finish.
From-SVN: r193755
Eric Botcazou [Fri, 23 Nov 2012 11:06:07 +0000 (11:06 +0000)]
trans.c (Attribute_to_gnu): Look through a view conversion from constrained to unconstrained form.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
a view conversion from constrained to unconstrained form.
From-SVN: r193751
Eric Botcazou [Fri, 23 Nov 2012 10:42:50 +0000 (10:42 +0000)]
decl.c (components_need_strict_alignment): New.
* gcc-interface/decl.c (components_need_strict_alignment): New.
(components_to_record): Do not pack the variants if one of the fields
needs strict alignment. Likewise for the variant part as a whole.
Specify the position of the variants even if the size isn't specified,
but do not specify the size of the variant part in this case.
From-SVN: r193750
Georg-Johann Lay [Fri, 23 Nov 2012 10:08:49 +0000 (10:08 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
* gcc.dg/unroll_5.c: Add dg-require-effective-target int32plus.
* gcc.dg/pr55150-1.c: Same.
* gcc.dg/torture/pr54894.c: Add size32plus.
From-SVN: r193749
Jakub Jelinek [Fri, 23 Nov 2012 09:02:28 +0000 (10:02 +0100)]
re PR sanitizer/55435 ([asan] implement an attribute to disable asan instrumentation for a particular function)
PR sanitizer/55435
* c-common.c (handle_no_address_safety_analysis_attribute): New
function.
(c_common_attribute_table): Add no_address_safety_analysis.
* asan.c (gate_asan): Don't instrument functions with
no_address_safety_analysis attribute.
(gate_asan_O0): Use !optimize && gate_asan ().
* doc/extend.texi (no_address_safety_analysis): Document new
function attribute.
* c-c++-common/asan/attrib-1.c: New test.
From-SVN: r193748
Teresa Johnson [Fri, 23 Nov 2012 08:49:43 +0000 (08:49 +0000)]
predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit.
* predict.c (maybe_hot_count_p): Use threshold from profiled working
set instead of hard limit.
(cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of
directly checking limit.
* params.def (HOT_BB_COUNT_FRACTION): Remove.
(HOT_BB_COUNT_WS_PERMILLE): New parameter.
* invoke.texi (hot-bb-count-fraction): Remove.
(hot-bb-count-ws-permille): Document.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r193747
Kostya Serebryany [Fri, 23 Nov 2012 04:09:17 +0000 (04:09 +0000)]
[libsanitizer] a script to help merging asan/tsan from upstream
From-SVN: r193743
Vladimir Makarov [Fri, 23 Nov 2012 01:29:07 +0000 (01:29 +0000)]
re PR middle-end/55430 (LRA miscompilation of ree.c)
2012-11-22 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55430
* lra.c: Move #include "hard-reg-set.h" before #include "rtl.h".
(new_insn_reg): Update biggest_mode.
(collect_non_operand_hard_regs): Check eliminable regs too.
(initialize_lra_reg_info_element): Initialize biggest_mode.
(add_regs_to_insn_regno_info): Ignore non-allocatable
non-eliminable hard regs.
(lra.c): Move setting lra_no_alloc_regs before
init_insn_recog_data.
* lra-constraints.c (simplify_operand_subreg): Add a comment.
(lra_constraints): Ignore equivalent memory of
regs occuring in paradoxical subregs.
* lra-lives.c (lra_create_live_ranges): Add a comment.
From-SVN: r193742
Jakub Jelinek [Fri, 23 Nov 2012 00:31:54 +0000 (01:31 +0100)]
Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
* tsan/Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
* Makefile.am (SUBDIRS): Guard tsan addition with TSAN_SUPPORTED
automake conditional instead of !MULTISUBDIR32.
* configure.tgt: Set TSAN_SUPPORTED=yes for x86_64/i686-linux
for 64-bit multilib.
* configure.ac: Check for void * size, source in configure.tgt,
define TSAN_SUPPORTED conditional instead of MULTILIBDIR32.
* configure: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
From-SVN: r193741
GCC Administrator [Fri, 23 Nov 2012 00:18:03 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193740
Wei Mi [Thu, 22 Nov 2012 22:03:11 +0000 (22:03 +0000)]
tsan: New directory.
libsanitizer/
* tsan: New directory. Import tsan runtime from llvm.
* configure.ac: Add 64 bits tsan build.
* Makefile.am: Likewise.
* configure: Regenerated.
* Makefile.in: Likewise.
From-SVN: r193737
Dmitry Vyukov [Thu, 22 Nov 2012 21:56:58 +0000 (13:56 -0800)]
builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
2012-11-22 Dmitry Vyukov <dvyukov@google.com>
Wei Mi <wmi@google.com>
* builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
* sanitizer.def: Ditto.
* Makefile.in (tsan.o): Add tsan.o target.
(BUILTINS_DEF): Add sanitizer.def.
* passes.c (init_optimization_passes): Add tsan passes.
* tree-pass.h (register_pass_info): Ditto.
* toplev.c (compile_file): Ditto.
* doc/invoke.texi: Document tsan related options.
* gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if
-fsanitize=thread.
* tsan.c: New file about tsan.
* tsan.h: Ditto.
* common.opt: Add -fsanitize=thread.
Co-Authored-By: Wei Mi <wmi@google.com>
From-SVN: r193736
Uros Bizjak [Thu, 22 Nov 2012 21:44:24 +0000 (22:44 +0100)]
md.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses.
* doc/md.texi (RTL Templates Transformation): Use @pxref for
cross-reference in parentheses.
From-SVN: r193735
Uros Bizjak [Thu, 22 Nov 2012 21:13:56 +0000 (22:13 +0100)]
i386.md (*jcc<mode>_0_i387): Macroize insn from *fp_jcc_3_387 using X87MODEF mode iterator.
* config/i386/i386.md (*jcc<mode>_0_i387): Macroize insn
from *fp_jcc_3_387 using X87MODEF mode iterator.
(*jcc<mode>_0_r_i387): New.
(*jccxf_i387): Ditto.
(*jccxf_r_i387): Ditto.
(*jcc<mode>_i387): Macroize insn from *fp_jcc_1_387 using
MODEF mode iterator.
(*jcc<mode>_r_i387): Macroize insn from *fp_jcc_1r_387 using
MODEF mode iterator.
(*jccu<mode>_i387): Macroize insn from *fp_jcc_2_387 using
X87MODEF mode iterator.
(*jccu<mode>_r_i387): Macroize insn from *fp_jcc_2r_387 using
X87MODEF mode iterator.
(*jcc{,u}<mode>_i387 splitters): Macroize splitters using
X87MODEF mode iterator.
(*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Macroize insn
from *fp_jcc_4_<mode>_387 using X87MODEF mode iterator.
(*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): New.
(*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Macroize
splitters using X87MODEF and SWI24 mode iterators.
From-SVN: r193734
Marcus Shawcroft [Thu, 22 Nov 2012 18:08:41 +0000 (18:08 +0000)]
Remove documentation for AArch64 constraint 'Utf'.
2012-11-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
* doc/md.texi (AArch64 family): Remove Utf.
From-SVN: r193732
Uros Bizjak [Thu, 22 Nov 2012 16:59:18 +0000 (17:59 +0100)]
i386.md (FPCMP): New mode iterator.
* config/i386/i386.md (FPCMP): New mode iterator.
(unord): New mode attribute.
(*cmp<mode>_0_i387): Macroize insn from *cmpfp_0
using X87MODEF mode iterator.
(*cmp<mode>_0_cc_i387): Macroize insn from *cmpfp_0_cc using
X87MODEF mode iterator.
(*cmpxf_i387): Rename from *cmpfp_xf.
(*cmpxf_cc_i387): Rename from *cmpfp_xf_cc.
(*cmp<mode>_i387): Rename from *cmpfp_<mode>.
(*cmp<mode>_cc_i387): Rename from *cmpfp_<mode>_cc.
(*cmpu<mode>_i387): Macroize insn from *cmpfp_u using X87MODEF
mode iterator.
(*cmpu<mode>_cc_i387): Macroize insn from *cmpfp_u_cc using X87MODEF
mode iterator.
(*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Macroize_insn from
*cmpfp_<mode> using X87MODEF mode iterator.
(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Macroize_insn from
*cmpfp_<mode>_cc using X87MODEF mode iterator.
(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
*cmpfp_i{,u}_mixed using FPCMP and MODEF mode iterators.
(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
*cmpfp_i{,u}_sse using FPCMP and MODEF mode iterators.
(*cmpi<CCFPCMP:unord><X87MODEF:mode>_i387): Macroize insn from
*cmpfp_i{,u}_387 using FPCMP and X87MODEF mode iterators.
From-SVN: r193731
Ian Bolton [Thu, 22 Nov 2012 15:50:30 +0000 (15:50 +0000)]
Implement bswaphi2 with rev16 (AArch64)
From-SVN: r193729
H.J. Lu [Thu, 22 Nov 2012 15:17:21 +0000 (15:17 +0000)]
Issue an error for -static with fsanitize=address
PR sanitizer/55379
* gcc.c (LINK_COMMAND_SPEC): Issue an error for -static with
-fsanitize=address.
From-SVN: r193728
Jason Merrill [Thu, 22 Nov 2012 14:42:00 +0000 (09:42 -0500)]
re PR c++/55137 (Unexpected static structure initialization)
PR c++/55137
* semantics.c (verify_constant): Track overflow separately.
(reduced_constant_expression_p): Don't check it here.
(cxx_eval_constant_expression): Check it on CSTs.
(cxx_eval_outermost_constant_expr): Treat overflows as non-constant
at this point, but still return the folded version.
(potential_constant_expression_1): Don't check overflow.
From-SVN: r193727
Jason Merrill [Thu, 22 Nov 2012 14:41:52 +0000 (09:41 -0500)]
call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for the ADDR_EXPR.
* call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
the ADDR_EXPR.
From-SVN: r193726
H.J. Lu [Thu, 22 Nov 2012 14:10:47 +0000 (14:10 +0000)]
Add STATIC_LIBASAN_LIBS for -static-libasan
* gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro. Defined
with STATIC_LIBASAN_LIBS.
(LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
* config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
From-SVN: r193725
Kyrylo Tkachov [Thu, 22 Nov 2012 13:29:56 +0000 (13:29 +0000)]
arm.md (*arm_abssi2): Define predicable attribute.
2012-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
(*arm_neg_abssi2): Likewise.
* config/arm/thumb2.md (*thumb2_abssi2): Likewise.
(*thumb2_neg_abssi2): Likewise.
From-SVN: r193724
Paolo Carlini [Thu, 22 Nov 2012 10:23:03 +0000 (10:23 +0000)]
re PR c++/55432 (Too much constexpr makes the compiler crash)
2012-11-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55432
* g++.dg/cpp0x/constexpr-55432.C: New.
From-SVN: r193723
Jakub Jelinek [Thu, 22 Nov 2012 10:09:15 +0000 (11:09 +0100)]
* ree.c (struct ext_modified): Add ATTRIBUTE_PACKED.
From-SVN: r193722
Georg-Johann Lay [Thu, 22 Nov 2012 10:00:13 +0000 (10:00 +0000)]
Adjust decimal point of signed accum mode to GCC default.
libgcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
_divqq_helper.
* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
(__mulha3, __mulsa3)
(__divqq3, __divha3, __divsa3): Adjust to new position of
decimal point of signed accum types.
(__mulusa3_round): New function.
(__mulusa3): Use it.
(__divqq_helper): New function.
(__udivuqq3): Use it.
gcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
(TA): Move decimal point one bit to the right.
* config/avr/avr.c (avr_out_fract): Rewrite.
From-SVN: r193721
Matthias Klose [Thu, 22 Nov 2012 00:47:58 +0000 (00:47 +0000)]
configure.tgt (i[3456]86): Handle -mx32 like -m64.
2012-11-21 Matthias Klose <doko@ubuntu.com>
* configure.tgt (i[3456]86): Handle -mx32 like -m64.
From-SVN: r193720
GCC Administrator [Thu, 22 Nov 2012 00:18:15 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193719
David S. Miller [Wed, 21 Nov 2012 23:55:29 +0000 (23:55 +0000)]
atanq.c (atanq): Update from GLIBC.
2012-11-22 David S. Miller <davem@davemloft.net>
Tobias Burnus <burnus@net-b.de>
Joseph Myers <joseph@codesourcery.com>
* math/atanq.c (atanq): Update from GLIBC. Handle tiny and
very large arguments properly.
* math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
underflow when 'x' is very small.
* math/j1q.c (y1q): Ditto.
* math/log1pq.c (log1pq): Update from GLIBC. Saturate
nonzero exponents with absolute value below 0x1p-128 to
+/- 0x1p-128.
* math/powq.c (powq): Update from GLIBC. If xm1 is
smaller than LDBL_EPSILON/2.0L, just return xm1.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r193716
Matthias Klose [Wed, 21 Nov 2012 23:33:40 +0000 (23:33 +0000)]
t-linux: New file; define MULTIARCH_DIRNAME.
2012-11-21 Matthias Klose <doko@ubuntu.com>
* config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
* config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
From-SVN: r193715
Matthias Klose [Wed, 21 Nov 2012 23:01:30 +0000 (23:01 +0000)]
t-linux: Define MULTIARCH_DIRNAME.
2012-11-21 Matthias Klose <doko@ubuntu.com>
* config/m68k/t-linux: Define MULTIARCH_DIRNAME.
From-SVN: r193714
Matthias Klose [Wed, 21 Nov 2012 22:57:54 +0000 (22:57 +0000)]
t-linux: New file; define MULTIARCH_DIRNAME.
2012-11-21 Matthias Klose <doko@ubuntu.com>
* config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
* config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
From-SVN: r193713
Vladimir Makarov [Wed, 21 Nov 2012 22:22:11 +0000 (22:22 +0000)]
re PR rtl-optimization/55414 (spec2006 416.gamess compilation fails on LRA)
2012-11-21 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55414
* lra-constraints.c (Index): New function.
(lra_constraints): Check dead equiv init insns.
From-SVN: r193712
Janus Weil [Wed, 21 Nov 2012 22:19:51 +0000 (23:19 +0100)]
re PR fortran/55352 (Erroneous gfortran warning of unused module variable when variable is only used in namelist)
2012-11-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/55352
* trans-decl.c (generate_local_decl): Don't warn for explicitly imported
but unused module variables which are in a namelist or common block.
2012-11-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/55352
* gfortran.dg/namelist_76.f90: New.
From-SVN: r193711
Richard Henderson [Wed, 21 Nov 2012 22:10:01 +0000 (14:10 -0800)]
alpha: Update to new extv/insv patterns
* config/alpha/alpha.md (extvmisaligndi): Rename from extv; update
mode of operand 1; remove ancient extract_bit_field workaround.
(insvmisaligndi): Rename from insv and update similarly.
(extzvmisaligndi): Rename from extzv and update similarly; split out...
(extzvdi): New expander.
From-SVN: r193710
Steve Ellcey [Wed, 21 Nov 2012 21:28:30 +0000 (21:28 +0000)]
re PR pch/55399 (pch tests fail on mips-mti-linux-gnu target)
2012-11-21 Steve Ellcey <sellcey@mips.com>
PR pch/55399
* files.c (pch_open_file): Fix check for implicit_preinclude.
From-SVN: r193709
Jakub Jelinek [Wed, 21 Nov 2012 20:29:14 +0000 (21:29 +0100)]
re PR libgomp/55411 (OMP threads lose their OMP_WAIT_POLICY when another OMP thread gets destructed)
PR libgomp/55411
* team.c (gomp_free_thread): Decrease gomp_managed_threads
if pool had any threads_used.
From-SVN: r193706
H.J. Lu [Wed, 21 Nov 2012 20:28:29 +0000 (20:28 +0000)]
Document __SANITIZE_ADDRESS__
* doc/cpp.texi: Document __SANITIZE_ADDRESS__.
From-SVN: r193705
H.J. Lu [Wed, 21 Nov 2012 20:20:42 +0000 (20:20 +0000)]
Define __SANITIZE_ADDRESS__ for -fsanitize=address
PR c/55397
* cppbuiltin.c (define_builtin_macros_for_compilation_flags):
Define __SANITIZE_ADDRESS__ for flag_asan.
From-SVN: r193704
Wei Mi [Wed, 21 Nov 2012 17:46:00 +0000 (17:46 +0000)]
common.opt: Change faddress-sanitizer to fsanitize=address.
* common.opt: Change faddress-sanitizer to fsanitize=address.
* toplev.c (process_options): Likewise.
* gcc.c (LINK_COMMAND_SPEC): Likewise.
* testsuite/lib/asan-dg.exp
(check_effective_target_faddress_sanitizer): Likewise.
(asan_init): Likewise.
* doc/invoke.texi (-fsanitize=address): Document.
From-SVN: r193702
Martin Jambor [Wed, 21 Nov 2012 17:13:48 +0000 (18:13 +0100)]
ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to do_clone_for_all_contexts.
2012-11-21 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to
do_clone_for_all_contexts. Update all uses. New flag
is_all_contexts_clone.
* ipa-cp.c (cgraph_edge_brings_value_p): Also consider the case when cs
leads to the clone for all contexts.
(perhaps_add_new_callers): Likewise.
(decide_whether_version_node): Remove bogus !plats->aggs test. Set
is_all_contexts_clone when cloning for all contexts.
* testsuite/gcc.dg/ipa/ipcp-agg-7.c: New test.
* testsuite/gcc.dg/ipa/ipcp-agg-8.c: Likewise.
From-SVN: r193701
Martin Jambor [Wed, 21 Nov 2012 17:04:45 +0000 (18:04 +0100)]
re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)
2012-11-21 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55260
* ipa-cp.c (intersect_aggregates_with_edge): New function.
(find_aggregate_values_for_callers_subset): Part moved to the function
above. Call it.
(cgraph_edge_brings_all_agg_vals_for_node): Reimplemented using
intersect_aggregates_with_edge.
* testsuite/g++.dg/torture/pr55260-2.C: New test.
From-SVN: r193700
Matthias Klose [Wed, 21 Nov 2012 16:13:28 +0000 (16:13 +0000)]
t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
2012-11-21 Matthias Klose <doko@ubuntu.com>
* config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
From-SVN: r193699
Kostya Serebryany [Wed, 21 Nov 2012 15:07:31 +0000 (15:07 +0000)]
extend libsanitizer/README.gcc
From-SVN: r193698
Teresa Johnson [Wed, 21 Nov 2012 15:04:45 +0000 (16:04 +0100)]
re PR gcov-profile/55417 (AddressSanitizer reports stack-buffer-overflow in profiling code)
PR gcov-profile/55417
* profile.c (compute_working_sets): Check index first
to avoid out-of-bounds array access.
From-SVN: r193697
Tobias Burnus [Wed, 21 Nov 2012 13:46:34 +0000 (14:46 +0100)]
re PR libquadmath/55225 (Fail to build lgammaq.c from trunk with mingw-w64)
2012-11-21 Tobias Burnus <burnus@net-b.de>
PR libquadmath/55225
* math/lgammaq.c (lgammaq): Use local variable if
math.h does not provide signgam.
* acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r193695
Matthias Klose [Wed, 21 Nov 2012 13:39:27 +0000 (13:39 +0000)]
t-aarch64-linux: Define MULTIARCH_DIRNAME for linux target.
2012-11-21 Matthias Klose <doko@ubuntu.com>
* config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
linux target.
From-SVN: r193694
Uros Bizjak [Wed, 21 Nov 2012 13:20:37 +0000 (14:20 +0100)]
* config/i386/i386.md
(*float<SWI48x:mode><MODEF:mode>2_mixed_with_temp): Use SWI48 mode
iterator instead of SWI48x. Update insn constraint.
(*float<SWI48x:mode><MODEF:mode>2_mixed_interunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_sse_with_temp): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_sse_interunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_sse_nointerunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2 splitters): Ditto.
(lrint<MODEF:mode><SWI48x:mode>2): Ditto.
From-SVN: r193692
Marcus Shawcroft [Wed, 21 Nov 2012 13:15:12 +0000 (13:15 +0000)]
Fix parallel build race.
gengtype-lex.c is built twice, once for BUILD and once for HOST, but
the BUILD flavour is missing a dependency on $(BCONFIG_H).
2012-11-21 Marcus Shawcroft <marcus.shawcroft@arm.com>
* Makefile.in (gengtype-lex.o): Add dependency on $(BCONFIG_H).
From-SVN: r193691
Martin Jambor [Wed, 21 Nov 2012 12:27:33 +0000 (13:27 +0100)]
pr55238.c: Remove hidden attribute.
2012-11-21 Martin Jambor <mjambor@suse.cz>
* gcc.dg/torture/pr55238.c: Remove hidden attribute.
From-SVN: r193690
Ian Lance Taylor [Wed, 21 Nov 2012 07:03:38 +0000 (07:03 +0000)]
libgo: Update to current version of master library.
From-SVN: r193688
Bin Cheng [Wed, 21 Nov 2012 03:44:21 +0000 (03:44 +0000)]
* config/arm/arm-cores.def (cortex-m1, cortex-m0)
(cortex-m0plus): Use v6m.
* config/arm/arm-protos.h (tune_params): Add
logical_op_non_short_circuit.
* config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
(arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune)
(arm_cortex_tune, arm_cortex_a15_tune, arm_cortex_a5_tune)
(arm_cortex_a9_tune, arm_fa726te_tune): Set
logical_op_non_short_circuit field.
(arm_v6m_tune): New tune_params struct.
* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Skip on ARM Cortex-M0.
* gcc.dg/tree-ssa/vrp47.c: Ditto.
From-SVN: r193687
Matthias Klose [Wed, 21 Nov 2012 03:20:12 +0000 (03:20 +0000)]
configure.ac: Substitute `with_cpu'.
2012-11-20 Matthias Klose <doko@ubuntu.com>
* configure.ac: Substitute `with_cpu'.
* configure: Regenerate.
* Makefile.in: Define `with_cpu'.
* config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
* config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
* config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
to the list.
(MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
* config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
* config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
Include rs6000/t-linux for 32bit non-biarch configurations.
From-SVN: r193686
Matthias Klose [Wed, 21 Nov 2012 00:53:45 +0000 (00:53 +0000)]
install.texi: Move multiarch paragraph out of multilib documentation.
2012-11-20 Matthias Klose <doko@ubuntu.com>
* doc/install.texi: Move multiarch paragraph out of multilib
documentation.
From-SVN: r193685
GCC Administrator [Wed, 21 Nov 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193684
Matthias Klose [Tue, 20 Nov 2012 23:10:31 +0000 (23:10 +0000)]
t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
2012-11-20 Matthias Klose <doko@ubuntu.com>
* config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
From-SVN: r193681
Richard Sandiford [Tue, 20 Nov 2012 22:49:41 +0000 (22:49 +0000)]
stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.
gcc/
* stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.
From-SVN: r193680
Vladimir Makarov [Tue, 20 Nov 2012 21:32:59 +0000 (21:32 +0000)]
re PR rtl-optimization/55396 (-O2 -m32 -fno-omit-frame-pointer: internal compiler error: in check_rtl, at lra.c:2007)
2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55396
* lra-constraints.c (get_reload_reg): Change class if it is
different from reg class.
From-SVN: r193678
Diego Novillo [Tue, 20 Nov 2012 21:21:30 +0000 (16:21 -0500)]
Introduce vNULL to use as a nil initializer for vec<>.
This patch implements Jakub's idea of adding an empty struct with
a typecast operator that returns nil vectors. This is useful to
shorten all the initializers when declaring vec instances or passing
nil vectors as function arguments.
2012-11-20 Diego Novillo <dnovillo@google.com>
Jakub Jelinek <jakub@redhat.com>
ChangeLog
* vec.h (struct vnull): Declare.
(vNULL): Declare.
* vec.c (vNULL): Define.
* bb-reorder.c: Replace all vec<T, A>() initializers with vNULL.
* cfgexpand.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/i386/i386.c: Likewise.
* df-core.c: Likewise.
* dominance.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genautomata.c: Likewise.
* graphds.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ira-build.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-symtab.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* ree.c: Likewise.
* sched-deps.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched-ir.h: Likewise.
* sel-sched.c: Likewise.
* stor-layout.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-eh.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-predcom.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* value-prof.c: Likewise.
* varasm.c: Likewise.
ada/ChangeLog
* gcc-interface/decl.c: Replace all vec<T,A>()
initializers with vNULL.
cp/ChangeLog
* name-lookup.c: Replace all vec<T, A>() initializers
with vNULL.
* semantics.c: Likewise.
fortran/ChangeLog
* trans-openmp.c: Replace all vec<T, A>() initializers
with vNULL.
lto/ChangeLog
* lto.c: Replace all vec<T, A>() initializers with vNULL.
objc/ChangeLog
* objc-act.c: Replace all vec<T, A>() initializers with vNULL.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r193677
Konstantin Serebryany [Tue, 20 Nov 2012 20:54:49 +0000 (20:54 +0000)]
Fix sanitizer build on sparc64.
* sanitizer_common/sanitizer_linux.cc
(SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
(internal_mmap): Use it.
(internal_filesize): Likewise.
From-SVN: r193676
Jakub Jelinek [Tue, 20 Nov 2012 19:51:53 +0000 (20:51 +0100)]
vec.h (class vec_prefix): Change into struct.
* vec.h (class vec_prefix): Change into struct.
Rename field alloc_PRIVATE_ back to alloc_.
Rename field num_PRIVATE_ to num_.
Update all users.
(class vec<T, A, vl_embed>): Rename field pfx_PRIVATE_ to vecpfx_.
Rename field data_PRIVATE_ to vecdata_.
Update all users.
(class vec<T, A, vl_ptr>): Make every field public.
Rename field vec_PRIVATE_ back to vec_.
Update all users.
From-SVN: r193675
Richard Sandiford [Tue, 20 Nov 2012 19:49:26 +0000 (19:49 +0000)]
re PR middle-end/55403 (ICE building libitm)
gcc/
PR middle-end/55403
PR middle-end/55391
* expmed.c (store_bit_field_1): Use adjust_bitfield_address_size
rather than adjust_bitfield_address to change the mode of a reference.
(extract_bit_field_1): Likewise.
From-SVN: r193674
Michael Meissner [Tue, 20 Nov 2012 19:29:02 +0000 (19:29 +0000)]
rs6000.md (movdf_hardfloat32): Add a comment explaining the register ordering preferences.
2012-11-20 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
explaining the register ordering preferences.
From-SVN: r193673
Aldy Hernandez [Tue, 20 Nov 2012 18:28:09 +0000 (18:28 +0000)]
re PR tree-optimization/55350 (verify_gimple failed with invalid (pointer) operands to plus/minus)
PR tree-optimization/55350
* gimple-ssa-strength-reduction.c (replace_dependent): Handle
POINTER_{PLUS,MINUS}_EXPR correctly.
From-SVN: r193672
Uros Bizjak [Tue, 20 Nov 2012 18:02:36 +0000 (19:02 +0100)]
[multiple changes]
2012-11-20 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (fix_trunc<MODEF:mode><SWI48:mode>_sse): Macroize
insn from fix_trunc<mode>{si,di}_sse using SWI48 mode iterator.
(peephole2 to avoid vector decoded forms): Macroize peephole2
using MODEF mode iterator. Use SWI48 mode iterator instead of SWI48x.
2012-11-20 Uros Bizjak <ubizjak@gmail.com>
PR target/19398
* config/i386/i386.md
(peephole2 to shorten x87->SSE reload sequences): Remove peephole2.
* config/i386/i386.h (enum ix86_tune_indices)
<IX86_TUNE_SHORTEN_X87_SSE>: Remove.
* config/i386/i386.h (initial_ix86_tune_features): Update.
2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
PR target/19398
* lra-constraints.c (process_alt_operands): Discourage reloads
through secodnary memory.
testsuite/ChangeLog:
2012-11-20 Uros Bizjak <ubizjak@gmail.com>
PR target/19398
* gcc.target/i386/pr19398.c: New test.
From-SVN: r193671
Ian Lance Taylor [Tue, 20 Nov 2012 17:28:05 +0000 (17:28 +0000)]
* dwarf.c (read_attribute): Always clear val.
From-SVN: r193670
David Edelsohn [Tue, 20 Nov 2012 16:27:57 +0000 (16:27 +0000)]
rs6000.md (largetoc_low): Revert.
* config/rs6000/rs6000.md (largetoc_low): Revert.
(largetoc_low_aix<mode>): New.
From-SVN: r193669
Diego Novillo [Tue, 20 Nov 2012 16:26:24 +0000 (11:26 -0500)]
Fix dependencies for tlink.o.
Found while changing code in vec.h and doing incremental builds.
2012-11-20 Diego Novillo <dnovillo@google.com>
* Makefile.in (tlink.o): Add dependency on VEC_H.
From-SVN: r193668
Diego Novillo [Tue, 20 Nov 2012 16:26:09 +0000 (11:26 -0500)]
Convert vec<> into a POD.
This fixes PR 55398 by making vec<> a true POD. I thought we could get
away with having private fields, but we can't. We fail to pass vec<>
instances through varargs.
The patch makes every field public and mangles the field names in the
hope that no future patch will try to make use of them directly. It's
horrible, but I could not think of anything better.
Tested with clang++ as the host compiler.
2012-11-20 Diego Novillo <dnovillo@google.com>
PR middle-end/55398
* vec.h (class vec_prefix): Make every field public.
Rename field alloc_ to alloc_PRIVATE_.
Rename field num_ to num_PRIVATE_.
Update all users.
(class vec<T, A, vl_embed>): Make every field public.
Rename field pfx_ to pfx_PRIVATE_.
Rename field data_ to data_PRIVATE_.
Update all users.
(class vec<T, A, vl_ptr>): Make every field public.
Rename field vec_ to vec_PRIVATE_.
Update all users.
From-SVN: r193667
Kai Tietz [Tue, 20 Nov 2012 16:17:16 +0000 (17:17 +0100)]
re PR target/55268 (gcc4.8 mingw-w64 wrong stdcall import symbols generated after rev 193204)
PR target/55268
* i386.c (ix86_mangle_decl_assembler_name): Use
SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME if defined.
* cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Rename
to SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME.
From-SVN: r193666
Paolo Carlini [Tue, 20 Nov 2012 14:54:11 +0000 (14:54 +0000)]
re PR libstdc++/55413 ([LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized])
2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55413
* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
__bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
From-SVN: r193663
Matthias Klose [Tue, 20 Nov 2012 13:48:28 +0000 (13:48 +0000)]
2012-11-20 Matthias Klose <doko@ubuntu.com>
* doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
* include/bits/allocator.h: Escape sharp braces in comment.
* include/profile/impl/profiler_algos.h: Likewise.
From-SVN: r193662
Nick Clifton [Tue, 20 Nov 2012 13:12:16 +0000 (13:12 +0000)]
v850.c (F): New function.
* config/v850/v850.c (F): New function. Mark the given insn as
being frame related.
(v850_all_frame_related): New function. Mark the given push insn
as being frame related.
(v850_pass_by_reference): When using the RH850 ABI do not pass
arguments by reference.
(v850_strict_argument_naming): Delete function.
(v850_function_arg): Use word alignment with the RH850 ABI.
(v850_arg_partial_bytes): Likewise.
(v850_function_arg_advance): Likewise.
(v850_print_operand): Handle CONST_INT and CONST_DOUBLE.
(compute_register_save_size): Use df_regs_ever_live_p.
(increment_stack): Mark prologue adjustments as being frame
related.
(expand_prologue): Handle pretend args. Mark insns generated as
being frame related.
(expand_epilogue): Likewise.
(v850_return_in_memory): When using the RH850 ABI return
aggregates in memory.
(v850_setup_incoming_varargs): Delete function.
(v850_option_override): New function.
(TARGET_DEBUG_UNWIND_INFO): Delete definition.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(TARGET_OPTION_OVERRIDE): Define.
* config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi
options on to assembler.
(LINK_SPEC): Likewise.
(TARGET_CPU_CPP_BUILTINS): Define __V850_8BYTE_ALIGN__ and
__V850_GCC_ABI__.
(STACK_BOUNDARY): Set to BIGGEST_ALIGNMENT.
(FUNCTION_BOUNDARY): With the RH850 ABI always 32-bit alignment.
(BIGGEST_ALIGNMENT): With -8byte-align set to 64-bits.
(BIGGEST_FIELD_ALIGNMENT): Likewise.
(enum reg_class): Swap EVEN_REGS and GENERAL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(struct cum_arg): Delete anonymous_args field.
(INIT_CUMULATIVE_ARGS): Update.
(PREFERRED_DEBUG): Set to DWARF2_DEBUG.
(DWARF2_FRAME_INFO): Define.
(DWARF2_UNWIND_INFO): Define.
(INCOMING_RETURN_ADDR_RTX): Define.
(DWARF_FRAME_RETURN_COLUMN): Define.
(TARGET_USE_FPU): Define.
* config/v850/v850.md: Replace TARGET_V850E2V3 in floating point
insns with TARGET_USE_FPU.
(fixuns_truncsfsi2): New pattern.
(fixuns_truncdfsi2): New pattern.
(fix_truncsfdi2): New pattern.
(fixuns_truncsfdi2): New pattern.
(fix_truncdfdi2): New pattern.
(fixuns_truncdfdi2): New pattern.
(unsfloatsisf2): New pattern.
(unsfloatsidf2): New pattern.
(floatdisf2): New pattern.
(unsfloatdisf2): New pattern.
(floatdidf2): New pattern.
(unsfloatdidf2): New pattern.
(fnmasf4): Fix RTl description.
(fnmssf4): Likewise.
* config/v850/v850.opt (mrelax): New option.
(mlong-jumps): Likewise.
(msoft-float): Likewise.
(mhard-float): Likewise.
(mrh850-abi): Likewise.
(mgcc-abi): Likewise.
(m8byte-align): Likewise.
* config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options.
(MULTILIB_DIRNAMES): Likewise.
From-SVN: r193661
Uros Bizjak [Tue, 20 Nov 2012 12:54:23 +0000 (13:54 +0100)]
i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
* config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
From-SVN: r193660
Nick Clifton [Tue, 20 Nov 2012 12:22:44 +0000 (12:22 +0000)]
rx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to their natural alignment.
* config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
align stack arguments to their natural alignment.
(rx_narrow_volatile_bitfield): New function. Allows narrow
volatile bitfields.
(rx_ok_to_inline): New function. Do not inline functions with
local variables into a naked caller.
(TARGET_NARROW_VOLATILE_BITFIELD): Define.
(TARGET_CAN_INLINE_P): Define.
* config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
__RX_GC_ABI__.
(ASM_SPEC): Pass -mgcc-abi on to the assembler.
(STRICT_ALIGNMENT): Set to false.
(CTORS_SECTION_ASM_OP): Add executable attribute.
(DTORS_SECTION_ASM_OP): Add executable attribute.
(INIT_ARRAY_SECTION_ASM_OP): Add executable attribute.
(FINI_ARRAY_SECTION_ASM_OP): Add executable attribute.
* config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
as it causes too much reload pressure.
* config/rx/rx.opt (mgcc-abi): New option.
(mrx-abi): New option.
* config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI
multilib.
(MULTILIB_DIRNAMES): Likewise.
From-SVN: r193659
James Greenhalgh [Tue, 20 Nov 2012 12:10:37 +0000 (12:10 +0000)]
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_simd_builtin_type_bits): Rename to...
(aarch64_simd_builtin_type_mode): ...this, make sequential.
(aarch64_simd_builtin_datum): Refactor members.
(VAR1, VAR2, ..., VAR12): Update accordingly.
(aarch64_simd_builtin_data): Include from aarch64-simd-builtins.def.
(aarch64_builtins): Update accordingly.
(init_aarch64_simd_builtins): Refactor, rename to...
(aarch64_init_simd_builtins): ...this.
(aarch64_simd_builtin_compare): Remove.
(locate_simd_builtin_icode): Likewise.
* config/aarch64/aarch64-protos.h (aarch64_init_builtins): New.
(aarch64_expand_builtin): New.
* config/aarch64/aarch64-simd-builtins.def: New file.
* config/aarch64/aarch64.c (aarch64_init_builtins):
Move to aarch64-builtins.c.
(aarch64_expand_builtin): Likewise.
* config/aarch64/aarch64.h
(aarch64_builtins): Move to aarch64-builtins.c.
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
From-SVN: r193658
Martin Jambor [Tue, 20 Nov 2012 11:20:41 +0000 (12:20 +0100)]
re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)
2012-11-20 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55260
* ipa-cp.c (find_aggregate_values_for_callers_subset): Rename info to
dest_info, use caller_info instead of info when determining whether
callee is a clone.
* testsuite/g++.dg/torture/pr55260-1.C: New test.
From-SVN: r193657
Andrey Turetskiy [Tue, 20 Nov 2012 11:05:10 +0000 (11:05 +0000)]
sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge *avx2_pmulhrswv16hi3 and...
* config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
*avx2_pmulhrswv16hi3 and *ssse3_pmulhrswv8hi3 into one pattern.
From-SVN: r193656
James Greenhalgh [Tue, 20 Nov 2012 10:56:52 +0000 (10:56 +0000)]
Fix to commit 193651.
gcc/testsuite/
* gcc.target/aarch64/atomic-comp-swap-release-acquire.c:
Actually add this file.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.
From-SVN: r193654
James Greenhalgh [Tue, 20 Nov 2012 10:51:02 +0000 (10:51 +0000)]
Fix revision 193651.
gcc/
* config/aarch64/atomics.md: Actually add this file.
From-SVN: r193653
Sofiane Naci [Tue, 20 Nov 2012 10:07:34 +0000 (10:07 +0000)]
aarch64.md (define_attr "sync_*"): Remove.
gcc/
* config/aarch64/aarch64.md
(define_attr "sync_*"): Remove.
(define_attr "length"): Update.
Include atomics.md.
* config/aarch64/aarch64-protos.h
(aarch64_expand_compare_and_swap): Add function prototype.
(aarch64_split_compare_and_swap): Likewise.
(aarch64_split_atomic_op): Likewise.
(aarch64_expand_sync): Remove function prototype.
(aarch64_output_sync_insn): Likewise.
(aarch64_output_sync_lock_release): Likewise.
(aarch64_sync_loop_insns): Likewise.
(struct aarch64_sync_generator): Remove.
(enum aarch64_sync_generator_tag): Likewise.
* config/aarch64/aarch64.c
(aarch64_legitimize_sync_memory): Remove function.
(aarch64_emit): Likewise.
(aarch64_insn_count): Likewise.
(aarch64_output_asm_insn): Likewise.
(aarch64_load_store_suffix): Likewise.
(aarch64_output_sync_load): Likewise.
(aarch64_output_sync_store): Likewise.
(aarch64_output_op2): Likewise.
(aarch64_output_op3): Likewise.
(aarch64_output_sync_loop): Likewise.
(aarch64_get_sync_operand): Likewise.
(aarch64_process_output_sync_insn): Likewise.
(aarch64_output_sync_insn): Likewise.
(aarch64_output_sync_lock_release): Likewise.
(aarch64_sync_loop_insns): Likewise.
(aarch64_call_generator): Likewise.
(aarch64_expand_sync): Likewise.
(* emit_f): Remove variable.
(aarch64_insn_count): Likewise.
(FETCH_SYNC_OPERAND): Likewise.
(aarch64_emit_load_exclusive): New function.
(aarch64_emit_store_exclusive): Likewise.
(aarch64_emit_unlikely_jump): Likewise.
(aarch64_expand_compare_and_swap): Likewise.
(aarch64_split_compare_and_swap): Likewise.
(aarch64_split_atomic_op): Likewise.
* config/aarch64/iterators.md
(atomic_sfx): New mode attribute.
(atomic_optab): New code attribute.
(atomic_op_operand): Likewise.
(atomic_op_str): Likewise.
(syncop): Rename to atomic_op.
* config/aarch64/sync.md: Delete.
* config/aarch64/atomics.md: New file.
gcc/testsuite
* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: New testcase.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.
From-SVN: r193651
Jakub Jelinek [Tue, 20 Nov 2012 08:38:11 +0000 (09:38 +0100)]
re PR debug/55094 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2224)
PR middle-end/55094
* builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
* cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
on the first old_insns_match_p call. For !ACCUMULATE_OUTGOING_ARGS
fail if the last real insn doesn't have REG_ARGS_SIZE note.
* gcc.dg/pr55094.c: New test.
From-SVN: r193649
Jakub Jelinek [Tue, 20 Nov 2012 08:36:31 +0000 (09:36 +0100)]
re PR bootstrap/55370 (Bad libgcc.map)
PR bootstrap/55370
* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.
From-SVN: r193648
Jakub Jelinek [Tue, 20 Nov 2012 08:34:43 +0000 (09:34 +0100)]
re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use-superblocks -fstack-protector -ftree-slp-vectorize)
PR rtl-optimization/54921
* cselib.h (fp_setter_insn): New prototype.
* cselib.c (fp_setter_insn): New function.
(cselib_process_insn): If frame_pointer_needed,
call cselib_invalidate_rtx (stack_pointer_rtx) after
processing a frame pointer setter.
* var-tracking.c (fp_setter): Removed.
(vt_initialize): Use fp_setter_insn instead of fp_setter.
* gcc.dg/pr54921.c: New test.
From-SVN: r193647
Michael Meissner [Tue, 20 Nov 2012 00:55:58 +0000 (00:55 +0000)]
rs6000.md (movdf_hardfloat32): Reorder move constraints so that the traditional floating point loads...
2012-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
constraints so that the traditional floating point loads, stores,
and moves are done first, then the VSX loads, stores, and moves,
and finally the GPR loads, stores, and moves so that reload
chooses FPRs over GPRs, and uses the traditional load/store
instructions which provide an offset.
(movdf_hardfloat64): Likewise.
From-SVN: r193645
Jonathan Wakely [Tue, 20 Nov 2012 00:24:18 +0000 (00:24 +0000)]
array_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
* include/ext/array_allocator.h: Replace uses of
__GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
From-SVN: r193644
GCC Administrator [Tue, 20 Nov 2012 00:18:39 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193643
Richard Sandiford [Mon, 19 Nov 2012 23:28:04 +0000 (23:28 +0000)]
re PR middle-end/55359 (ICE in simplify_subreg accessing an unaligned subvector)
gcc/
PR middle-end/55359
* simplify-rtx.c (simplify_subreg): Return null for invalid offsets.
gcc/testsuite/
* gcc.target/i386/pr55359.c: New test.
From-SVN: r193640
Jonathan Wakely [Mon, 19 Nov 2012 22:35:11 +0000 (22:35 +0000)]
typedefs.cc: Check rebind and improve propagate_on_container_move_assignment check.
* testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
and improve propagate_on_container_move_assignment check.
From-SVN: r193639
Jonathan Wakely [Mon, 19 Nov 2012 22:28:00 +0000 (22:28 +0000)]
stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/unordered_map.h: Apply DR 2005 resolution.
* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
* include/ext/array_allocator.h: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/malloc_allocator.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/pool_allocator.h: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
additional specializations.
* include/std/functional: Add comment about DR resolution.
* include/std/future: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/thread: Likewise.
* testsuite/20_util/allocator/requirements/typedefs.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r193638
Aldy Hernandez [Mon, 19 Nov 2012 22:17:58 +0000 (22:17 +0000)]
* trans-mem.c (execute_tm_mark): Release bb_regions.
From-SVN: r193637
Jonathan Wakely [Mon, 19 Nov 2012 21:33:52 +0000 (21:33 +0000)]
hashtable.h: Improve comments.
* include/bits/hashtable.h: Improve comments.
* include/bits/hashtable_policy.h: Likewise.
From-SVN: r193636
Eric Botcazou [Mon, 19 Nov 2012 18:57:31 +0000 (18:57 +0000)]
thread_local-order1.C: Add dg-require-cxa-atexit.
* g++.dg/tls/thread_local-order1.C: Add dg-require-cxa-atexit.
* g++.dg/tls/thread_local3g.C: Likewise.
* g++.dg/tls/thread_local4g.C: Likewise.
* g++.dg/tls/thread_local5g.C: Likewise.
* g++.dg/tls/thread_local6g.C: Likewise.
* g++.dg/tls/thread_local-cse.C: XFAIL on Solaris 9.
* g++.dg/tls/thread_local2.C: Likewise.
* g++.dg/tls/thread_local2g.C: Likewise.
* g++.dg/tls/thread_local6.C: Likewise.
From-SVN: r193634
Aldy Hernandez [Mon, 19 Nov 2012 18:43:40 +0000 (18:43 +0000)]
trans-mem (collect_bb2reg): Stop scanning at irrevocable
* trans-mem (collect_bb2reg): Stop scanning at irrevocable
* blocks.
(get_bb_regions_instrumented): Add new traverse_clone argument and
use it.
(expand_regions_1): Same.
(expand_region): Same.
(execute_tm_mark): Pass new argument to expand_regions.
(expand_block_edges): Pass new argument to
get_bb_regions_instrumented.
testsuite/
* g++.dg/tm/pr51516.C: Adjust for uninstrumented code path.
* gcc.dg/tm/clone-1.c: New test.
From-SVN: r193633
Mike Stump [Mon, 19 Nov 2012 18:16:36 +0000 (18:16 +0000)]
* compare_tests: Add export LC_ALL=C to make sort happier.
From-SVN: r193631
Sofiane Naci [Mon, 19 Nov 2012 18:10:09 +0000 (18:10 +0000)]
gcc/
* config/aarch64/aarch64.c
(aarch64_output_mi_thunk): Refactor to generate RTL patterns.
From-SVN: r193630
David Edelsohn [Mon, 19 Nov 2012 18:07:21 +0000 (13:07 -0500)]
Add PR bootstrap/55384 to ChangeLog entry.
From-SVN: r193629
David Edelsohn [Mon, 19 Nov 2012 16:58:31 +0000 (11:58 -0500)]
re PR target/55276 (ppc: callee-saved vector registers not preserved)
2012-11-19 Mans Rullgard <mans@mansr.com>
PR target/55276
* config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
for TARGET_ALTIVEC_ABI. Zero vrsave_save_offset if
!TARGET_ALTIVEC_VRSAVE.
(rs6000_emit_prologue): For SAVE_INLINE_VLRs, check vrsave_size
not vrsave_mask.
From-SVN: r193628
Mans Rullgard [Mon, 19 Nov 2012 16:55:05 +0000 (16:55 +0000)]
rs6000.c (rs6000_stack_info): Always set vrsave_mask for TARGET_ALTIVEC_ABI.
2012-11-19 Mans Rullgard <mans@mansr.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
for TARGET_ALTIVEC_ABI. Zero vrsave_save_offset if
!TARGET_ALTIVEC_VRSAVE.
(rs6000_emit_prologue): For SAVE_INLINE_VLRs, check vrsave_size
not vrsave_mask.
From-SVN: r193627
Ian Lance Taylor [Mon, 19 Nov 2012 16:28:04 +0000 (16:28 +0000)]
re PR translation/53764 (Typo in translatable string: "literalto")
PR translation/53764
compiler: Fix typo in error message.
Reported by Roland Stigge.
From-SVN: r193626
David Edelsohn [Mon, 19 Nov 2012 14:47:11 +0000 (14:47 +0000)]
* system.h (vec_free): Undef.
From-SVN: r193625