jason [Fri, 4 Mar 2016 01:45:43 +0000 (01:45 +0000)]
PR c++/67164
* pt.c (copy_template_args): New.
(tsubst_pack_expansion): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233954
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 4 Mar 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233953
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 3 Mar 2016 22:43:14 +0000 (22:43 +0000)]
* call.c (build_aggr_conv): Use get_nsdmi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233947
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 3 Mar 2016 22:43:09 +0000 (22:43 +0000)]
PR c++/51406
* typeck.c (build_static_cast_1): Avoid folding back to lvalue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233946
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 3 Mar 2016 22:43:03 +0000 (22:43 +0000)]
PR c++/67364
* constexpr.c (cxx_eval_component_reference): Just return an empty
CONSTRUCTOR for an empty class.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233945
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 3 Mar 2016 20:52:40 +0000 (20:52 +0000)]
PR ada/70017
* gcc.dg/pr70017.c (foo): Store 0 to first element of each array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233944
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 3 Mar 2016 17:25:43 +0000 (17:25 +0000)]
[ARM] PR rtl-optimization/69904: Disallow copying/duplicating of load-exclusive operations
PR rtl-optimization/69904
* config/arm/arm.c (arm_cannot_copy_insn_p):
Return true for load-exclusive instructions.
* gcc.target/arm/pr69904.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233941
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 3 Mar 2016 14:32:15 +0000 (14:32 +0000)]
PR target/70021
* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
the pattern no matter if it is used just by non-pattern, pattern
or mix thereof.
(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
oprnd1 def_stmt is in pattern, don't look through it.
* gcc.dg/vect/pr70021.c: New test.
* gcc.target/i386/pr70021.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233940
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 3 Mar 2016 13:40:30 +0000 (13:40 +0000)]
Fix passing object names to make_sunver.pl
* Makefile.am (libffi.map-sun): Properly convert
$(libffi_la_OBJECTS) to object names.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233938
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 3 Mar 2016 11:42:19 +0000 (11:42 +0000)]
PR middle-end/70050
* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
* gcc.dg/pr70050.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233937
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 3 Mar 2016 10:30:25 +0000 (10:30 +0000)]
Tabify libffi/Makefile.am
* Makefile.am (libffi.map-sun): Tabify:
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233936
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 3 Mar 2016 10:18:05 +0000 (10:18 +0000)]
[Patch testsuite] Change xfail conditions for bb-slp-34.c
gcc/testsuite/
* gcc.dg/vect/bb-slp-34.c: Don't XFAIL for ARM/AArch64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233935
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Thu, 3 Mar 2016 10:08:09 +0000 (10:08 +0000)]
Skip properly debug stmt in optimize_mask_stores (PR
PR tree-optimization/70043
* tree-vect-loop.c (optimize_mask_stores): Move iterator to
previous statement if we see a debug statement.
* gfortran.dg/vect/pr70043.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233934
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 3 Mar 2016 09:56:30 +0000 (09:56 +0000)]
* gnat.dg/specs/task1.ads: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233932
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 3 Mar 2016 09:46:03 +0000 (09:46 +0000)]
Invoke gdb with -batch to avoid prompts
* lib/gcc-gdb-test.exp (gdb-test): Make log message match command.
Invoke gdb with -batch.
* lib/gcc-simulate-thread.exp (simulate-thread): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233930
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Thu, 3 Mar 2016 09:31:57 +0000 (09:31 +0000)]
libitm: Introduce target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
The attached patch adds the a target specific attribute via the
new target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE to the
function begin_transaction(). S/390 uses this to set the
soft-float target attribute which is needed to fix a crash with
-m31.
As there seems to be no place in libitm to document internal macros like
USE_HTM_FASTPATH or the new macro, I've put the documentation in a
comment where the macro is used.
2016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
function attribute to disable floating point in begin_transaction() on
S/390.
* beginend.cc (begin_transaction): Use
TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233929
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 3 Mar 2016 09:12:53 +0000 (09:12 +0000)]
2016-03-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/55936
* tree-vrp.c (compare_name_with_value): Add use_equiv_p
parameter and guard unsafe equivalence use.
(vrp_evaluate_conditional_warnv_with_ops): Always use
safe equivalences but not via the quadratic compare_names
helper.
* gcc.dg/tree-ssa/vrp06.c: Remove XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233928
138bc75d-0d04-0410-961f-
82ee72b054a4
collison [Thu, 3 Mar 2016 07:42:02 +0000 (07:42 +0000)]
2016-03-03 Michael Collison <michael.collison@linaro.org>
PR target/70014
* config/arm/arm.md (*subsi3_carryin_const): Change predicate
for operand 1 to s_register_operand. Change predicate for operand
2 to arm_not_immediate_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233927
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 3 Mar 2016 01:40:29 +0000 (01:40 +0000)]
PR libffi/70024
* Makefile.am (libffi_version_script): Look in cwd for libffi.map.
(libffi_version_dep, libffi.map-sun): Likewise.
(libffi.map): New target.
* libffi.map.in: Rename from libffi.map. Add required defines,
includes, and conditionals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233926
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 3 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233925
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 3 Mar 2016 00:11:03 +0000 (00:11 +0000)]
PR rtl-optimization/69942
* gcc.dg/ifcvt-5.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233922
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 2 Mar 2016 23:28:11 +0000 (23:28 +0000)]
PR libffi/70024
* Makefile.am (libffi_version_script): New.
(libffi_version_dep): New.
(libffi_version_info): New.
(libffi_la_LDFLAGS): Include libffi_version_info, libffi_version_script.
(libffi_la_DEPENDENCIES): Include libffi_version_dep.
* acinclude.m4 (LIBAT_ENABLE, LIBAT_CHECK_LINKER_FEATURES): New.
(LIBAT_ENABLE_SYMVERS, LIBAT_BUILD_VERSIONED_SHLIB): New.
(LIBAT_BUILD_VERSIONED_SHLIB_GNU): New.
(LIBAT_BUILD_VERSIONED_SHLIB_SUN): New.
* configure.ac: Invoke LIBAT_ENABLE_SYMVERS.
* libffi.map: New file.
* libtool-version: Increase to 5.0.0.
* Makefile.in, configure: Rebuild.
* man/Makefile.in, testsuite/Makefile.in: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233921
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 2 Mar 2016 21:56:25 +0000 (21:56 +0000)]
Fix recent ChangeLog entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233918
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 2 Mar 2016 21:46:55 +0000 (21:46 +0000)]
Regenerate doc/tm.texi
* doc/tm.texi: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233917
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 2 Mar 2016 21:09:54 +0000 (21:09 +0000)]
PR rtl-opt/67145
* simplify-rtx.c (simplify_plus_minus): Allow reassoc without
simplification when all args are positive non-fixed registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233916
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 2 Mar 2016 20:30:48 +0000 (20:30 +0000)]
Minor ChangeLog formatting fixes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233915
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Wed, 2 Mar 2016 20:17:15 +0000 (20:17 +0000)]
2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* target.def(lra_p): Specify that new ports should use LRA.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233914
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 2 Mar 2016 19:16:14 +0000 (19:16 +0000)]
PR libgomp/69555
* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
gimplify_type_sizes the type they refer to.
(omp_notice_variable): Handle reference vars to VLAs.
* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE reference
to VLA decls in the second pass instead of first pass.
* testsuite/libgomp.c++/pr69555-1.C: New test.
* testsuite/libgomp.c++/pr69555-2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233913
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 2 Mar 2016 18:45:26 +0000 (18:45 +0000)]
PR tree-optimization/69987
* gfortran.dg/pr69987.f90: Use "-w" to avoid failures when the
target does not support -fprefetch-loop-arrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233912
138bc75d-0d04-0410-961f-
82ee72b054a4
chefmax [Wed, 2 Mar 2016 16:32:55 +0000 (16:32 +0000)]
libbacktrace/
2016-03-02 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to
avoid possible crash.
(elf_add): Don't set *fileline_fn to elf_nodebug value in case of
missing debug info anymore.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233911
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 2 Mar 2016 15:38:21 +0000 (15:38 +0000)]
* gcc.target/i386/bmi2-bzhi-2.c: Change to runtime test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233910
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 2 Mar 2016 15:10:34 +0000 (15:10 +0000)]
Handle addr_expr and component_ref in graphite-ast-to-ast
2016-03-02 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68659
* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
new_expr == NULL_TREE.
(get_new_name): Handle ADDR_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233909
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Wed, 2 Mar 2016 14:16:00 +0000 (14:16 +0000)]
Correct ChangeLog for revision 233907.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233908
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Wed, 2 Mar 2016 14:10:56 +0000 (14:10 +0000)]
PR tree-optimization/69052
* loop-invariant.c (canonicalize_address): New function.
(inv_can_prop_to_addr_use): Check validity of address expression
which is canonicalized by above function.
gcc/testsuite/ChangeLog
PR tree-optimization/69052
* gcc.target/i386/pr69052.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233907
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 2 Mar 2016 14:05:21 +0000 (14:05 +0000)]
decl alignment not respected
This patch cures a problem with ICF of read-only variables at the
intersection of -fsection-anchors, -ftree-loop-vectorize, and targets
with alignment restrictions.
What happens with the testcase is:
- "c" is referenced in a constructor, thus make_decl_rtl for "c",
- make_decl_rtl puts "c" in an anchor block (-fsection-anchors),
- anchor block contents can't move, so "c" alignment can't change by
ipa_increase_alignment (-ftree-loop-vectorize),
- however "a" alignment can be increased,
- ICF aliases "a" to "c".
So we have a decl for "a" saying it is aligned to 128 bits, using mem
for "c" which is only 16 bit aligned.
PR ipa/69990
gcc/
* ipa-icf.c (sem_variable::merge): Do not merge an alias with
larger alignment.
gcc/testsuite/
gcc.dg/pr69990.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233906
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 2 Mar 2016 13:11:21 +0000 (13:11 +0000)]
PR c/68062
* c-c++-common/vector-compare-4.c: Add -Wno-psabi to dg-options.
PR middle-end/70022
* gcc.dg/pr70022.c: Add -w -Wno-psabi to dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233905
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 2 Mar 2016 13:10:36 +0000 (13:10 +0000)]
PR target/70028
* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
(*movhi_internal): Put mask moves from and to memory separately
from moves from/to GPRs.
* gcc.target/i386/pr70028.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233904
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 2 Mar 2016 12:44:15 +0000 (12:44 +0000)]
2016-03-02 Richard Biener <rguenther@suse.de>
* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
GENERIC expressions in GIMPLE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233902
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 2 Mar 2016 10:04:43 +0000 (10:04 +0000)]
2016-03-02 Richard Biener <rguenther@suse.de>
* config/i386/i386.c (type_natural_mode): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233901
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 2 Mar 2016 09:53:05 +0000 (09:53 +0000)]
* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233900
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 2 Mar 2016 09:38:09 +0000 (09:38 +0000)]
Print markers to stderr to avoid races with sanitizer output
* c-c++-common/asan/swapcontext-test-1.c,
* c-c++-common/tsan/thread_leak.c,
* g++.dg/tsan/aligned_vs_unaligned_race.C,
* g++.dg/tsan/benign_race.C,
* g++.dg/tsan/fd_close_norace.C,
* g++.dg/tsan/fd_close_norace2.C: Print markers to stderr to avoid
races with sanitizer output
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233899
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 2 Mar 2016 08:55:42 +0000 (08:55 +0000)]
2016-03-02 Richard Biener <rguenther@suse.de>
Uros Bizjak <ubizjak@gmail.com>
PR target/67278
* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
* gcc.dg/simd-8.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233898
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 2 Mar 2016 08:16:16 +0000 (08:16 +0000)]
2016-03-02 Richard Biener <rguenther@suse.de>
PR middle-end/67278
* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
* gcc.dg/simd-7.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233897
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 2 Mar 2016 07:57:17 +0000 (07:57 +0000)]
* gcc.target/i386/pr70007.c: Tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233894
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Wed, 2 Mar 2016 07:50:29 +0000 (07:50 +0000)]
S/390: Ada: Enable Stack_Check_Probes.
gcc/ada/ChangeLog
* system-linux-s390.adsx: Enable Stack_Check_Probes.
* system-linux-s390.ads: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233893
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Wed, 2 Mar 2016 07:47:49 +0000 (07:47 +0000)]
S/390: Reduce accuracy of bessel_6.f90.
gcc/testsuite/ChangeLog
* gfortran.dg/bessel_6.f90: Reduce accuracy for S/390.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233892
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 2 Mar 2016 07:24:19 +0000 (07:24 +0000)]
PR c/67854
* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
"is promoted to" warning.
* gcc.dg/pr67854.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233891
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 2 Mar 2016 06:58:05 +0000 (06:58 +0000)]
PR middle-end/70025
* gcc.dg/torture/pr70025.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233889
138bc75d-0d04-0410-961f-
82ee72b054a4
vekumar [Wed, 2 Mar 2016 06:14:43 +0000 (06:14 +0000)]
Adjust test case in PR68621 to compile with -fpic.
2016-03-02 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
PR tree-optimization/68621
* gcc.dg/tree-ssa/ifc-8.c: Adjust test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233888
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Wed, 2 Mar 2016 04:41:58 +0000 (04:41 +0000)]
* MAINTAINERS (mep): Remove myself as MeP maintainer.
* config.gcc: Deprecate mep-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233887
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 2 Mar 2016 02:55:23 +0000 (02:55 +0000)]
PR c++/70036
* parser.c (cp_parser_requires_clause): Call
check_for_bare_parameter_packs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233886
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 2 Mar 2016 02:47:15 +0000 (02:47 +0000)]
* gcc/cp/call.c: Mark as C++ for emacs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233885
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 2 Mar 2016 02:32:44 +0000 (02:32 +0000)]
PR c++/51489
* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
the operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233878
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 2 Mar 2016 02:32:38 +0000 (02:32 +0000)]
PR c++/69995
* constexpr.c (cxx_eval_call_expression): Unshare arg.
(cxx_eval_constant_expression) [DECL_EXPR]: Unshare init.
[TARGET_EXPR]: Unshare init.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233877
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Wed, 2 Mar 2016 01:39:30 +0000 (01:39 +0000)]
2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/70025
* lra-constraints.c (regno_val_use_in): New.
(match_reload): Use it instead of regno_use_in.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233876
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 2 Mar 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233874
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 1 Mar 2016 23:12:10 +0000 (23:12 +0000)]
PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Appropriately clamp the number of statements to copy when the
thread path does not traverse a loop backedge.
PR tree-optimization/69196
* gcc.dg/tree-ssa/pr69196.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233870
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 1 Mar 2016 22:31:52 +0000 (22:31 +0000)]
PR rtl-optimization/70007
* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
references present in REG_EQUAL notes attached to non-SET patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233867
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 1 Mar 2016 21:46:58 +0000 (21:46 +0000)]
PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Do count some PHIs in the thread path against the insn count. Decrease
final statement count by one as the control statement in the last
block will get removed. Remove special cased code for handling PHIs in the last block.
PR tree-optimization/69196
* gcc.dg/tree-ssa/vrp46.c: Twiddle threading params to keep it from
duplicating code and spoiling the expected output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233866
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 1 Mar 2016 21:31:47 +0000 (21:31 +0000)]
2016-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70033
* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Make sure compiler
supports power9 before doing tests.
* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise.
* gcc.target/powerpc/p9-permute.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233865
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 1 Mar 2016 20:11:19 +0000 (20:11 +0000)]
PR target/70027
* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
asm dialect alternatives to explicit GOTPCREL calls.
testsuite/ChangeLog:
PR target/70027
* gcc.target/i386/pr70027.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233864
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 1 Mar 2016 20:05:31 +0000 (20:05 +0000)]
Fix date
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233863
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 1 Mar 2016 20:04:01 +0000 (20:04 +0000)]
PR ada/70017
* ira.c (do_reload): Issue warning for generic stack checking here...
* reload1.c (reload): ...instead of here and streamline it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233862
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 1 Mar 2016 18:27:21 +0000 (18:27 +0000)]
PR c/69796
PR c/69974
* c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
of incomplete decls to error_mark_node.
* gcc.dg/pr69796.c: New test.
* gcc.dg/pr69974.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233861
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 1 Mar 2016 17:33:51 +0000 (17:33 +0000)]
* gnat.dg/stack_usage3.adb: Robustify and enable for all targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233859
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 1 Mar 2016 16:52:37 +0000 (16:52 +0000)]
* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233858
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 1 Mar 2016 16:22:51 +0000 (16:22 +0000)]
PR tree-optimization/69987
* gfortran.dg/pr69987.f90: New test.
PR tree-optimization/69989
* gcc.c-torture/compile/pr69989-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233857
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 1 Mar 2016 15:58:25 +0000 (15:58 +0000)]
2016-03-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/69983
* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
types and fall back to operand_equal_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233856
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 1 Mar 2016 15:30:42 +0000 (15:30 +0000)]
PR c++/69795
* c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
any DECL.
* g++.dg/parse/invalid1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233855
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 14:53:29 +0000 (14:53 +0000)]
S/390: Revert setmem pattern folding
This does not work without:
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01575.html
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Revert
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233854
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 14:51:17 +0000 (14:51 +0000)]
Revert recent gensupport change.
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Revert
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233853
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 1 Mar 2016 13:32:13 +0000 (13:32 +0000)]
2016-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/70022
* fold-const.c (fold_indirect_ref_1): Fix range checking for
vector BIT_FIELD_REF extract.
* gcc.dg/pr70022.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233852
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 1 Mar 2016 12:50:41 +0000 (12:50 +0000)]
2016-03-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/69994
* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233851
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 1 Mar 2016 11:17:44 +0000 (11:17 +0000)]
gcc/
PR tree-optimization/69956
* tree-vect-stmts.c (supportable_widening_operation): Support
multi-step conversion of boolean vectors.
(supportable_narrowing_operation): Likewise.
gcc/testsuite/
PR tree-optimization/69956
* gcc.dg/pr69956.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233850
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:27:10 +0000 (09:27 +0000)]
S/390: Disallow SImode in s390_decompose_address
After Y is never used anymore with SImode operands we can finally
disallow SImode (if != Pmode) in s390_decompose_address. In fact that
was the whole point of the patch series.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_decompose_address): Don't accept SImode
anymore.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233849
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:26:20 +0000 (09:26 +0000)]
S/390: Use define_subst for the setmem patterns.
While trying to get rid of the Y constraint in the setmem patterns I
noticed that for these patterns it isn't even a problem since these
always only use the constraint with a Pmode match_operand. But while
being at it I've tried to fold some of the patterns a bit.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233848
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:25:23 +0000 (09:25 +0000)]
S/390: Get rid of Y constraint in vector.md.
This finally removes the Y constraint from the vector patterns while
folding some of them using a code iterator.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/subst.md (DSI_VI): New mode iterator.
("addr_style_op_subst"): Use DSI_VI instead of DSI.
* config/s390/vector.md ("vec_set<mode>"): Move expander before
the insn definition.
("*vec_set<mode>"): Change predicate and add alternative to
support only either register or const_int operands as element
selector.
("*vec_set<mode>_plus"): New pattern to support reg + const_int
operands.
("vec_extract<mode>"): New expander.
("*vec_extract<mode>"): New insn definition supporting reg and
const_int element selectors.
("*vec_extract<mode>_plus"): New insn definition supporting
reg+const_int element selectors.
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
following expander+insn definition.
("<vec_shifts_name><mode>3"): New expander.
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233847
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:24:29 +0000 (09:24 +0000)]
S/390: Get rid of Y constraint in tabort.
This removes the Y constraint from the tabort pattern definition. In
this case it is easier without using substitutions.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("*tabort_1"): Change predicate to
nonmemory_operand. Add a second alternative to cover
register as well as const int operands.
("*tabort_1_plus"): New pattern definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233846
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:23:41 +0000 (09:23 +0000)]
S/390: Get rid of Y constraint in arithmetic right shift
patterns.
The arithmetic shift patterns set also the condition code. This adds
more substitution potential. Depending on whether the actual result
or the CC output will be used 3 different variants of each of these
patterns are needed. This multiplied with the PLUS and the AND
operands from the earlier substitutions enables a lot of folding.
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("*ashrdi3_cc_31")
("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
Merge insn definitions into ...
("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
New pattern definition.
("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
("*ashr<mode>3_and"): Merge insn definitions into ...
("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
New pattern definition.
* config/s390/subst.md ("addr_style_op_cc_subst")
("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
substitutions patterns plus attributes.
Add ashiftrt to SUBST iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233845
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:22:20 +0000 (09:22 +0000)]
S/390: Get rid of Y constraint in left and logical right
shift patterns.
With this patch the substitution patterns added earlier are used for
the logical right shift and all the left shift patterns.
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("<shift><mode>3"): Change predicate of
op2 to nonmemory_operand.
("*<shift>di3_31", "*<shift>di3_31_and"):
Merge into single pattern definition ...
("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
pattern definition ...
("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
* config/s390/subst.md: Add ashift and lshiftrt to SUBST
iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233844
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:21:23 +0000 (09:21 +0000)]
S/390: Get rid of Y constraint in rotate patterns.
This patch introduces substitution patterns to add PLUS const_int, and
AND operands to patterns and uses this to rewrite the existing rotate
pattern.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/predicates.md (const_int_6bitset_operand): New
predicates.
* config/s390/s390.md: Include subst.md.
("rotl<mode>3"): New expander.
("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
...
("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
* config/s390/subst.md: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233843
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:20:12 +0000 (09:20 +0000)]
S/390: Use enabled attribute overrides to disable
alternatives.
So far whenever we wanted to disable an alternative we have used mode
attributes emitting constraints matching an earlier alternative
assuming that due to this the later alternative will never be chosen.
With this patch the `enabled' attribute, which so far is only set from
`cpu_facility', is overridden to 0 to disable certain alternatives.
This comes handy when defining the substitutions later and while
adding it anyway I've used it for the existing cases as well.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("op_type", "atype", "length" attributes):
Remove RRR type. It doesn't really exist.
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
attributes.
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
`enabled' attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233842
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 1 Mar 2016 09:19:14 +0000 (09:19 +0000)]
gensupport: Fix define_subst operand renumbering.
When processing substitutions the operands are renumbered. To find a
free operand number the array used_operands_numbers is used.
Currently this array is used to assign new numbers before all the
RTXes in the vector have been processed. I did run into problems with
this for insns where a match_dup occurred in a later (use ...) operand
referring to an earlier operand (e.g. s390.md "setmem_long").
The patch splits the loop doing the processing into two in order to
have all the operand numbers collected already when assigning new
numbers.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233841
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 1 Mar 2016 04:14:15 +0000 (04:14 +0000)]
2016-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/70011
* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr299925.c:
XFAIL when hardware supports efficient unaligned storage access.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233840
138bc75d-0d04-0410-961f-
82ee72b054a4
ppalka [Tue, 1 Mar 2016 01:24:44 +0000 (01:24 +0000)]
Fix PR c++/69961 (invalid ctor call with dependent args)
gcc/cp/ChangeLog:
PR c++/68948
PR c++/69961
* pt.c (tsubst_baselink): Reinstate the check for an invalid
constructor call.
gcc/testsuite/ChangeLog:
PR c++/69961
* g++.dg/template/pr69961a.C: New test.
* g++.dg/template/pr69961b.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233838
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 1 Mar 2016 01:02:49 +0000 (01:02 +0000)]
PR preprocessor/69985: fix ICE with long lines in -Wformat
gcc/testsuite/ChangeLog:
PR preprocessor/69985
* gcc.dg/cpp/pr69985.c: New test case.
libcpp/ChangeLog:
PR preprocessor/69985
(linemap_position_for_loc_and_offset): Rename param from "offset"
to "column_offset". Right-shift the column_offset by m_range_bits
of the pertinent ordinary map whenever offsetting a
source_location. For clarity, offset the column by the column
offset, rather than the other way around.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233836
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 1 Mar 2016 00:22:26 +0000 (00:22 +0000)]
PR target/69706
* config/sparc/sparc.c (NWORDS_UP): Rename to...
(CEIL_NWORDS): ...this. Use CEIL macro.
(compute_fp_layout): Adjust to above renaming.
(function_arg_union_value): Likewise.
(sparc_arg_partial_bytes): Likewise.
(sparc_function_arg_advance): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233833
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 1 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233832
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 1 Mar 2016 00:04:48 +0000 (00:04 +0000)]
PR tree-optimization/70005
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
where an object with a boolean range is compared against a value
outside [0..1].
PR tree-optimization/70005
* gcc.c-torture/execute/pr70005.c New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233829
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 29 Feb 2016 22:45:41 +0000 (22:45 +0000)]
PR tree-optimization/69999
* gimple-ssa-split-paths.c (split_paths): When duplicating a block
with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
loop cleanups.
PR tree-optimization/69999
* gcc.c-torture/compile/pr69999.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233824
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 29 Feb 2016 20:48:24 +0000 (20:48 +0000)]
* sv.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233820
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Mon, 29 Feb 2016 15:40:20 +0000 (15:40 +0000)]
Poison ENABLE_CHECKING macro
* system.h: Poison ENABLE_CHECKING macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233817
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 29 Feb 2016 15:30:50 +0000 (15:30 +0000)]
2016-02-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69994
* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
(get_unary_op): Look through nop conversions.
(ops_equal_values_p): New function, look for equality diregarding
nop conversions.
(eliminate_plus_minus_pair): Use ops_equal_values_p
(repropagate_negates): Do not use get_unary_op here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233816
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Mon, 29 Feb 2016 15:30:08 +0000 (15:30 +0000)]
Replace ENABLE_CHECKING macro with flag_checking in GNAT
* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
Replace ENABLE_CHECKING macro with flag_checking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233815
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Mon, 29 Feb 2016 15:15:27 +0000 (15:15 +0000)]
HSA: reduce dump output w/o -details flag
* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
is presented in dump flags.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
(hsa_regalloc): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233814
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Mon, 29 Feb 2016 14:32:24 +0000 (14:32 +0000)]
gcc/testsuite/
2016-02-29 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: Delete test.
* gcc.dg/vect/pr69652.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233811
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 29 Feb 2016 14:25:57 +0000 (14:25 +0000)]
PR c++/69995
* constexpr.c (cxx_eval_store_expression): Unshare init.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233810
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 29 Feb 2016 13:24:24 +0000 (13:24 +0000)]
2016-02-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69980
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
permutation of those we need to keep.
* gfortran.dg/vect/pr69980.f90: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233809
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 29 Feb 2016 10:20:31 +0000 (10:20 +0000)]
PR target/69706
* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
(NWORDS_UP): ...this
(init_cumulative_args): Minor tweaks.
(sparc_promote_function_mode): Likewise.
(scan_record_type): Delete.
(traverse_record_type): New function template.
(classify_data_t): New structure type.
(classify_registers): New inline function.
(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
exhausted. Instantiate traverse_record_type on classify_registers and
deal with the case of a structure passed in slot #15 with no FP field
in the first word.
(assign_data_t): New structure type.
(compute_int_layout): New static function.
(compute_fp_layout): Likewise.
(count_registers): New inline function.
(assign_int_registers): New static function.
(assign_fp_registers): Likewise.
(assign_registers): New inline function.
(function_arg_record_value_1): Delete.
(function_arg_record_value_2): Likewise.
(function_arg_record_value_3): Likewise.
(function_arg_record_value): Adjust to above changes. Instantiate
traverse_record_type on count_registers to first count the number of
registers to be used and then on assign_registers to assign them.
(function_arg_union_value): Adjust to above renaming.
(sparc_function_arg_1); Minor tweaks. Remove commented out code.
(sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
case of a structure passed in slot #15
(sparc_function_arg_advance): Likewise.
(function_arg_padding): Minor tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233808
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 29 Feb 2016 09:30:09 +0000 (09:30 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
handling of unconstrained array types as designated types into common
processing. Also handle array types as incomplete designated types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233807
138bc75d-0d04-0410-961f-
82ee72b054a4