]>
git.ipfire.org Git - thirdparty/gcc.git/log
wilco [Thu, 28 Jul 2016 14:34:41 +0000 (14:34 +0000)]
On AArch64 the UXTB and UXTH instructions are aliases of UBFM,
which does a shift as part of its operation. An AND immediate is a
simpler operation, and might be faster on some implementations, so
it is better to emit this this instead of UBFM.
Benchmarking showed no difference on implementations where UBFM has
the same performance as AND, and minor speedups across several
benchmarks on an implementation where UBFM is slower than AND.
Bootstrapped and tested on aarch64-none-elf.
gcc/
* config/aarch64/aarch64.md
(zero_extend<SHORT:mode><GPI:mode>2_aarch64): Change output
statement and type.
(<optab>qihi2_aarch64): Likewise, and split into two.
(extendqihi2_aarch64): New.
(zero_extendqihi2_aarch64): New.
* config/aarch64/iterators.md (ldrxt): Remove.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Change cost of
uxtb/uxth.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238821
138bc75d -0d04-0410-961f-
82ee72b054a4
wilco [Thu, 28 Jul 2016 14:29:28 +0000 (14:29 +0000)]
This patchset improves zero extend costs and code generation.
When zero extending a 32-bit register, we emit a "mov", but currently
report the cost of the "mov" incorrectly.
In terms of speed, we currently say the cost is that of an extend
operation. But the cost of a "mov" is the cost of 1 instruction, so fix
that.
In terms of size, we currently say that the "mov" takes 0 instructions.
Fix it by changing it to 1.
Bootstrapped and tested on aarch64-none-elf.
gcc/
* config/aarch64/aarch64.c (aarch64_rtx_costs): Fix cost of zero extend.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238820
138bc75d -0d04-0410-961f-
82ee72b054a4
wilco [Thu, 28 Jul 2016 14:21:57 +0000 (14:21 +0000)]
This patch improves the readability of the prolog and epilog code by moving
some code into separate functions. There is no difference in generated code.
gcc/
* config/aarch64/aarch64.c (aarch64_pushwb_pair_reg): Rename.
(aarch64_push_reg): New function to push 1 or 2 registers.
(aarch64_pop_reg): New function to pop 1 or 2 registers.
(aarch64_expand_prologue): Use aarch64_push_regs.
(aarch64_expand_epilogue): Use aarch64_pop_regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238818
138bc75d -0d04-0410-961f-
82ee72b054a4
ienkovich [Thu, 28 Jul 2016 14:19:18 +0000 (14:19 +0000)]
gcc/
2016-07-28 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/71734
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Pass value of safelen
attribute instead of REF_LOOP and use it.
(ref_indep_loop_p_2): Use SAFELEN argument instead of REF_LOOP and
set it for Loops having non-zero safelen attribute.
(ref_indep_loop_p): Pass zero as initial value for safelen.
gcc/testsuite/
2016-07-28 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/71734
* g++.dg/vect/pr70729-nest.cc: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238817
138bc75d -0d04-0410-961f-
82ee72b054a4
ienkovich [Thu, 28 Jul 2016 12:58:37 +0000 (12:58 +0000)]
gcc/
PR middle-end/72657
PR target/72683
* tree-chkp.c (chkp_retbnd_call_by_val): Check for instrumentation
call using chkp_gimple_call_builtin_p.
(chkp_copy_bounds_for_assign): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238816
138bc75d -0d04-0410-961f-
82ee72b054a4
renlin [Thu, 28 Jul 2016 11:21:53 +0000 (11:21 +0000)]
[PATCH] Revert Revert r238497 because of PR 71961.
This patch reverts the change for PR 71902 since it causes 178.gagel
miscompile in spec2000 as reported in PR 71961 which was observed in
x86_64, aarch64, powerpc64.
gcc/fortran/ChangeLog:
2016-07-28 Renlin Li <renlin.li@arm.com>
Revert
2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71902
* dependency.c (gfc_check_dependency): Use dep_ref. Handle case
if identical is true and two array element references differ.
(gfc_dep_resovler): Move most of the code to dep_ref.
(dep_ref): New function.
* frontend-passes.c (realloc_string_callback): Name temporary
variable "realloc_string".
gcc/testsuite/ChangeLog:
2016-07-28 Renlin Li <renlin.li@arm.com>
Revert
2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71902
* gfortran.dg/dependency_47.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238815
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 28 Jul 2016 11:01:49 +0000 (11:01 +0000)]
merge adjust_cost and adjust_cost_2 target hooks
gcc/ChangeLog:
2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* config/alpha/alpha.c (alpha_adjust_cost): Adjust.
* config/arm/arm-protos.h (struct tune_params): Likewise.
* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
(cortex_a9_sched_adjust_cost): Likewise.
(fa726te_sched_adjust_cost): Likewise.
(arm_adjust_cost): Likewise.
* config/bfin/bfin.c (bfin_adjust_cost): Likewise.
* config/c6x/c6x.c (c6x_adjust_cost): Likewise.
* config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise.
* config/i386/i386.c (ix86_adjust_cost): Likewise.
* config/ia64/ia64.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mep/mep.c (mep_adjust_cost): Likewise.
* config/microblaze/microblaze.c (microblaze_adjust_cost):
* Likewise.
* config/mips/mips.c (mips_adjust_cost): Likewise.
* config/mn10300/mn10300.c (mn10300_adjust_sched_cost):
* Likewise.
* config/pa/pa.c (pa_adjust_cost): Likewise.
* config/rs6000/rs6000.c (rs6000_adjust_cost): Likewise.
(rs6000_debug_adjust_cost): Likewise.
* config/sh/sh.c (sh_adjust_cost): Likewise.
* config/sparc/sparc.c (supersparc_adjust_cost): Likewise.
(hypersparc_adjust_cost): Likewise.
(sparc_adjust_cost): Likewise.
* config/spu/spu.c (spu_sched_adjust_cost): Likewise.
* config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Likewise.
* config/tilepro/tilepro.c (tilepro_sched_adjust_cost):
* Likewise.
* config/visium/visium.c (visium_adjust_cost): Likewise.
* doc/tm.texi: Regenerate.
* haifa-sched.c (dep_cost_1): Adjust.
* target.def: Merge adjust_cost and adjust_cost_2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238814
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 28 Jul 2016 11:01:39 +0000 (11:01 +0000)]
haifa-sched.c: make twins a auto_vec<rtx_insn *>
gcc/ChangeLog:
2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* haifa-sched.c (add_to_speculative_block): Make twins a vector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238813
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 28 Jul 2016 11:01:34 +0000 (11:01 +0000)]
make pattern_regs a vec
gcc/ChangeLog:
2016-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* store-motion.c (struct st_expr): Make pattern_regs a vector.
(extract_mentioned_regs): Append to a vector instead of
returning a rtx_expr_list.
(st_expr_entry): Adjust.
(free_st_expr_entry): Likewise.
(store_ops_ok): Likewise.
(store_killed_in_insn): Likewise.
(find_moveable_store): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238812
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Thu, 28 Jul 2016 08:45:29 +0000 (08:45 +0000)]
Introduce no_profile_instrument_function attribute
PR gcov-profile/68025
* tree-profile.c (tree_profiling): Respect
no_profile_instrument_function attribute.
* doc/extend.texi: Document no_profile_instrument_function
attribute.
PR gcov-profile/68025
* c-common.c (handle_no_profile_instrument_function_attribute):
PR gcov-profile/68025
* gcc.dg/no_profile_instrument_function-attr-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238811
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Thu, 28 Jul 2016 08:31:54 +0000 (08:31 +0000)]
Add missing file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238810
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Thu, 28 Jul 2016 08:31:36 +0000 (08:31 +0000)]
Add mark_spam.py script
* mark_spam.py: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238809
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Thu, 28 Jul 2016 08:26:51 +0000 (08:26 +0000)]
Do not allow make_compound_operation for vector mode
* g++.dg/vect/pr70944.cc: New test.
PR rtl-optimization/70944
* combine.c (make_compound_operation):
Do not allow make_compound_operation for vector mode
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238808
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 28 Jul 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238806
138bc75d -0d04-0410-961f-
82ee72b054a4
kugan [Wed, 27 Jul 2016 23:02:44 +0000 (23:02 +0000)]
gcc/testsuite/ChangeLog:
2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71994
* gcc.dg/torture/pr71994.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238803
138bc75d -0d04-0410-961f-
82ee72b054a4
kugan [Wed, 27 Jul 2016 22:45:46 +0000 (22:45 +0000)]
gcc/testsuite/ChangeLog:
2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71994
* gcc.dg/torture/pr71994.c: New test.
gcc/ChangeLog:
2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71994
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Check tcc_comparison
before calling get_ops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238802
138bc75d -0d04-0410-961f-
82ee72b054a4
edlinger [Wed, 27 Jul 2016 20:35:35 +0000 (20:35 +0000)]
2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
* defaults.h (LOG2_BITS_PER_UNIT): Move from here...
* tree.h (LOG2_BITS_PER_UNIT): ...to here.
(BITS_PER_UNIT_LOG): Remove.
(int_bit_position): Use LOG2_BITS_PER_UNIT instead of BITS_PER_UNIT_LOG.
* expr.c (expand_assignment): Likewise.
* stor-layout.c (initialize_sizetypes): Likewise.
c-family:
2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
BITS_PER_UNIT_LOG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238800
138bc75d -0d04-0410-961f-
82ee72b054a4
meissner [Wed, 27 Jul 2016 20:31:57 +0000 (20:31 +0000)]
2016-07-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vector.md (vec_extract<mode>): Change the calling
signature of rs6000_expand_vector_extract so that the element
number is a RTX instead of a constant integer.
* config/rs6000/rs6000-protos.h (rs6000_expand_vector_extract):
Likewise.
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise.
(altivec_expand_vec_ext_builtin): Likewise.
* config/rs6000/altivec.md (reduc_plus_scal_<mode>): Likewise.
* config/rs6000/vsx.md (vsx_extract_<mode>): Fix spelling of the
MFVSRLD instruction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238799
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Wed, 27 Jul 2016 17:32:45 +0000 (17:32 +0000)]
* testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238793
138bc75d -0d04-0410-961f-
82ee72b054a4
dmalcolm [Wed, 27 Jul 2016 17:21:20 +0000 (17:21 +0000)]
Move make_location from tree.h/c to input.h/c
For some reason I added make_location and some related functions to
tree.h/c, rather than to input.h/c. Move them there, so we can use them
without requiring tree, and add some selftest coverage.
gcc/ChangeLog:
* input.c (get_pure_location): Move here from tree.c.
(make_location): Likewise. Add header comment.
(selftest::test_accessing_ordinary_linemaps): Verify
pure_location_p, make_location, get_location_from_adhoc_loc and
get_range_from_loc.
* input.h (get_pure_location): Move declaration here from tree.h.
(get_finish): Likewise for inline function.
(make_location): Likewise for declaration.
* tree.c (get_pure_location): Move to input.c.
(make_location): Likewise.
* tree.h (get_pure_location): Move declaration to tree.h.
(get_finish): Likewise for inline function.
(make_location): Likewise for declaration.
libcpp/ChangeLog:
* include/line-map.h (source_location): Fix line numbers in
comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238792
138bc75d -0d04-0410-961f-
82ee72b054a4
segher [Wed, 27 Jul 2016 16:16:12 +0000 (16:16 +0000)]
Add missing PR marker to Changelog for 71216 fix
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238790
138bc75d -0d04-0410-961f-
82ee72b054a4
prathamesh3492 [Wed, 27 Jul 2016 15:09:10 +0000 (15:09 +0000)]
2016-07-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/71078
* match.pd (x / abs(x) -> copysign(1.0, x)): New pattern.
testsuite/
* gcc.dg/tree-ssa/pr71078-1.c: New test-case.
* gcc.dg/tree-ssa/pr71078-2.c: Likewise.
* gcc.dg/tree-ssa/pr71078-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238787
138bc75d -0d04-0410-961f-
82ee72b054a4
dmalcolm [Wed, 27 Jul 2016 14:49:06 +0000 (14:49 +0000)]
Use static_assert for STATIC_ASSERT for C++11 onwards
C++11 has a
static_assert (COND, MESSAGE)
which gives more readable error messages for STATIC_ASSERT than our
current implementation.
This patch makes us use it if __cplusplus >= 201103L
There's also a provisional static_assert (COND) in C++1z, but presumably
we should wait until that one is fully standardized before using it.
gcc/ChangeLog:
* system.h (STATIC_ASSERT): Use static_assert if building
with C++11 onwards.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238786
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Wed, 27 Jul 2016 14:31:30 +0000 (14:31 +0000)]
PR c++/71747 - ICE with self-referential partial spec
* pt.c (get_partial_spec_bindings): Replace tparms and spec_args
parameters with spec_tmpl. Call push_tinst_level.
(most_specialized_partial_spec): Adjust.
(more_specialized_partial_spec): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238785
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 27 Jul 2016 11:11:22 +0000 (11:11 +0000)]
2016-07-27 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238784
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 27 Jul 2016 11:10:25 +0000 (11:10 +0000)]
2016-07-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/72517
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
Revert change to not compute read-read dependences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238783
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 27 Jul 2016 10:33:02 +0000 (10:33 +0000)]
2016-07-27 Richard Biener <rguenther@suse.de>
* predict.c (set_even_probabilities): Make nedges unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238782
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Wed, 27 Jul 2016 08:46:12 +0000 (08:46 +0000)]
predict.c: merge multi-edges
* gcc.dg/predict-13.c: New test.
* gcc.dg/predict-14.c: New test.
* predict.c (set_even_probabilities): Handle unlikely edges.
(combine_predictions_for_bb): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238781
138bc75d -0d04-0410-961f-
82ee72b054a4
saaadhu [Wed, 27 Jul 2016 05:22:08 +0000 (05:22 +0000)]
Use __{U,}INTPTR_TYPE__ to avoid including stdint.h
gcc/testsuite/
* gcc.dg/torture/pr69352.c: Use __INTPTR_TYPE__ instead of
including stdint.h.
* gcc.dg/torture/pr71866.c: Use __UINTPTR_TYPE__ isntead of
including stdint.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238780
138bc75d -0d04-0410-961f-
82ee72b054a4
meissner [Wed, 27 Jul 2016 04:45:59 +0000 (04:45 +0000)]
[gcc]
2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71869
* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
__float128 support when we don't have hardware support, so that
the IEEE built-in functions like isgreater, first call __unordkf3
to make sure neither operand is a NaN, and if both operands are
ordered, do the normal comparison.
[gcc/testsuite]
2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71869
* gcc.target/powerpc/float128-cmp.c: New test to make sure that
IEEE built-in functions handle quiet and signalling NaNs
correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238779
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 27 Jul 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238778
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Tue, 26 Jul 2016 22:42:49 +0000 (22:42 +0000)]
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71862
* class.c: Remove assert. Iterate over component only if non-null.
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71862
* gfortran.dg/pr71862.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238774
138bc75d -0d04-0410-961f-
82ee72b054a4
msebor [Tue, 26 Jul 2016 20:48:20 +0000 (20:48 +0000)]
gcc/testsuite/ChangeLog:
* gcc.dg/atomic/pr71675.c: Replace the unsupported c11 target
selector with dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238766
138bc75d -0d04-0410-961f-
82ee72b054a4
nathan [Tue, 26 Jul 2016 17:07:26 +0000 (17:07 +0000)]
Missed changelog entries for commit 238252. Sorry,
2016-07-12 Nathan Sidwell <nathan@acm.org>
* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
when -mno-pic-data-is-text-relative is in effect, by default.
* doc/invoke.texi (mpic-data-is-text-relative): Document new
behavior and clarify.
2016-07-12 Nathan Sidwell <nathan@acm.org>
* gcc.target/arm/data-rel-1.c: New.
* gcc.target/arm/data-rel-2.c: New.
* gcc.target/arm/data-rel-3.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238763
138bc75d -0d04-0410-961f-
82ee72b054a4
ppalka [Tue, 26 Jul 2016 15:21:29 +0000 (15:21 +0000)]
Minor changes in tree-vrp.c
gcc/ChangeLog:
* tree-vrp.c (dump_asserts_for): Print loc->expr instead of
name.
(extract_code_and_val_from_cond_with_ops): Verify that name is
either cond_op0 or cond_op1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238762
138bc75d -0d04-0410-961f-
82ee72b054a4
ppalka [Tue, 26 Jul 2016 15:19:58 +0000 (15:19 +0000)]
Teach VRP to register assertions along default switch labels (PR18046)
gcc/ChangeLog:
PR tree-optimization/18046
* genmodes.c (emit_mode_size_inline): Emit an assert that
verifies that mode is a valid array index.
(emit_mode_nuinits_inline): Likewise.
(emit_mode_inner_inline): Likewise.
(emit_mode_unit_size_inline): Likewise.
(emit_mode_unit_precision_inline): Likewise.
* tree-vrp.c: Include params.h.
(find_switch_asserts): Register edge assertions for the default
label which correspond to the anti-ranges of each case label.
* params.def (PARAM_MAX_VRP_SWITCH_ASSERTIONS): New.
* doc/invoke.texi: Document it.
gcc/testsuite/ChangeLog:
PR tree-optimization/18046
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Bump FSM count to 5.
* gcc.dg/tree-ssa/vrp103.c: New test.
* gcc.dg/tree-ssa/vrp104.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238761
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 26 Jul 2016 14:25:20 +0000 (14:25 +0000)]
Move ChangeLog entry to the right place
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238760
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 26 Jul 2016 14:24:16 +0000 (14:24 +0000)]
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354.c: Require lp64 since
-mprofile-kernel is not legal with -m32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238759
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 26 Jul 2016 14:13:52 +0000 (14:13 +0000)]
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove dead
and unnecessary call to gimple_bb.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238758
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 Jul 2016 14:11:21 +0000 (14:11 +0000)]
2016-07-26 Richard Biener <rguenther@suse.de>
PR rtl-optimization/71984
* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE and prepare
for VOIDmode.
* gcc.dg/torture/pr71984.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238757
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 Jul 2016 14:07:05 +0000 (14:07 +0000)]
2016-07-26 Richard Biener <rguenther@suse.de>
PR middle-end/72517
* expmed.c (extract_bit_field_1): Constrain the vector mode
with element size matching the extraction mode size when
choosing a better vector mode to do the extraction from.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238756
138bc75d -0d04-0410-961f-
82ee72b054a4
rts [Tue, 26 Jul 2016 13:20:03 +0000 (13:20 +0000)]
Add support to run auto-vectorization tests for multiple effective targets.
gcc/testsuite/
* g++.dg/vect/vect.exp: Add and set new global EFFECTIVE_TARGETS. Call
g++-dg-runtest via et-dg-runtest.
* gcc.dg/graphite/graphite.exp: Likewise, but for dg-runtest.
* gcc.dg/vect/vect.exp: Likewise.
* gfortran.dg/graphite/graphite.exp: Likewise, but for
gfortran-dg-runtest.
* gfortran.dg/vect/vect.exp: Likewise.
* lib/target-supports.exp (check_mpaired_single_hw_available): New.
(check_mips_loongson_hw_available): Likewise.
(check_effective_target_mpaired_single_runtime): Likewise.
(check_effective_target_mips_loongson_runtime): Likewise.
(add_options_for_mpaired_single): Likewise.
(check_effective_target_vect_int): Add global et_index.
Check and save the supported feature for a target selected by
the et_index target. Break long lines where appropriate. Call
et-is-effective-target for MIPS with an argument instead of
check_effective_target_* where appropriate.
(check_effective_target_vect_intfloat_cvt): Likewise.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_simd_clones): Likewise.
(check_effective_target_vect_shift): ewise.
(check_effective_target_whole_vector_shift): Likewise.
(check_effective_target_vect_bswap): Likewise.
(check_effective_target_vect_shift_char): Likewise.
(check_effective_target_vect_long): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_long_long): Likewise.
(check_effective_target_vect_no_int_max): Likewise.
(check_effective_target_vect_no_int_add): Likewise.
(check_effective_target_vect_no_bitwise): Likewise.
(check_effective_target_vect_widen_shift): Likewise.
(check_effective_target_vect_no_align): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_element_align): Likewise.
(check_effective_target_vect_condition): Likewise.
(check_effective_target_vect_cond_mixed): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
(check_effective_target_vect_stridedN): Likewise.
(check_effective_target_vect_multiple_sizes): Likewise.
(check_effective_target_vect64): Likewise.
(check_effective_target_vect_call_copysignf): Likewise.
(check_effective_target_vect_call_sqrtf): Likewise.
(check_effective_target_vect_call_btrunc): Likewise.
(check_effective_target_vect_call_btruncf): Likewise.
(check_effective_target_vect_call_ceil): Likewise.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floor): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_lceil): Likewise.
(check_effective_target_vect_call_lfloor): Likewise.
(check_effective_target_vect_call_nearbyint): Likewise.
(check_effective_target_vect_call_nearbyintf): Likewise.
(check_effective_target_vect_call_round): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
(check_effective_target_vect_perm): Likewise, but also append *_saved
to the existing global name to properly cache the result.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si): Likewise.
(check_effective_target_vect_widen_sum_qi_to_hi): Likewise.
(check_effective_target_vect_widen_sum_qi_to_si): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
(check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_mult_si_to_di_pattern): Likewise.
(check_effective_target_vect_sdot_qi): Likewise.
(check_effective_target_vect_udot_qi): Likewise.
(check_effective_target_vect_sdot_hi): Likewise.
(check_effective_target_vect_udot_hi): Likewise.
(check_effective_target_vect_usad_char): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_aligned_arrays): Likewise.
(check_effective_target_vect_natural_alignment): Likewise.
(check_effective_target_vector_alignment_reachable): Likewise.
(check_effective_target_vector_alignment_reachable_for_64bit): Likewise.
(is-effective-target): Initialize et_index if undefined.
(et-dg-runtest): New.
(et-is-effective-target): Likewise.
(check_vect_support_and_set_flags): Add supported MIPS targets to
EFFECTIVE_TARGETS list. Return the number of supported targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238755
138bc75d -0d04-0410-961f-
82ee72b054a4
prathamesh3492 [Tue, 26 Jul 2016 13:10:33 +0000 (13:10 +0000)]
2016-07-26 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/70920
* match.pd ((intptr)x eq/ne CST to x eq/ne (typeof x) CST): New
pattern.
testsuite/
* gcc.dg/pr70920-1.c: New test-case.
* gcc.dg/pr70902-2.c: Likewise.
* gcc.dg/pr70920-3.c: Likewise.
* gcc.dg/pr70920-4.c: Likewise
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: Change scan-tree-dump-times to
2 instead of 3.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238754
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 Jul 2016 12:30:18 +0000 (12:30 +0000)]
2016-07-26 Richard Biener <rguenther@suse.de>
* update_version_svn: Ignore the GCC 4.9 branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238753
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 26 Jul 2016 12:27:16 +0000 (12:27 +0000)]
2016-07-26 Richard Biener <rguenther@suse.de>
* crontab: Remove entry for the GCC 4.9 branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238752
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 26 Jul 2016 10:44:31 +0000 (10:44 +0000)]
add [cd]tors to scc_info
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-structalias.c (struct scc_info): Change types of
members to auto_sbitmap and auto_vec.
(scc_info::scc_info): New constructor.
(scc_info::~scc_info): New destructor.
(init_scc_info): Remove.
(free_scc_info): Remove.
(find_indirect_cycles): Adjust.
(perform_var_substitution): Likewise.
(free_var_substitution_info): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238751
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 26 Jul 2016 10:44:25 +0000 (10:44 +0000)]
add a constructor to elim_graph
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-outof-ssa.c (struct elim_graph): Change type of members
to auto_vec and auto_sbitmap.
(elim_graph::elim_graph): New constructor.
(delete_elim_graph): Remove.
(expand_phi_nodes): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238750
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 26 Jul 2016 10:44:15 +0000 (10:44 +0000)]
remove elim_graph typedef
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-outof-ssa.c (struct elim_graph): Remove typedef.
(new_elim_graph): Adjust.
(clear_elim_graph): Likewise.
(delete_elim_graph): Likewise.
(elim_graph_size): Likewise.
(elim_graph_add_node): Likewise.
(elim_graph_add_edge): Likewise.
(elim_graph_remove_succ_edge): Likewise.
(eliminate_name): Likewise.
(eliminate_build): Likewise.
(elim_forward): Likewise.
(elim_unvisited_predecessor): Likewise.
(elim_backward): Likewise.
(elim_create): Likewise.
(eliminate_phi): Likewise.
(expand_phi_nodes): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238749
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 26 Jul 2016 10:44:08 +0000 (10:44 +0000)]
use auto_sbitmap in various places
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* bt-load.c (compute_out): Use auto_sbitmap class.
(link_btr_uses): Likewise.
* cfganal.c (mark_dfs_back_edges): Likewise.
(post_order_compute): Likewise.
(inverted_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.
(single_pred_before_succ_order): Likewise.
* cfgexpand.c (pass_expand::execute): Likewise.
* cfgloop.c (verify_loop_structure): Likewise.
* cfgloopmanip.c (fix_bb_placements): Likewise.
(remove_path): Likewise.
(update_dominators_in_loop): Likewise.
* cfgrtl.c (break_superblocks): Likewise.
* ddg.c (check_sccs): Likewise.
(create_ddg_all_sccs): Likewise.
* df-core.c (df_worklist_dataflow): Likewise.
* dse.c (dse_step3): Likewise.
* except.c (eh_region_outermost): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gcse.c (prune_expressions): Likewise.
(prune_insertions_deletions): Likewise.
* gimple-ssa-backprop.c (backprop::~backprop): Likewise.
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise.
* lcm.c (compute_earliest): Likewise.
(compute_farthest): Likewise.
* loop-unroll.c (unroll_loop_constant_iterations): Likewise.
(unroll_loop_runtime_iterations): Likewise.
(unroll_loop_stupid): Likewise.
* lower-subreg.c (decompose_multiword_subregs): Likewise.
* lra-lives.c: Likewise.
* lra.c (lra): Likewise.
* modulo-sched.c (schedule_reg_moves): Likewise.
(optimize_sc): Likewise.
(get_sched_window): Likewise.
(sms_schedule_by_order): Likewise.
(check_nodes_order): Likewise.
(order_nodes_of_sccs): Likewise.
(order_nodes_in_scc): Likewise.
* recog.c (split_all_insns): Likewise.
* regcprop.c (pass_cprop_hardreg::execute): Likewise.
* reload1.c (reload): Likewise.
* sched-rgn.c (haifa_find_rgns): Likewise.
(split_edges): Likewise.
(compute_trg_info): Likewise.
* sel-sched.c (init_seqno): Likewise.
* store-motion.c (remove_reachable_equiv_notes): Likewise.
* tree-into-ssa.c (update_ssa): Likewise.
* tree-ssa-live.c (live_worklist): Likewise.
* tree-ssa-loop-im.c (fill_always_executed_in): Likewise.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
* Likewise.
(try_peel_loop): Likewise.
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
* Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.
* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
* var-tracking.c (vt_find_locations): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238748
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Tue, 26 Jul 2016 10:43:58 +0000 (10:43 +0000)]
add auto_sbitmap class
gcc/ChangeLog:
2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* sbitmap.h (auto_sbitmap): New class.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238747
138bc75d -0d04-0410-961f-
82ee72b054a4
amodra [Tue, 26 Jul 2016 10:27:34 +0000 (10:27 +0000)]
[RS6000] push_secondary_reload ICE
PR target/72103
* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
sri->t_icode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238744
138bc75d -0d04-0410-961f-
82ee72b054a4
ian [Tue, 26 Jul 2016 01:53:27 +0000 (01:53 +0000)]
libgo: bump library version number for 1.7
Reviewed-on: https://go-review.googlesource.com/25211
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238743
138bc75d -0d04-0410-961f-
82ee72b054a4
ian [Tue, 26 Jul 2016 01:38:33 +0000 (01:38 +0000)]
os/user: fix Solaris declaration.
Patch from Rainer Orth.
Reviewed-on: https://go-review.googlesource.com/25210
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238742
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 26 Jul 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238741
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 Jul 2016 21:25:04 +0000 (21:25 +0000)]
PR c++/65970 - revert loop location change
* cp-gimplify.c (genericize_cp_loop): Revert location change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238737
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 Jul 2016 19:16:16 +0000 (19:16 +0000)]
PR c++/71837 - pack expansion in init-capture
* lambda.c (add_capture): Leave a pack expansion in a TREE_LIST.
(build_lambda_object): Call build_x_compound_expr_from_list.
* pt.c (tsubst) [DECLTYPE_TYPE]: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238733
138bc75d -0d04-0410-961f-
82ee72b054a4
dmalcolm [Mon, 25 Jul 2016 19:15:22 +0000 (19:15 +0000)]
Fix selftest::temp_source_file ctor
gcc/ChangeLog:
* input.c (selftest::temp_source_file::temp_source_file): Fix
missing "%s" in fprintf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238732
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 Jul 2016 19:10:41 +0000 (19:10 +0000)]
PR c++/71833 - member template with two parameter packs
PR c++/54440
* pt.c (coerce_template_parameter_pack): Fix logic for
pack index.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238731
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 Jul 2016 18:32:13 +0000 (18:32 +0000)]
PR c++/65970 - constexpr infinite loop
gcc/c-family/
* c.opt (fconstexpr-loop-limit): New.
gcc/cp/
* constexpr.c (cxx_eval_loop_expr): Count iterations.
* cp-gimplify.c (genericize_cp_loop): Use start_locus even for
infinite loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238730
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 Jul 2016 18:32:06 +0000 (18:32 +0000)]
PR c++/71972 - constexpr array self-modification
* constexpr.c (cxx_eval_array_reference): Handle looking for the
value of an element we're currently modifying.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238729
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 25 Jul 2016 18:32:00 +0000 (18:32 +0000)]
* g++.dg/init/elide5.C: Don't use unsigned long for size_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238728
138bc75d -0d04-0410-961f-
82ee72b054a4
danglin [Mon, 25 Jul 2016 17:32:44 +0000 (17:32 +0000)]
PR middle-end/71732
* cselib.c (cselib_process_insn): Invalidate argument slots for
const/pure calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238727
138bc75d -0d04-0410-961f-
82ee72b054a4
amonakov [Mon, 25 Jul 2016 16:16:27 +0000 (16:16 +0000)]
testsuite: add two missing label_values annotations
2016-07-25 Alexander Monakov <amonakov@ispras.ru>
* gcc.c-torture/execute/pr71494.c: Require label_values.
* gcc.dg/pr16973.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238726
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 16:15:34 +0000 (16:15 +0000)]
[AArch64][10/10] ARMv8.2-A FP16 lane scalar intrinsics
gcc/
* config/aarch64/arm_neon.h (vfmah_lane_f16, vfmah_laneq_f16,
vfmsh_lane_f16, vfmsh_laneq_f16, vmulh_lane_f16, vmulh_laneq_f16,
vmulxh_lane_f16, vmulxh_laneq_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238725
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 16:13:22 +0000 (16:13 +0000)]
[AArch64][9/10] ARMv8.2-A FP16 three operands scalar intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64.md (fma, fnma): Support HF.
* config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238724
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 16:10:52 +0000 (16:10 +0000)]
[AArch64][8/10] ARMv8.2-A FP16 two operands scalar intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64.md (<FCVT_F2FIXED:fcvt_fixed_insn>hf<mode>3):
New.
(<FCVT_FIXED2F:fcvt_fixed_insn><mode>hf3): Likewise.
(add<mode>3): Likewise.
(sub<mode>3): Likewise.
(mul<mode>3): Likewise.
(div<mode>3): Likewise.
(*div<mode>3): Likewise.
(<fmaxmin><mode>3): Extend to HF.
* config/aarch64/aarch64-simd.md (aarch64_rsqrts<mode>): Likewise.
(fabd<mode>3): Likewise.
(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_HSDF:mode>3): Likewise.
(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_HSDI:mode>3): Likewise.
(aarch64_fmulx<mode>): Likewise.
(aarch64_fac<optab><mode>): Likewise.
(aarch64_frecps<mode>): Likewise.
(<FCVT_F2FIXED:fcvt_fixed_insn>hfhi3): New.
(<FCVT_FIXED2F:fcvt_fixed_insn>hihf3): Likewise.
* config/aarch64/iterators.md (VHSDF_SDF): Delete.
(VSDQ_HSDI): Support HI.
(fcvt_target, FCVT_TARGET): Likewise.
* config/aarch64/arm_fp16.h (vaddh_f16, vsubh_f16, vabdh_f16,
vcageh_f16, vcagth_f16, vcaleh_f16, vcalth_f16, vceqh_f16, vcgeh_f16,
vcgth_f16, vcleh_f16, vclth_f16, vcvth_n_f16_s16, vcvth_n_f16_s32,
vcvth_n_f16_s64, vcvth_n_f16_u16, vcvth_n_f16_u32, vcvth_n_f16_u64,
vcvth_n_s16_f16, vcvth_n_s32_f16, vcvth_n_s64_f16, vcvth_n_u16_f16,
vcvth_n_u32_f16, vcvth_n_u64_f16, vdivh_f16, vmaxh_f16, vmaxnmh_f16,
vminh_f16, vminnmh_f16, vmulh_f16, vmulxh_f16, vrecpsh_f16,
vrsqrtsh_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238723
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 16:00:28 +0000 (16:00 +0000)]
[AArch64][7/10] ARMv8.2-A FP16 one operand scalar intrinsics
gcc/
* config.gcc (aarch64*-*-*): Install arm_fp16.h.
* config/aarch64/aarch64-builtins.c (hi_UP): New.
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md (aarch64_frsqrte<mode>): Extend to HF
mode.
(aarch64_frecp<FRECP:frecp_suffix><mode>): Likewise.
(aarch64_cm<optab><mode>): Likewise.
* config/aarch64/aarch64.md (<frint_pattern><mode>2): Likewise.
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Likewise.
(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
(sqrt<mode>2): Likewise.
(abs<mode>2): Likewise.
(<optab><mode>hf2): New pattern for HF mode.
(<optab>hihf2): Likewise.
* config/aarch64/arm_neon.h: Include arm_fp16.h.
* config/aarch64/iterators.md (GPF_F16, GPI_F16, VHSDF_HSDF): New.
(w1, w2, v, s, q, Vmtype, V_cmp_result, fcvt_iesize, FCVT_IESIZE):
Support HF mode.
* config/aarch64/arm_fp16.h: New file.
(vabsh_f16, vceqzh_f16, vcgezh_f16, vcgtzh_f16, vclezh_f16, vcltzh_f16,
vcvth_f16_s16, vcvth_f16_s32, vcvth_f16_s64, vcvth_f16_u16,
vcvth_f16_u32, vcvth_f16_u64, vcvth_s16_f16, vcvth_s32_f16,
vcvth_s64_f16, vcvth_u16_f16, vcvth_u32_f16, vcvth_u64_f16,
vcvtah_s16_f16, vcvtah_s32_f16, vcvtah_s64_f16, vcvtah_u16_f16,
vcvtah_u32_f16, vcvtah_u64_f16, vcvtmh_s16_f16, vcvtmh_s32_f16,
vcvtmh_s64_f16, vcvtmh_u16_f16, vcvtmh_u32_f16, vcvtmh_u64_f16,
vcvtnh_s16_f16, vcvtnh_s32_f16, vcvtnh_s64_f16, vcvtnh_u16_f16,
vcvtnh_u32_f16, vcvtnh_u64_f16, vcvtph_s16_f16, vcvtph_s32_f16,
vcvtph_s64_f16, vcvtph_u16_f16, vcvtph_u32_f16, vcvtph_u64_f16,
vnegh_f16, vrecpeh_f16, vrecpxh_f16, vrndh_f16, vrndah_f16, vrndih_f16,
vrndmh_f16, vrndnh_f16, vrndph_f16, vrndxh_f16, vrsqrteh_f16,
vsqrth_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238722
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 15:00:14 +0000 (15:00 +0000)]
[AArch64][6/14] ARMv8.2-A FP16 reduction vector intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def (reduc_smax_scal_,
reduc_smin_scal_): Use VDQIF_F16.
(reduc_smax_nan_scal_, reduc_smin_nan_scal_): Use VHSDF.
* config/aarch64/aarch64-simd.md (reduc_<maxmin_uns>_scal_<mode>):
Use VHSDF.
(aarch64_reduc_<maxmin_uns>_internal<mode>): Likewise.
* config/aarch64/iterators.md (VDQIF_F16): New.
(vp): Support HF modes.
* config/aarch64/arm_neon.h (vmaxv_f16, vmaxvq_f16, vminv_f16,
vminvq_f16, vmaxnmv_f16, vmaxnmvq_f16, vminnmv_f16, vminnmvq_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238721
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 14:49:57 +0000 (14:49 +0000)]
[AArch64][5/10] ARMv8.2-A FP16 lane vector intrinsics
gcc/
* config/aarch64/aarch64-simd.md (*aarch64_mulx_elt_to_64v2df): Rename to
"*aarch64_mulx_elt_from_dup<mode>".
(*aarch64_mul3_elt<mode>): Update schedule type.
(*aarch64_mul3_elt_from_dup<mode>): Likewise.
(*aarch64_fma4_elt_from_dup<mode>): Likewise.
(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
* config/aarch64/iterators.md (VMUL): Supprt half precision float modes.
(f, fp): Support HF modes.
* config/aarch64/arm_neon.h (vfma_lane_f16, vfmaq_lane_f16,
vfma_laneq_f16, vfmaq_laneq_f16, vfma_n_f16, vfmaq_n_f16, vfms_lane_f16,
vfmsq_lane_f16, vfms_laneq_f16, vfmsq_laneq_f16, vfms_n_f16,
vfmsq_n_f16, vmul_lane_f16, vmulq_lane_f16, vmul_laneq_f16,
vmulq_laneq_f16, vmul_n_f16, vmulq_n_f16, vmulx_lane_f16,
vmulxq_lane_f16, vmulx_laneq_f16, vmulxq_laneq_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238719
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 14:44:24 +0000 (14:44 +0000)]
[AArch64][4/10] ARMv8.2-A FP16 three operands vector intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md (fma<mode>4, fnma<mode>4): Extend to HF
modes.
* config/aarch64/arm_neon.h (vfma_f16, vfmaq_f16, vfms_f16,
vfmsq_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238718
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 14:30:52 +0000 (14:30 +0000)]
[AArch64][3/10] ARMv8.2-A FP16 two operands vector intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md
(aarch64_rsqrts<mode>): Extend to HF modes.
(fabd<mode>3): Likewise.
(<FCVT_F2FIXED:fcvt_fixed_insn><VHSDF_SDF:mode>3): Likewise.
(<FCVT_FIXED2F:fcvt_fixed_insn><VHSDI_SDI:mode>3): Likewise.
(aarch64_<maxmin_uns>p<mode>): Likewise.
(<su><maxmin><mode>3): Likewise.
(<maxmin_uns><mode>3): Likewise.
(<fmaxmin><mode>3): Likewise.
(aarch64_faddp<mode>): Likewise.
(aarch64_fmulx<mode>): Likewise.
(aarch64_frecps<mode>): Likewise.
(*aarch64_fac<optab><mode>): Rename to aarch64_fac<optab><mode>.
(add<mode>3): Extend to HF modes.
(sub<mode>3): Likewise.
(mul<mode>3): Likewise.
(div<mode>3): Likewise.
(*div<mode>3): Likewise.
* config/aarch64/aarch64.c (aarch64_emit_approx_div): Return false for
HF, V4HF and V8HF.
* config/aarch64/iterators.md (VDQ_HSDI, VSDQ_HSDI): New mode iterator.
* config/aarch64/arm_neon.h (vadd_f16): New.
(vaddq_f16, vabd_f16, vabdq_f16, vcage_f16, vcageq_f16, vcagt_f16,
vcagtq_f16, vcale_f16, vcaleq_f16, vcalt_f16, vcaltq_f16, vceq_f16,
vceqq_f16, vcge_f16, vcgeq_f16, vcgt_f16, vcgtq_f16, vcle_f16,
vcleq_f16, vclt_f16, vcltq_f16, vcvt_n_f16_s16, vcvtq_n_f16_s16,
vcvt_n_f16_u16, vcvtq_n_f16_u16, vcvt_n_s16_f16, vcvtq_n_s16_f16,
vcvt_n_u16_f16, vcvtq_n_u16_f16, vdiv_f16, vdivq_f16, vdup_lane_f16,
vdup_laneq_f16, vdupq_lane_f16, vdupq_laneq_f16, vdups_lane_f16,
vdups_laneq_f16, vmax_f16, vmaxq_f16, vmaxnm_f16, vmaxnmq_f16, vmin_f16,
vminq_f16, vminnm_f16, vminnmq_f16, vmul_f16, vmulq_f16, vmulx_f16,
vmulxq_f16, vpadd_f16, vpaddq_f16, vpmax_f16, vpmaxq_f16, vpmaxnm_f16,
vpmaxnmq_f16, vpmin_f16, vpminq_f16, vpminnm_f16, vpminnmq_f16,
vrecps_f16, vrecpsq_f16, vrsqrts_f16, vrsqrtsq_f16, vsub_f16,
vsubq_f16): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238717
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 14:20:37 +0000 (14:20 +0000)]
[AArch64][2/10] ARMv8.2-A FP16 one operand vector intrinsics
gcc/
* config/aarch64/aarch64-builtins.c (TYPES_BINOP_USS): New.
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64-simd.md (aarch64_rsqrte<mode>): Extend to HF modes.
(neg<mode>2): Likewise.
(abs<mode>2): Likewise.
(<frint_pattern><mode>2): Likewise.
(l<fcvt_pattern><su_optab><VDQF:mode><fcvt_target>2): Likewise.
(<optab><VDQF:mode><fcvt_target>2): Likewise.
(<fix_trunc_optab><VDQF:mode><fcvt_target>2): Likewise.
(ftrunc<VDQF:mode>2): Likewise.
(<optab><fcvt_target><VDQF:mode>2): Likewise.
(sqrt<mode>2): Likewise.
(*sqrt<mode>2): Likewise.
(aarch64_frecpe<mode>): Likewise.
(aarch64_cm<optab><mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Return
false for V4HF and V8HF.
* config/aarch64/iterators.md (VHSDF, VHSDF_DF, VHSDF_SDF): New.
(VDQF_COND, fcvt_target, FCVT_TARGET, hcon): Extend mode attribute to HF modes.
(stype): New.
* config/aarch64/arm_neon.h (vdup_n_f16): New.
(vdupq_n_f16): Likewise.
(vld1_dup_f16): Use vdup_n_f16.
(vld1q_dup_f16): Use vdupq_n_f16.
(vabs_f16): New.
(vabsq_f16, vceqz_f16, vceqzq_f16, vcgez_f16, vcgezq_f16, vcgtz_f16,
vcgtzq_f16, vclez_f16, vclezq_f16, vcltz_f16, vcltzq_f16, vcvt_f16_s16,
vcvtq_f16_s16, vcvt_f16_u16, vcvtq_f16_u16, vcvt_s16_f16, vcvtq_s16_f16,
vcvt_u16_f16, vcvtq_u16_f16, vcvta_s16_f16, vcvtaq_s16_f16,
vcvta_u16_f16, vcvtaq_u16_f16, vcvtm_s16_f16, vcvtmq_s16_f16,
vcvtm_u16_f16, vcvtmq_u16_f16, vcvtn_s16_f16, vcvtnq_s16_f16,
vcvtn_u16_f16, vcvtnq_u16_f16, vcvtp_s16_f16, vcvtpq_s16_f16,
vcvtp_u16_f16, vcvtpq_u16_f16, vneg_f16, vnegq_f16, vrecpe_f16,
vrecpeq_f16, vrnd_f16, vrndq_f16, vrnda_f16, vrndaq_f16, vrndi_f16,
vrndiq_f16, vrndm_f16, vrndmq_f16, vrndn_f16, vrndnq_f16, vrndp_f16,
vrndpq_f16, vrndx_f16, vrndxq_f16, vrsqrte_f16, vrsqrteq_f16, vsqrt_f16,
vsqrtq_f16): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238716
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 14:02:42 +0000 (14:02 +0000)]
[AArch64][1/10] ARMv8.2-A FP16 data processing intrinsics
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): Use VALL_F16.
(aarch64_ext<mode>): Likewise.
(aarch64_rev<REVERSE:rev_op><mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_evpc_trn): Support V4HFmode and
V8HFmode.
(aarch64_evpc_uzp): Likewise.
(aarch64_evpc_zip): Likewise.
(aarch64_evpc_ext): Likewise.
(aarch64_evpc_rev): Likewise.
* config/aarch64/arm_neon.h (__aarch64_vdup_lane_f16): New.
(__aarch64_vdup_laneq_f16): New..
(__aarch64_vdupq_lane_f16): New.
(__aarch64_vdupq_laneq_f16): New.
(vbsl_f16): New.
(vbslq_f16): New.
(vdup_n_f16): New.
(vdupq_n_f16): New.
(vdup_lane_f16): New.
(vdup_laneq_f16): New.
(vdupq_lane_f16): New.
(vdupq_laneq_f16): New.
(vduph_lane_f16): New.
(vduph_laneq_f16): New.
(vext_f16): New.
(vextq_f16): New.
(vmov_n_f16): New.
(vmovq_n_f16): New.
(vrev64_f16): New.
(vrev64q_f16): New.
(vtrn1_f16): New.
(vtrn1q_f16): New.
(vtrn2_f16): New.
(vtrn2q_f16): New.
(vtrn_f16): New.
(vtrnq_f16): New.
(__INTERLEAVE_LIST): Support float16x4_t, float16x8_t.
(vuzp1_f16): New.
(vuzp1q_f16): New.
(vuzp2_f16): New.
(vuzp2q_f16): New.
(vzip1_f16): New.
(vzip2q_f16): New.
(vmov_n_f16): Reimplement using vdup_n_f16.
(vmovq_n_f16): Reimplement using vdupq_n_f16..
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238715
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 13:42:43 +0000 (13:42 +0000)]
[AArch64][3/3] Migrate aarch64_expand_prologue/epilogue to aarch64_add_constant
gcc/
* config/aarch64/aarch64.c (aarch64_add_constant): New parameter
"frame_related_p". Generate CFA annotation when it's necessary.
(aarch64_expand_prologue): Use aarch64_add_constant.
(aarch64_expand_epilogue): Likewise.
(aarch64_output_mi_thunk): Pass "false" when calling
aarch64_add_constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238714
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 13:36:33 +0000 (13:36 +0000)]
[AArch64][2/3] Optimize aarch64_add_constant to generate better addition sequences
gcc/
* config/aarch64/aarch64.c (aarch64_add_constant): Optimize instruction
sequences.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238713
138bc75d -0d04-0410-961f-
82ee72b054a4
jiwang [Mon, 25 Jul 2016 13:31:44 +0000 (13:31 +0000)]
[AArch64][1/3] Migrate aarch64_add_constant to new interface & kill aarch64_build_constant
gcc/
* config/aarch64/aarch64.c (aarch64_add_constant): New parameter "mode".
Use aarch64_internal_mov_immediate instead of aarch64_build_constant.
(aarch64_output_mi_thunk): Pass Pmode when calling aarch64_add_constant.
(aarch64_build_constant): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238712
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 25 Jul 2016 12:56:12 +0000 (12:56 +0000)]
Fix missing qualification in <ext/rope>
2016-07-25 Georeth Chow <georeth2010@gmail.com>
* include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
_S_concat enumerator.
* testsuite/ext/rope/6.cc: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238711
138bc75d -0d04-0410-961f-
82ee72b054a4
amonakov [Mon, 25 Jul 2016 12:37:29 +0000 (12:37 +0000)]
revert: nvptx: do not implicitly enable -ftoplevel-reorder
Revert
2016-07-20 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/nvptx.c (nvptx_option_override): Do not set
flag_toplevel_reorder.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238710
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 25 Jul 2016 12:35:08 +0000 (12:35 +0000)]
2016-07-25 Richard Biener <rguenther@suse.de>
* cgraph.c (cgraph_node::verify_node): Compare against builtin
by using DECL_BUILT_IN_CLASS and DECL_FUNCTION_CODE.
* tree-chkp.c (chkp_gimple_call_builtin_p): Likewise.
* tree-streamer.h (streamer_handle_as_builtin_p): Remove.
(streamer_get_builtin_tree): Likewise.
(streamer_write_builtin): Likewise.
* lto-streamer.h (LTO_builtin_decl): Remove.
* lto-streamer-in.c (lto_read_tree_1): Remove assert.
(lto_input_scc): Remove LTO_builtin_decl handling.
(lto_input_tree_1): Liekwise.
* lto-streamer-out.c (lto_output_tree_1): Remove special
handling of builtins.
(DFS::DFS): Likewise.
* tree-streamer-in.c (streamer_get_builtin_tree): Remove.
* tree-streamer-out.c (pack_ts_function_decl_value_fields): Remove
assert.
(streamer_write_builtin): Remove.
lto/
* lto.c (compare_tree_sccs_1): Remove streamer_handle_as_builtin_p uses.
(unify_scc): Likewise.
(lto_read_decls): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238709
138bc75d -0d04-0410-961f-
82ee72b054a4
saaadhu [Mon, 25 Jul 2016 11:55:45 +0000 (11:55 +0000)]
Fix tests for targets with sizeof(int) != 32.
gcc/testsuite/
* gcc.dg/torture/pr69352.c (foo): Cast to intptr_t instead of long.
* gcc.dg/torture/pr69771.c: Require int32plus.
* gcc.dg/torture/pr71866.c (inb): Add cast to intptr_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238708
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Mon, 25 Jul 2016 11:28:52 +0000 (11:28 +0000)]
Don't call get_working_sets w/ LTO and -fauto-profile (PR
* lto-cgraph.c (input_symtab): Don't call get_working_sets
if flag_auto_profile is set to true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238707
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Mon, 25 Jul 2016 10:56:08 +0000 (10:56 +0000)]
Handle loops with loop->latch == NULL (PR gcov-profile/71868)
PR gcov-profile/71868
* cfgloopanal.c (expected_loop_iterations_unbounded): When we
have a function with multiple latches, count them all.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238706
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Mon, 25 Jul 2016 10:52:30 +0000 (10:52 +0000)]
Fix memory leak introduced in r238336
* tree-ssa-loop-niter.c (loop_only_exit_p): Release body array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238705
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Mon, 25 Jul 2016 10:50:30 +0000 (10:50 +0000)]
Call get_ops just for SSA_NAMEs (PR tree-optimization/71987)
PR tree-optimization/71987
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Call get_ops
just for SSA_NAMEs. Fix GNU coding style.
* gcc.dg/torture/pr71987.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238704
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 25 Jul 2016 10:31:53 +0000 (10:31 +0000)]
Use std::mt19937, std::thread and std::atomic to simplify tests
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
std::mt19937, std::thread and std::atomic to simplify test.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238703
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Mon, 25 Jul 2016 08:42:42 +0000 (08:42 +0000)]
Adapt the numbering scheme (PR gcov-profile/64874)
PR gcov-profile/64874
* gcov-io.h: Update command about file format.
* gcov-iov.c (main): Adapt the numbering scheme.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238702
138bc75d -0d04-0410-961f-
82ee72b054a4
amodra [Mon, 25 Jul 2016 01:13:36 +0000 (01:13 +0000)]
Revert 2015-11-09 sanitizer/obstack configury
The 2015-11-23 sanitizer merge from upstream lost the changes from
f6528435 to sanitizer_common/sanitizer_common_interceptors.inc, which
made use of _OBSTACK_SIZE_T. So the configury changes to define
_OBSTACK_SIZE_T don't do anything. This wasn't such a bad thing
anyway.. The configure test wrongly adds -I${srcdir}/../include,
effectively resulting in a test of libiberty/obstack rather than libc
obstack support, and it's the latter that asan and tsan need to work
with.
So, remove the useless configure test. Upstream santizer project has
been made aware of the problem if glibc obstack support is ever
updated. Bootsrapped etc. x86_64-linux and committed as obvious.
Revert 2015-11-09 Alan Modra <amodra@gmail.com>
* configure.ac: Don't substitute OBSTACK_DEFS.
* asan/Makefile.am: Remove OBSTACK_DEFS from DEFS.
* tsan/Makefile.am: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* libbacktrace/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238701
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 25 Jul 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238700
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 23:40:05 +0000 (23:40 +0000)]
PR c++/71515 - typename in partial specialization
* pt.c (resolve_typename_type): Try to avoid calling
currently_open_class.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238696
138bc75d -0d04-0410-961f-
82ee72b054a4
kugan [Sun, 24 Jul 2016 12:47:29 +0000 (12:47 +0000)]
gcc/ChangeLog:
2016-07-24 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/66726
* tree-ssa-reassoc.c (optimize_vec_cond_expr): Handle tcc_compare stmt
whose result is used in PHI.
(final_range_test_p): Likewise.
(maybe_optimize_range_tests): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238695
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:59:34 +0000 (02:59 +0000)]
PR c++/66617 - virtual base list-initialization
* call.c (add_list_candidates): Handle VTT parm.
(build_new_method_call_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238689
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:56:22 +0000 (02:56 +0000)]
PR c++/55922 - list-value-initialization of base
PR c++/63151
* init.c (expand_aggr_init_1): Handle list-initialization from {}.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238688
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:52:33 +0000 (02:52 +0000)]
PR c++/70709 - zero-length array member
* class.c (walk_subobject_offsets): Handle 0-length array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238687
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:50:16 +0000 (02:50 +0000)]
PR c++/70778 - member template template parameter
* pt.c (tsubst): Also substitute into the template of a
BOUND_TEMPLATE_TEMPLATE_PARM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238686
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:39:41 +0000 (02:39 +0000)]
PR c++/71738 - nested template friend
* pt.c (lookup_template_class_1): Handle getting template from tsubst.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238685
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:35:37 +0000 (02:35 +0000)]
PR c++/71350 - error recursion with initializer-list
* decl.c (reshape_init_r): Check complain for missing braces warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238684
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:25:36 +0000 (02:25 +0000)]
PR c++/71576 - bitfield and rvalue reference
* call.c (convert_like_real): Use lvalue_kind.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238683
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Sun, 24 Jul 2016 02:19:46 +0000 (02:19 +0000)]
PR c++/71748 - call to base destructor in template.
PR c++/52746
* pt.c (tsubst_baselink): Call
adjust_result_of_qualified_name_lookup for unqualified
destructors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238681
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 24 Jul 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238680
138bc75d -0d04-0410-961f-
82ee72b054a4
meissner [Sat, 23 Jul 2016 02:54:53 +0000 (02:54 +0000)]
2016-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Reformat two multi-line strings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238675
138bc75d -0d04-0410-961f-
82ee72b054a4