]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years agogcc/
ienkovich [Wed, 29 Jun 2016 12:26:40 +0000 (12:26 +0000)] 
gcc/

PR tree-optimization/71655
* tree-vect-stmts.c (vectorizable_comparison): Swap definition
types when swapping operands.

gcc/testsuite/

PR tree-optimization/71655
* g++.dg/pr71655.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237846 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMark -fstack-protect as optimization flag.
marxin [Wed, 29 Jun 2016 12:12:56 +0000 (12:12 +0000)] 
Mark -fstack-protect as optimization flag.

PR middle-end/71585
* common.opt (flag_stack_protect): Mark the flag as optimization
flag.
* ipa-inline-transform.c (inline_call): Remove unnecessary call
of build_optimization_node.
* gcc.dg/pr71585.c: New test.
* gcc.dg/pr71585-2.c: New test.
* gcc.dg/pr71585-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237845 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Wed, 29 Jun 2016 10:16:43 +0000 (10:16 +0000)] 
gcc/

2016-06-29  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/70729
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Consider memory reference as
independent in loops having positive safelen value.
* tree-vect-loop.c (vect_transform_loop): Clear-up safelen value since
it may be not valid after vectorization.

gcc/testsuite/

2016-06-29  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR tree-optimization/70729
* g++.dg/vect/pr70729.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237844 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoImprove diagnostic messages of "#pragma omp cancel", "#pragma omp cancellation point...
tschwinge [Wed, 29 Jun 2016 09:08:04 +0000 (09:08 +0000)] 
Improve diagnostic messages of "#pragma omp cancel", "#pragma omp cancellation point" parsing

gcc/c/
* c-parser.c (c_parser_pragma) <PRAGMA_OMP_CANCELLATION_POINT>:
Move pragma context checking into...
(c_parser_omp_cancellation_point): ... here, and improve
diagnostic messages.
* c-typeck.c (c_finish_omp_cancel)
(c_finish_omp_cancellation_point): Improve diagnostic messages.
gcc/cp/
* parser.c (cp_parser_pragma) <PRAGMA_OMP_CANCELLATION_POINT>:
Move pragma context checking into...
(cp_parser_omp_cancellation_point): ... here, and improve
diagnostic messages.
* semantics.c (finish_omp_cancel, finish_omp_cancellation_point):
Improve diagnostic messages.
gcc/testsuite/
* c-c++-common/gomp/cancel-1.c: Extend.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237843 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRename PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE
tschwinge [Wed, 29 Jun 2016 09:07:52 +0000 (09:07 +0000)] 
Rename PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE

gcc/c-family/
* c-pragma.h (enum pragma_kind): Rename
PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE.  Adjust all
users.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237842 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/71625
jakub [Wed, 29 Jun 2016 08:47:46 +0000 (08:47 +0000)] 
PR tree-optimization/71625
* tree-ssa-strlen.c (get_addr_stridx): Add PTR argument.  Assume list
is sorted by ascending list->offset.  If PTR is non-NULL and there is
previous strinfo, call get_stridx_plus_constant.
(get_stridx): Pass exp as second argument to get_addr_stridx.
(addr_stridxptr): Add missing list = list->next, so that there can be
more than one entries in the list.  Bump limit from 16 to 32.  Ensure
the list is sorted by ascending list->offset.
(get_stridx_plus_constant): Adjust so that it can be also called with
ADDR_EXPR instead of SSA_NAME as PTR.
(handle_char_store): Pass NULL_TREE as second argument to
get_addr_stridx.

* gcc.dg/strlenopt-28.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237841 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-29 Richard Biener <rguenther@suse.de>
rguenth [Wed, 29 Jun 2016 07:52:35 +0000 (07:52 +0000)] 
2016-06-29  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/68961
* simplify-rtx.c (simplify_subreg): Handle VEC_CONCAT like CONCAT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237840 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-29 Richard Biener <rguenther@suse.de>
rguenth [Wed, 29 Jun 2016 07:30:31 +0000 (07:30 +0000)] 
2016-06-29  Richard Biener  <rguenther@suse.de>

PR middle-end/71002
* alias.c (component_uses_parent_alias_set_from): Handle
type punning through union accesses by using the union alias set.
* gimple.c (gimple_get_alias_set): Remove union type punning case.

c-family/
* c-common.c (c_common_get_alias_set): Remove union type punning case.

fortran/
* f95-lang.c (LANG_HOOKS_GET_ALIAS_SET): Remove (un-)define.
(gfc_get_alias_set): Remove.

* g++.dg/torture/pr71002.C: Adjust testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237839 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-07-29 Richard Biener <rguenther@suse.de>
rguenth [Wed, 29 Jun 2016 07:17:57 +0000 (07:17 +0000)] 
2016-07-29  Richard Biener  <rguenther@suse.de>

* match.pd ((T)(T2)x -> (T)x): Remove restriction on final
precision not matching mode precision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237838 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/pa/pa.md (call_symref_64bit_post_reload): Don't call
danglin [Wed, 29 Jun 2016 00:26:54 +0000 (00:26 +0000)] 
* config/pa/pa.md (call_symref_64bit_post_reload): Don't call
pa_output_arg_descriptor.
(call_val_symref_64bit_post_reload): Likewise.
(call_val_powf_64bit_post_reload): Likewise.
(sibcall_internal_symref_64bit): Likewise.
(sibcall_value_internal_symref_64bit): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237837 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 29 Jun 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237836 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/71685
jakub [Tue, 28 Jun 2016 22:30:04 +0000 (22:30 +0000)] 
PR c/71685
* c-typeck.c (c_build_qualified_type): Don't clear
C_TYPE_INCOMPLETE_VARS for the main variant.

* gcc.dg/pr71685.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237830 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR c/71552 - Confusing error for incorrect struct initialization
msebor [Tue, 28 Jun 2016 20:09:36 +0000 (20:09 +0000)] 
PR c/71552 - Confusing error for incorrect struct initialization

gcc/c/ChangeLog:

PR c/71552
* c-typeck.c (output_init_element): Diagnose incompatible types
before non-constant initializers.

gcc/testsuite/ChangeLog:

PR c/71552
* gcc.dg/init-bad-9.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237829 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Tue, 28 Jun 2016 20:08:23 +0000 (20:08 +0000)] 
2016-06-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/abs128-1.c: Require VSX.
* gcc.target/powerpc/copysign128-1.c: Likewise.
* gcc.target/powerpc/inf128-1.c: Likewise.
* gcc.target/powerpc/nan128-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237828 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/71626
jakub [Tue, 28 Jun 2016 18:31:42 +0000 (18:31 +0000)] 
PR middle-end/71626
* config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
a constant, force its SUBREG_REG into memory or register instead
of whole op1.

* gcc.c-torture/execute/pr71626-1.c: New test.
* gcc.c-torture/execute/pr71626-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237826 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/58655
denisc [Tue, 28 Jun 2016 17:56:37 +0000 (17:56 +0000)] 
PR target/58655
* config/avr/avr.opt (-mfract-convert-truncate): Update description.
* doc/invoke.texi (AVR Options): Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237825 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/ChangeLog
walt [Tue, 28 Jun 2016 16:20:58 +0000 (16:20 +0000)] 
gcc/ChangeLog
* config/tilegx/linux.h: Do not include arch/icache.h
(CLEAR_INSN_CACHE): Provide inlined definition directly.
* config/tilepro/linux.h: Do not include arch/icache.h
(CLEAR_INSN_CACHE): Provide inlined definition directly.

libgcc/ChangeLog
* config/tilepro/atomic.h: Do not include arch/spr_def.h and
asm/unistd.h.
(SPR_CMPEXCH_VALUE): Define for tilegx.
(__NR_FAST_cmpxchg): Define for tilepro.
(__NR_FAST_atomic_update): Define for tilepro.
(__NR_FAST_cmpxchg64): Define for tilepro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237824 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/71656
bergner [Tue, 28 Jun 2016 15:49:10 +0000 (15:49 +0000)] 
PR target/71656
* gcc.target/powerpc/pr71656-2.c: Fix syntax errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237823 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoThis patch fixes a bug in the bswap pass. In big-endian BIT_FIELD_REF uses
wilco [Tue, 28 Jun 2016 13:57:47 +0000 (13:57 +0000)] 
This patch fixes a bug in the bswap pass.  In big-endian BIT_FIELD_REF uses
big-endian bit numbering so we need to adjust the bit position.
The existing version could potentially generate incorrect code however GCC
doesn't emit a BIT_FIELD_REF to access the low byte in a register, so the
symbolic number never matches in big-endian.

    gcc/
* tree-ssa-math-opts.c (find_bswap_or_nop_1): Adjust bitnumbering
for big-endian BIT_FIELD_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237822 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
pthaugen [Tue, 28 Jun 2016 13:33:03 +0000 (13:33 +0000)] 
* config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
('size' attribute): Add '128'.
Include power9.md.
(*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32,
*movdi_internal64, *movdf_update1): Set size attribute to '64'.
(add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw,
*fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
*xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>,
*trunc<mode>df2_odd): Set size attribute to '128'.
(*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'.
* config/rs6000/power6.md (power6-fp): Include dfp type.
* config/rs6000/power7.md (power7-fp): Likewise.
* config/rs6000/power8.md (power8-fp): Likewise.
* config/rs6000/power9.md: New file.
* config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md.
* config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci,
*trechkpt, *treclaim, *tsr, *ttest): Change type attribute to
htmsimple.
* config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2,
trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3,
divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2,
ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>,
dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>,
dfp_dscri_<mode>): Change type attribute to dfp.
* config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type
attribute to vecsimple.
* config/rs6000/rs6000.c (power9_cost): Update costs, cache size
and prefetch streams.
(rs6000_option_override_internal): Remove temporary code setting
tuning to power8.  Don't set rs6000_sched_groups for power9.
(last_scheduled_insn): Change to rtx_insn *.
(divide_cnt, vec_load_pendulum): New variables.
(rs6000_adjust_cost): Add Power9 to test for store->load separation.
(rs6000_issue_rate): Set issue rate for Power9.
(is_power9_pairable_vec_type): New.
(power9_sched_reorder2): New.
(rs6000_sched_reorder2): Call new function for Power9 specific
reordering.
(insn_must_be_first_in_group): Remove Power9.
(insn_must_be_last_in_group): Likewise.
(force_new_group): Likewise.
(rs6000_sched_init): Fix initialization of last_scheduled_insn.
Initialize divide_cnt/vec_load_pendulum.
(_rs6000_sched_context, rs6000_init_sched_context,
rs6000_set_sched_context): Handle context save/restore of new
variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237820 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-28 Richard Biener <rguenther@suse.de>
rguenth [Tue, 28 Jun 2016 11:55:19 +0000 (11:55 +0000)] 
2016-06-28  Richard Biener  <rguenther@suse.de>

* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
Properly handle DECL_BIT_FIELD_REPRESENTATIVE occuring as
COMPONENT_REF operand.
(nonoverlapping_component_refs_p): Likewise.
* stor-layout.c (start_bitfield_representative): Mark
DECL_BIT_FIELD_REPRESENTATIVE as DECL_NONADDRESSABLE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237818 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * Makefile.in: Don't cat ../stage_current if it does not exist.
jakub [Tue, 28 Jun 2016 08:38:38 +0000 (08:38 +0000)] 
* Makefile.in: Don't cat ../stage_current if it does not exist.
c/
* Make-lang.in: Don't cat ../stage_current if it does not exist.
cp/
* Make-lang.in: Don't cat ../stage_current if it does not exist.
lto/
* Make-lang.in: Don't cat ../stage_current if it does not exist.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237817 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/extend.texi (__builtin_add_overflow_p): Clarify behavior when
jakub [Tue, 28 Jun 2016 08:30:01 +0000 (08:30 +0000)] 
* doc/extend.texi (__builtin_add_overflow_p): Clarify behavior when
last argument is a bit-field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237816 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR rtl-optimization/71673
jakub [Tue, 28 Jun 2016 08:29:11 +0000 (08:29 +0000)] 
PR rtl-optimization/71673
* internal-fn.c (expand_arith_overflow_result_store): Use
OPTAB_LIB_WIDEN instead of OPTAB_DIRECT as last argument to
expand_simple_binop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237815 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/66867
jakub [Tue, 28 Jun 2016 08:27:18 +0000 (08:27 +0000)] 
PR middle-end/66867
* builtins.c (expand_ifn_atomic_compare_exchange_into_call,
expand_ifn_atomic_compare_exchange): New functions.
* internal-fn.c (expand_ATOMIC_COMPARE_EXCHANGE): New function.
* tree.h (build_call_expr_internal_loc): Rename to ...
(build_call_expr_internal_loc_array): ... this.  Fix up type of
last argument.
* internal-fn.def (ATOMIC_COMPARE_EXCHANGE): New internal fn.
* predict.c (expr_expected_value_1): Handle IMAGPART_EXPR of
ATOMIC_COMPARE_EXCHANGE result.
* builtins.h (expand_ifn_atomic_compare_exchange): New prototype.
* gimple-fold.h (optimize_atomic_compare_exchange_p,
fold_builtin_atomic_compare_exchange): New prototypes.
* gimple-fold.c (optimize_atomic_compare_exchange_p,
fold_builtin_atomic_compare_exchange): New functions..
* tree-ssa.c (execute_update_addresses_taken): If
optimize_atomic_compare_exchange_p, ignore &var in 2nd argument
of call when finding addressable vars, and if such var becomes
non-addressable, call fold_builtin_atomic_compare_exchange.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237814 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agors6000: Fix split of ashdi3_extswsli_dot for memory (PR71670)
segher [Tue, 28 Jun 2016 05:56:41 +0000 (05:56 +0000)] 
rs6000: Fix split of ashdi3_extswsli_dot for memory (PR71670)

The splitter for ashdi3_extswsli_dot for cr0 with memory uses emit_insn
gen_ashdi3_extswsli_dot, which does not work because that emits a scratch,
while the splitter runs after reload so there should be a real register
instead.  We can laboriously fix that up, or emit using
gen_ashdi3_extswsli_dot2 instead.  This patch does the latter.

PR target/71670
* config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use
gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot.

gcc/testsuite/
PR target/71670
* gcc.target/powerpc/pr71670.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237813 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.md ('type' attribute): Add
pthaugen [Tue, 28 Jun 2016 03:14:54 +0000 (03:14 +0000)] 
* config/rs6000/rs6000.md ('type' attribute): Add
veclogical,veccmpfx,vecexts,vecmove insn types.
(*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr,
copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal,
p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple.
(*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw,
*nabs<mode>2_hw): Change type to vecmove.
(*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal,
*boolcc<mode>3_internal, *eqv<mode>3_internal,
*one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal,
*ieee_128bit_vsx_abs<mode>2_internal,
*ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2,
*ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit,
*ieee128_mtvsrd_32bit): Change type to veclogical.
(mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
*movdi_internal32, *movdi_internal64): Update insn types.
* config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
vsx_extract_<mode>): Change type to veclogical.
(*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove.
(vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>,
*vsx_sign_extend_si_v2di): Change type to vecexts.
* config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change
type to veclogical.
(*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>,
*altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p,
*altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx.
(*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove.
* config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr,
negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple.
* config/rs6000/40x.md (ppc405-float): Add fpsimple.
* config/rs6000/440.md (ppc440-fp): Add fpsimple.
* config/rs6000/476.md (ppc476-fp): Add fpsimple.
* config/rs6000/601.md (ppc601-fp): Add fpsimple.
* config/rs6000/603.md (ppc603-fp): Add fpsimple.
* config/rs6000/6xx.md (ppc604-fp): Add fpsimple.
* config/rs6000/7xx.md (ppc750-fp): Add fpsimple.
(ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx.
* config/rs6000/7450.md (ppc7450-fp): Add fpsimple.
(ppc7450-vecsimple): Add veclogical, vecmove.
(ppc7450-veccmp): Add veccmpfx.
* config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical,
vecmove.
(ppc8540_vector_compare): Add veccmpfx.
* config/rs6000/a2.md (ppca2-fp): Add fpsimple.
* config/rs6000/cell.md (cell-fp): Add fpsimple.
(cell-vecsimple): Add veclogical, vecmove.
(cell-veccmp): Add veccmpfx.
* config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple.
* config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove,
veccmpfx.
* config/rs6000/mpc.md (mpccore-fp): Add fpsimple.
 * config/rs6000/power4.md (power4-fp): Add fpsimple.
(power4-vecsimple): Add veclogical, vecmove.
(power4-veccmp): Add veccmpfx.
* config/rs6000/power5.md (power5-fp): Add fpsimple.
* config/rs6000/power6.md (power6-fp): Add fpsimple.
(power6-vecsimple): Add veclogical, vecmove.
(power6-veccmp): Add veccmpfx.
* config/rs6000/power7.md (power7-fp): Add fpsimple.
(power7-vecsimple): Add veclogical, vecmove, veccmpfx.
* config/rs6000/power8.md (power8-fp): Add fpsimple.
(power8-vecsimple): Add veclogical, vecmove, veccmpfx.
* config/rs6000/rs64.md (rs64a-fp): Add fpsimple.
* config/rs6000/titan.md (titan_fp): Add fpsimple.
* config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add
fpsimple.
* config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237812 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
bergner [Tue, 28 Jun 2016 01:28:28 +0000 (01:28 +0000)] 
gcc/
PR target/71656
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
OPTION_MASK_P9_DFORM_VECTOR.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
disable -mpower9-dform-vector when using reload.
(quad_address_p): Remove 'gpr_p' argument and all associated code.
New 'strict' argument.  Update all callers.  Add strict addressing
support.
(rs6000_legitimate_offset_address_p): Remove call to
virtual_stack_registers_memory_p.
(rs6000_legitimize_reload_address): Add quad address support.
(rs6000_legitimate_address_p): Move call to quad_address_p above
call to virtual_stack_registers_memory_p.  Adjust quad_address_p args
to account for new strict usage.
(rs6000_output_move_128bit): Adjust quad_address_p args to account
for new strict usage.
* config/rs6000/predicates.md (quad_memory_operand): Likewise.

gcc/testsuite/
PR target/71656
* gcc.target/powerpc/pr71656-1.c: New test.
* gcc.target/powerpc/pr71656-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237811 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 28 Jun 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237810 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
meissner [Tue, 28 Jun 2016 00:01:13 +0000 (00:01 +0000)] 
[gcc]
2016-06-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (UNSPEC_P9_MEMORY): New unspec to support
loading and storing byte/half-word values in the vector registers.
(vsx_sign_extend_hi_<mode>): Enable the generator function.
(p9_lxsi<wd>zx): New insns to load zero-extended bytes and
half-words on ISA 3.0 to the vector registers.
(p9_stxsi<wd>zx): New insns to store zero-extended bytes and
half-words on ISA 3.0 from the vector registers.
* config/rs6000/rs6000.md (FP_ISA3): New iterator to optimize
converting char/half-word items to floating point on ISA 3.0.
(float<QHI:mode><FP_ISA3:mode>2): On ISA 3.0 generate the lxsihzx
and lxsibzx instructions if we are converting an 8-bit or 16-bit
item from memory to floating point.
(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
(floatuns<QHI:mode><FP_ISA3:mode>2): Likewise.
(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
(fix_trunc<SFDF:mode><QHI:mode>2): On ISA 3.0 generate the stxsihx
and stxsibx instructions to store floating point values converted
to 8 or 16-bit integers.
(fixuns_trunc<mode>si2): Likewise.

[gcc/testsuite]
2016-06-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-fpcvt-1.c: New test to test ISA 3.0 load
byte/half-word to vector registers and store byte/half-word from
vector register instructions.
* gcc.target/powerpc/p9-fpcvt-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237806 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-27 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 27 Jun 2016 20:41:59 +0000 (20:41 +0000)] 
2016-06-27  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/71640
* include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
friend declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237803 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM][testsuite] Add missing guards to fp16 AdvSIMD tests
clyon [Mon, 27 Jun 2016 11:27:17 +0000 (11:27 +0000)] 
[ARM][testsuite] Add missing guards to fp16 AdvSIMD tests

2016-06-27  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add ifdef
around fp16 code.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c:
Add arm_neon_fp16_ok effective target.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237798 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 27 Jun 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237797 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_spill_class): Disable condition to
uros [Sun, 26 Jun 2016 21:29:13 +0000 (21:29 +0000)] 
* config/i386/i386.c (ix86_spill_class): Disable condition to
always return NO_REGS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237793 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/70902
uros [Sun, 26 Jun 2016 20:56:34 +0000 (20:56 +0000)] 
PR target/70902
PR target/71453
PR target/71555
PR target/71596
PR target/71657
* config/i386/i386.c (TARGET_SPILL_CLASS): #if 0 out the definition.
(ix86_spill_class): Disable to always return NO_REGS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237792 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/predict-12.c: New testcase.
hubicka [Sun, 26 Jun 2016 20:03:35 +0000 (20:03 +0000)] 
* gcc.dg/predict-12.c: New testcase.

* predict.c: Include gimple-pretty-print.h
(predicted_by_loop_heuristics_p): Check also
PRED_LOOP_EXIT_WITH_RECURSION
(predict_loops): Find self recursive calls and use special purpose
predictors for them; dump log about decisions.
(pass_profile::execute): Dump info about #of iterations.
* predict.def (PRED_LOOP_EXIT_WITH_RECURSION,
(PRED_LOOP_GUARD_WITH_RECURSION): New predictors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237791 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/pa/pa.c (pa_output_indirect_call): Rework to combine
danglin [Sun, 26 Jun 2016 18:09:01 +0000 (18:09 +0000)] 
* config/pa/pa.c (pa_output_indirect_call): Rework to combine
output_asm_insn calls and shorten long lines.  Output .CALL
argument descriptor using pa_output_arg_descriptor.  Add various
inline $$dyncall and other optimizations.
(pa_attr_length_indirect_call): Adjust ordering and lengths.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237790 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 26 Jun 2016 01:03:19 +0000 (01:03 +0000)] 
2016-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/71649
* module.c (create_intrinsic_function): Check for NULL values and
return after giving error.

PR fortran/71649
* gfortran.dg/pr71649.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237789 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 26 Jun 2016 00:16:17 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237788 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing ChangeLog entries for r237765
hjl [Sat, 25 Jun 2016 20:41:10 +0000 (20:41 +0000)] 
Add missing ChangeLog entries for r237765

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237784 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/71643
jakub [Sat, 25 Jun 2016 17:23:02 +0000 (17:23 +0000)] 
PR tree-optimization/71643
* tree-ssa-tail-merge.c (find_clusters_1): Ignore basic blocks with
EH preds.

* tree-ssa-tail-merge.c (deps_ok_for_redirect_from_bb_to_bb): Don't
leak a bitmap if dep_bb is NULL.

* g++.dg/opt/pr71643.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237783 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/71631
jakub [Sat, 25 Jun 2016 17:20:15 +0000 (17:20 +0000)] 
PR tree-optimization/71631
* tree-ssa-reassoc.c (reassociate_bb): Pass true as last argument
to rewrite_expr_tree even if negate_result, move new_lhs var
declaration and initialization earlier, for powi_result set afterwards
new_lhs to lhs.  For negate_result, use new_lhs instead of tmp
if new_lhs != lhs, and don't shadow gsi var.

* gcc.c-torture/execute/pr71631.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237782 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * predict.c (predict_paths_leading_to, predict_paths_leading_to_edge):
hubicka [Sat, 25 Jun 2016 16:52:32 +0000 (16:52 +0000)] 
* predict.c (predict_paths_leading_to, predict_paths_leading_to_edge):
Add in_loop parameter.
(predict_loops): Add loop guard heuristics.
* predict.def (PRED_LOOP_GUARD): New heuristics.

* gcc.dg/predict-11.c: New testcase.
* gfortran.dg/predict-2.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237781 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * predict.c: Include ipa-utils.h
hubicka [Sat, 25 Jun 2016 11:56:52 +0000 (11:56 +0000)] 
* predict.c: Include ipa-utils.h
(tree_bb_level_prediction): Predict recursive calls.
(tree_estimate_probability_bb): Skip inexpensive calls for call
predictor.
* predict.def (PRED_RECURSIVE_CALL): New.

* gcc.dg/predict-10.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237780 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 25 Jun 2016 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237779 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago P0145R2: Refining Expression Order for C++ (complex LHS of =).
jason [Fri, 24 Jun 2016 21:57:13 +0000 (21:57 +0000)] 
P0145R2: Refining Expression Order for C++ (complex LHS of =).

gcc/c-common/
* c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
MODIFY_EXPR.
gcc/cp/
* typeck.c (cp_build_modify_expr): Leave COMPOUND_EXPR on LHS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237775 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
wschmidt [Fri, 24 Jun 2016 21:55:40 +0000 (21:55 +0000)] 
[gcc]

2016-06-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define.
(BU_FLOAT128_1): Likewise.
(FABSQ): Likewise.
(COPYSIGNQ): Likewise.
(RS6000_BUILTIN_NANQ): Likewise.
(RS6000_BUILTIN_NANSQ): Likewise.
(RS6000_BUILTIN_INFQ): Likewise.
(RS6000_BUILTIN_HUGE_VALQ): Likewise.
* config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype.
(TARGET_FOLD_BUILTIN): New #define.
(rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry.
(rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128.
(rs6000_fold_builtin): New target hook implementation, handling
folding of 128-bit NaNs and infinities.
(rs6000_init_builtins): Initialize const_str_type_node; ensure all
entries are filled in to avoid problems during bootstrap
self-test; define builtins for 128-bit NaNs and infinities.
(rs6000_opt_mask): Add entry for float128.
* config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define.
(RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128.
(rs6000_builtin_type_index): Add RS6000_BTI_const_str.
(const_str_type_node): New #define.
* config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert
to a define_expand that dispatches to either copysign<mode>3_soft
or copysign<mode>3_hard.
(copysign<mode>3_hard): Rename from copysign<mode>3.
(copysign<mode>3_soft): New define_insn.
* doc/extend.texi: Document new builtins.

[gcc/testsuite]

2016-06-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/abs128-1.c: New.
* gcc.target/powerpc/copysign128-1.c: New.
* gcc.target/powerpc/inf128-1.c: New.
* gcc.target/powerpc/nan128-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237774 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Fix get_target_expr for bit-field expressions.
jason [Fri, 24 Jun 2016 21:48:14 +0000 (21:48 +0000)] 
Fix get_target_expr for bit-field expressions.

* tree.c (get_target_expr_sfinae): Handle bit-fields.
(build_target_expr): Call mark_rvalue_use.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237773 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * cfgloop.c (flow_loop_dump): Cast nit to uint64_t and print it using
jakub [Fri, 24 Jun 2016 19:36:58 +0000 (19:36 +0000)] 
* cfgloop.c (flow_loop_dump): Cast nit to uint64_t and print it using
PRIu64 instead of lu.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237772 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/71642
ebotcazou [Fri, 24 Jun 2016 19:28:18 +0000 (19:28 +0000)] 
PR debug/71642
* tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just
copy the type name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237771 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/71647
jakub [Fri, 24 Jun 2016 18:44:11 +0000 (18:44 +0000)] 
PR tree-optimization/71647
* omp-low.c (lower_rec_input_clauses): Convert
omp_clause_aligned_alignment (c) to size_type_node for the
last argument of __builtin_assume_aligned.

* gcc.target/i386/pr71647.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237769 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoCall tls_get_addr via GOT for GNU TLS if possible
hjl [Fri, 24 Jun 2016 17:32:52 +0000 (17:32 +0000)] 
Call tls_get_addr via GOT for GNU TLS if possible

There are extensions to x86-64 psABI:

https://groups.google.com/forum/#!topic/x86-64-abi/de5_KnLHxtI

and i386 psABI:

https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs

to call tls_get_addr via GOT.  X86 assembler and linker in binutils 2.27
implemented

call *__tls_get_addr@GOTPCREL(%rip)

in 64-bit and

call *___tls_get_addr@GOT(%reg)

in 32-bit to access global and local thread loal variables in shared
library.  We check if 32-bit x86 assembler and linker work with

call *___tls_get_addr@GOT(%reg)

as 32-bit and 64-bit assembler and linker are enabled togther.

In 32-bit, since any integer register except EAX, which is used to pass
parameter to ___tls_get_addr, and ESP, can be used as GOT base, a new
register class, TLS_GOTBASE_REGS, along with a new constraint, Yb, are
added.  They are used to improve register allocation for 32-bit dynamic
TLS patterns.

gcc/

* configure.ac (calling ___tls_get_addr via GOT): New
assembler/linker check.
(HAVE_AS_IX86_TLS_GET_ADDR_GOT): New.  Defined to 1 if 32-bit
assembler and linker supports calling ___tls_get_addr via GOT.
Otherise, defined to 0.
* config.in: Regenerated.
* configure: Likewise.
* config/i386/constraints.md (Yb): New constraint.
* config/i386/i386.h (reg_class): Add TLS_GOTBASE_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/i386/i386.md (*tls_global_dynamic_32_gnu): Replace
the b constraint with the Yb constraint.  Call ___tls_get_addr
via GOT for GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT
is 1.
(*tls_local_dynamic_base_32_gnu): Likewise.
(*tls_global_dynamic_64_<mode>): Call _tls_get_addr via GOT for
GNU TLS with -fno-plt if HAVE_AS_IX86_TLS_GET_ADDR_GOT is 1.
(*tls_local_dynamic_base_64_<mode>): Likewise.

gcc/testsuite/

* gcc.target/i386/noplt-gd-1.c: New test.
* gcc.target/i386/noplt-gd-2.c: Likewise.
* gcc.target/i386/noplt-gd-3.c: Likewise.
* gcc.target/i386/noplt-ld-1.c: Likewise.
* gcc.target/i386/noplt-ld-2.c: Likewise.
* gcc.target/i386/noplt-ld-3.c: Likewise.
* lib/target-supports.exp
(check_effective_target_tls_get_addr_via_got): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237765 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/vect/vect-bool-cmp.c: Revert unwanted change.
uros [Fri, 24 Jun 2016 17:00:23 +0000 (17:00 +0000)] 
* gcc.dg/vect/vect-bool-cmp.c: Revert unwanted change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237764 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDump profile-based number of iterations
marxin [Fri, 24 Jun 2016 16:22:44 +0000 (16:22 +0000)] 
Dump profile-based number of iterations

* analyze_brprob.py: Parse and display average number
of loop iterations.
* cfgloop.c (flow_loop_dump): Dump average number of loop iterations.
* cfgloop.h: Change 'struct loop' to 'const struct loop' for a
few functions.
* cfgloopanal.c (expected_loop_iterations_unbounded): Set a new
argument to true if the expected number of iterations is
loop-based.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237762 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-24 Uros Bizjak <ubizjak@gmail.com>
uros [Fri, 24 Jun 2016 15:46:21 +0000 (15:46 +0000)] 
2016-06-24  Uros Bizjak  <ubizjak@gmail.com>

* gcc.dg/vect/vect-nb-iter-ub-1.c: Remove default vector
testsuite compile flags.
* gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto.

2016-06-24  Uros Bizjak  <ubizjak@gmail.com>

* g++dg/vect/pr36684.cc: Add dg-do compile.
* gcc.dg/vect/O3-pr70130.c: Remove dg-do run.
* gcc.dg/vect/pr70021.c: Ditto.
* gcc.dg/vect/pr70138-1.c: Ditto.
* gcc.dg/vect/pr70138-2.c: Ditto.
* gcc.dg/vect/pr70354-1.c: Ditto.
* gcc.dg/vect/pr70354-2.c: Ditto.
* gcc.dg/vect/pr71259.c: Ditto.
* gcc.dg/vect/pr71416-1.c: Ditto.
* gcc.dg/vect/slp-43.c: Ditto.
* gcc.dg/vect/slp-45.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-1.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto.
* gfortran.dg/vect/pr69980.f90: Ditto.

2016-06-24  Uros Bizjak  <ubizjak@gmail.com>

* gcc.dg/vect/O3-pr70130.c: Include tree-vect.h and call check_vect.
* gcc.dg/vect/bb-slp-30.c: Ditto.
* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Ditto.
* gcc.dg/vect/fast-math-bb-slp-call-3.c: Ditto.
* gcc.dg/vect/pr45902.c: Ditto.
* gcc.dg/vect/pr48172.c: Ditto.
* gcc.dg/vect/pr48377.c: Ditto.
* gcc.dg/vect/pr49038.c: Ditto.
* gcc.dg/vect/pr49771.c: Ditto.
* gcc.dg/vect/pr52091.c: Ditto.
* gcc.dg/vect/pr53185-2.c: Ditto.
* gcc.dg/vect/pr56826.c: Ditto.
* gcc.dg/vect/pr60276.c: Ditto.
* gcc.dg/vect/pr62021.c: Ditto.
* gcc.dg/vect/pr63530.c: Ditto.
* gcc.dg/vect/pr65518.c: Ditto.
* gcc.dg/vect/pr65947-1.c: Ditto.
* gcc.dg/vect/pr65947-10.c: Ditto.
* gcc.dg/vect/pr65947-11.c: Ditto.
* gcc.dg/vect/pr65947-12.c: Ditto.
* gcc.dg/vect/pr65947-13.c: Ditto.
* gcc.dg/vect/pr65947-2.c: Ditto.
* gcc.dg/vect/pr65947-3.c: Ditto.
* gcc.dg/vect/pr65947-4.c: Ditto.
* gcc.dg/vect/pr65947-5.c: Ditto.
* gcc.dg/vect/pr65947-6.c: Ditto.
* gcc.dg/vect/pr65947-7.c: Ditto.
* gcc.dg/vect/pr65947-8.c: Ditto.
* gcc.dg/vect/pr65947-9.c: Ditto.
* gcc.dg/vect/pr71416-1.c: Ditto.
* gcc.dg/vect/pr71439.c: Ditto.
* gcc.dg/vect/slp-widen-mult-half.c: Ditto.
* gcc.dg/vect/vect-bswap16.c: Ditto.
* gcc.dg/vect/vect-bswap32.c: Ditto.
* gcc.dg/vect/vect-bswap64.c: Ditto.
* gcc.dg/vect/vect-live-1.c: Ditto.
* gcc.dg/vect/vect-live-2.c: Ditto.
* gcc.dg/vect/vect-live-3.c: Ditto.
* gcc.dg/vect/vect-live-4.c: Ditto.
* gcc.dg/vect/vect-live-5.c: Ditto.
* gcc.dg/vect/vect-live-slp-1.c: Ditto.
* gcc.dg/vect/vect-live-slp-2.c: Ditto.
* gcc.dg/vect/vect-live-slp-3.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-1.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto.
* gcc.dg/vect/vect-neg-store-1.c: Ditto.
* gcc.dg/vect/vect-neg-store-2.c: Ditto.
* gcc.dg/vect/vect-outer-pr69720.c: Ditto.
* gcc.dg/vect/vect-reduc-mul_1.c: Ditto.
* gcc.dg/vect/vect-reduc-mul_2.c: Ditto.
* gcc.dg/vect/vect-reduc-or_1.c: Ditto.
* gcc.dg/vect/vect-reduc-or_2.c: Ditto.
* gcc.dg/vect/vect-widen-mult-const-s16.c: Ditto.
* gcc.dg/vect/vect-widen-mult-const-u16.c: Ditto.
* gcc.dg/vect/vect-widen-mult-half-u8.c: Ditto.
* gcc.dg/vect/vect-widen-mult-half.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237761 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/torture/float128-cmp-invalid.c (main): Use __builtin_nanq.
uros [Fri, 24 Jun 2016 13:55:40 +0000 (13:55 +0000)] 
* gcc.dg/torture/float128-cmp-invalid.c (main): Use __builtin_nanq.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237760 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/vect/tree-vect.h (check_vect): Handle __SSE4_2__.
uros [Fri, 24 Jun 2016 13:53:13 +0000 (13:53 +0000)] 
* gcc.dg/vect/tree-vect.h (check_vect): Handle __SSE4_2__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237759 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac (HAVE_AS_GOTOF_IN_DATA): Use $as_ix86_gas_32_opt to
uros [Fri, 24 Jun 2016 13:37:06 +0000 (13:37 +0000)] 
* configure.ac (HAVE_AS_GOTOF_IN_DATA): Use $as_ix86_gas_32_opt to
assemble for 32bit target.
(HAVE_AS_IX86_TLSGDPLT): Use $as_ix86_gas_32_opt to assemble
and $ld_ix86_gld_32_opt to link for 32bit target.
(HAVE_AS_IX86_TLSLDMPLT): Ditto.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237758 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM][1/4] Replace uses of int_log2 by exact_log2
ktkachov [Fri, 24 Jun 2016 12:46:19 +0000 (12:46 +0000)] 
[ARM][1/4] Replace uses of int_log2 by exact_log2

* config/arm/arm.c (int_log2): Delete definition and prototype.
(shift_op): Use exact_log2 instead of int_log2.
(vfp3_const_double_for_fract_bits): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237757 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoEnable non-PIC noplt tests on 32-bit x86 target
hjl [Fri, 24 Jun 2016 11:17:14 +0000 (11:17 +0000)] 
Enable non-PIC noplt tests on 32-bit x86 target

Since non-PIC noplt works on 32-bit x86 target now with assembler/linker
support, enable non-PIC noplt tests on 32-bit x86 target.  main in
noplt-2.c and noplt-4.c are renamed to bar to avoid stack re-alignment
in main for 32-bit target, which disables tailcall optimization.

* gcc.target/i386/noplt-1.c: Don't disable for ia32.  Scan for
ia32 if R_386_GOT32X relocation is supported.
* gcc.target/i386/noplt-3.c: Likewise.
* gcc.target/i386/noplt-2.c: Likewise.
(main): Renamed to ...
(bar): This.
* gcc.target/i386/noplt-4.c: Likewise.
(main): Renamed to ...
(bar): This.
* gcc.target/i386/pr67400-3.c: Don't disable for ia32.
* gcc.target/i386/pr67400-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237756 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * call.c (magic_varargs_p): Return 3 for __builtin_*_overflow_p.
jakub [Fri, 24 Jun 2016 11:04:29 +0000 (11:04 +0000)] 
* call.c (magic_varargs_p): Return 3 for __builtin_*_overflow_p.
(build_over_call): For magic == 3, do no conversion only on 3rd
argument.

* c-c++-common/torture/builtin-arith-overflow-p-19.c: Run for C++ too.
* g++.dg/ext/builtin-arith-overflow-2.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237755 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * internal-fn.c (expand_arith_set_overflow): New function.
jakub [Fri, 24 Jun 2016 11:03:27 +0000 (11:03 +0000)] 
* internal-fn.c (expand_arith_set_overflow): New function.
(expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow):
Use it.
(expand_arith_overflow_result_store): Likewise.  Handle precision
smaller than mode precision.
* tree-vrp.c (extract_range_basic): For imag part, handle
properly signed 1-bit precision result.
* doc/extend.texi (__builtin_add_overflow): Document that last
argument can't be pointer to enumerated or boolean type.
(__builtin_add_overflow_p): Document that last argument can't
have enumerated or boolean type.

* c-common.c (check_builtin_function_arguments): Require last
argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
if the last argument is pointer to enumerated or boolean type.

* c-c++-common/builtin-arith-overflow-1.c (generic_wrong_type, f3,
f4): Adjust expected diagnostics.
* c-c++-common/torture/builtin-arith-overflow.h (TP): New macro.
(T): If OVFP is defined, redefine to TP.
* c-c++-common/torture/builtin-arith-overflow-12.c: Adjust comment.
* c-c++-common/torture/builtin-arith-overflow-p-1.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-2.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-3.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-4.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-5.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-6.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-7.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-8.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-9.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-10.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-11.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-12.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-13.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-14.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-15.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-16.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-17.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-18.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-19.c: New test.
* g++.dg/ext/builtin-arith-overflow-1.C: Pass 0 instead of C
as last argument to __builtin_add_overflow_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237754 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Fri, 24 Jun 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237753 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-23 François Dumont <fdumont@gcc.gnu.org>
fdumont [Thu, 23 Jun 2016 20:21:47 +0000 (20:21 +0000)] 
2016-06-23  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/array (array<>::swap): Fix noexcept qualificaton for
zero-size array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237747 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * g++.dg/vect/pr33834_2.cc: Use dg-additional-options instead of
uros [Thu, 23 Jun 2016 19:58:37 +0000 (19:58 +0000)] 
* g++.dg/vect/pr33834_2.cc: Use dg-additional-options instead of
dg-options and remove default vector testsuite compile flags.
* g++.dg/vect/pr33860a.cc: Ditto.
* g++.dg/vect/pr45470-a.cc: Ditto.
* g++.dg/vect/pr45470-b.cc: Ditto.
* g++.dg/vect/pr60896.cc: Ditto.
* gcc.dg/vect/no-tree-pre-pr45241.c: Ditto.
* gcc.dg/vect/pr18308.c: Ditto.
* gcc.dg/vect/pr24049.c: Ditto.
* gcc.dg/vect/pr33373.c: Ditto.
* gcc.dg/vect/pr36228.c: Ditto.
* gcc.dg/vect/pr42395.c: Ditto.
* gcc.dg/vect/pr42604.c: Ditto.
* gcc.dg/vect/pr46663.c: Ditto.
* gcc.dg/vect/pr48765.c: Ditto.
* gcc.dg/vect/pr49093.c: Ditto.
* gcc.dg/vect/pr49352.c: Ditto.
* gcc.dg/vect/pr52298.c: Ditto.
* gcc.dg/vect/pr52870.c: Ditto.
* gcc.dg/vect/pr53185.c: Ditto.
* gcc.dg/vect/pr53773.c: Ditto.
* gcc.dg/vect/pr56695.c: Ditto.
* gcc.dg/vect/pr62171.c: Ditto.
* gcc.dg/vect/pr63530.c: Ditto.
* gcc.dg/vect/pr68339.c: Ditto.
* gcc.dg/vect/pr71259.c: Ditto.
* gcc.dg/vect/vect-82_64.c: Ditto.
* gcc.dg/vect/vect-83_64.c: Ditto.
* gcc.dg/vect/vect-debug-pr41926.c: Ditto.
* gcc.dg/vect/vect-shift-2-big-array.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gfortran.dg/vect/fast-math-mgrid-resid.f: Ditto.
* gfortran.dg/vect/pr39318.f90: Ditto.
* gfortran.dg/vect/pr45714-a.f: Ditto.
* gfortran.dg/vect/pr45714-b.f: Ditto.
* gfortran.dg/vect/pr46213.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237745 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
meissner [Thu, 23 Jun 2016 19:19:09 +0000 (19:19 +0000)] 
[gcc]
2016-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/predicates.md (splat_input_operand): Rework.
Don't allow constants, since the insns that use this predicate
don't support constants.  Constants are handled by other insns
that are created via combine.  During and after register
allocation, only allow indexed or indirect addresses, and not
general addresses.  Only allow modes supported by the hardware.
* config/rs6000/rs6000.c (xxsplitb_constant_p): Update usage
comment.  Move check for using VSPLTIS<x> to a common location,
instead of doing it in two different places.

[gcc/testsuite]
2016-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-splat-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237743 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/driver-i386.c (host_detect_local_cpu): Set
uros [Thu, 23 Jun 2016 18:06:43 +0000 (18:06 +0000)] 
* config/i386/driver-i386.c (host_detect_local_cpu): Set
PROCESSOR_PENTIUMPRO for signature_CENTAUR_ebx family >= 9.
<case PROCESSOR_PENTIMUMPRO>: Pass c7 or nehemiah for
signature_CENTAUR_ebx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237741 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/71488
uros [Thu, 23 Jun 2016 16:58:54 +0000 (16:58 +0000)] 
PR tree-optimization/71488
* gcc.target/i386/i386.exp (check_effective_target_sse4): Move to ...
* lib/target-supports.exp: ... here.
(check_sse4_hw_available): New procedure.
(check_effective_target_sse4_runtime): Ditto.
* g++.dg/pr71488.C (dg-additional-options): Use -msse4 instead of
-march=westmere for sse4_runtime targets.
* gcc.dg/vect/vect-bool-cmp.c: Include "tree-vect.h".
(dg-additional-options): Use for sse4_runtime targets.
(main): Call check_vect ().
(dg-final): Perform scan only for sse4_runtime targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237738 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoApply missing changes
hjl [Thu, 23 Jun 2016 16:46:46 +0000 (16:46 +0000)] 
Apply missing changes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237737 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoi386: Access external function via GOT slot for -fno-plt
hjl [Thu, 23 Jun 2016 16:30:43 +0000 (16:30 +0000)] 
i386: Access external function via GOT slot for -fno-plt

i386 psABI has been updated to clarify that R_386_GOT32X and R_386_GOT32
relocations can be used to access GOT without base register when PIC is
disabled:

https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs

32-bit x86 assembler and linker from binutils 2.26.1 and 2.27 support

call/jmp *_start@GOT
cmpl $0, bar@GOT

for both normal and IFUNC functions.  We check if 32-bit x86 assembler
and linker have the fix for:

https://sourceware.org/bugzilla/show_bug.cgi?id=20244

before accessing external function via GOT slot for -fno-plt in both PIC
and non-PIC modes.

PR target/66232
PR target/67400
* configure.ac (as_ix86_tls_ldm_opt): Renamed to ...
(as_ix86_gas_32_opt): This.
(ld_ix86_tls_ldm_opt): Renamed to ...
(ld_ix86_gld_32_opt): This.
(R_386_TLS_LDM reloc): Updated.
(R_386_GOT32X reloc): New assembler/linker check.
(HAVE_AS_IX86_GOT32X): New.  Defined to 1 if 32-bit assembler and
linker support "jmp *_start@GOT" and "cmpl $0, bar@GOT".  Otherise,
defined to 0.
* config.in: Regenerated.
* configure: Likewise.
* config/i386/i386.c (ix86_force_load_from_GOT_p): Return
true if HAVE_AS_IX86_GOT32X is 1 in 32-bit mode.
(ix86_legitimate_address_p): Allow UNSPEC_GOT for -fno-plt
if ix86_force_load_from_GOT_p returns true.
(ix86_print_operand_address_as): Also support UNSPEC_GOT if
ix86_force_load_from_GOT_p returns true.
(ix86_expand_move): Generate UNSPEC_GOT in 32-bit mode to load
the external function address via the GOT slot.
(ix86_nopic_noplt_attribute_p): Check both TARGET_64BIT and
HAVE_AS_IX86_GOT32X before returning false.
(ix86_output_call_insn): Generate "%!jmp/call\t*%p0@GOT" in
32-bit mode if ix86_nopic_noplt_attribute_p returns true.

gcc/testsuite/

PR target/66232
PR target/67400
* gcc.target/i386/pr66232-14.c: New file.
* gcc.target/i386/pr66232-15.c: Likewise.
* gcc.target/i386/pr66232-16.c: Likewise.
* gcc.target/i386/pr66232-17.c: Likewise.
* gcc.target/i386/pr67400-1.c: Don't disable for ia32.  Scan for
ia32 if R_386_GOT32X relocation is supported.
* gcc.target/i386/pr67400-2.c: Likewise.
* gcc.target/i386/pr67400-3.c: Likewise.
* gcc.target/i386/pr67400-4.c: Likewise.
* gcc.target/i386/pr67400-6.c: Likewise.
* gcc.target/i386/pr67400-7.c: Likewise.
* lib/target-supports.exp (check_effective_target_got32x_reloc):
New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237736 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 23 Jun 2016 15:58:05 +0000 (15:58 +0000)] 
2016-06-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48852
* io/write.c: Cleaned up whitespace.
(write_d, write_e, write_f, write_es, write_en): Use new helper function
write_float_0. (write_float_0): New helper function.
(get_precision, select_buffer, select_string, write_float_string): New
helper functions used in remaining float writing functions. Helper function
write_float_string now contains code for writing to kind=4 character
internal units.
(write_real): Modified to establish working buffers at this level and to
use new helper functions.
(write_real_g0): Likewise modified.
(write_complex): Likewise modified. Gets both float strings before
output so that final lengths can be determined which allows right
justifying the complex number with no intervening spaces.
* io/write_float.def (build_float_string): Renamed from previosly
output_float, modified to use buffers passed in from higher functions,
builds a null terminated string of the floating point value. Character
kind=4 code eliminated.
(write_infnan): Likewise modified to use incoming buffers and eliminate
kind=4 related code.
(OUTPUT_FLOAT_FMT_G): Deleted, functionality moved into FORMAT_FLOAT.
(FORMAT_FLOAT): Renamed macro from WRITE_FLOAT. Use build_float_string.
(get_float_string): Renamed from write_float, uses FORMAT_FLOAT macro.
Buffer allocation removed, now at higher level.

PR libgfortran/48852
* gfortran.dg/char4_iunit_1.f03: Update test.
* gfortran.dg/f2003_io_5.f03: Update test.
* gfortran.dg/real_const_3.f90: Update test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237735 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-inline.c (remap_decl): Preserve DECL_ORIGINAL_TYPE invariant.
ebotcazou [Thu, 23 Jun 2016 15:04:25 +0000 (15:04 +0000)] 
* tree-inline.c (remap_decl): Preserve DECL_ORIGINAL_TYPE invariant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237734 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd make autoprofiledbootstrap
ak [Thu, 23 Jun 2016 14:34:16 +0000 (14:34 +0000)] 
Add make autoprofiledbootstrap

Add support for profiledbootstrap with autofdo. Will be useful
to get better testing coverage of autofdo.

This requires Linux perf and autofdo to be installed, only
really for x86_64 linux on Intel so far.

Profile the whole build process with perf, then convert the file,
and pass it back to the compiler in the feedback stage.

The conversion has to be done per language, as only that knows
the name of the binary. Currently we only do it for C and C++,
as the other languages don't have enough coverage during a normal
bootstrap.

For lto1 it is also disabled, because it would only be useful during a LTO
bootstrap, but right now autofdo and LTO are not working together due to
PR66229

For common backend files always the profile output of the C++ compiler
is used. In theory multiple inputs could be merged here, but so far
that is not implemented.

The method is not friendly to partial rebuilds, as only the profile
information from the current rebuild is used. So if an error
occurs it is best to clean and restart, otherwise the code
quality may be worse.

This patch is fairly large, but most of it is auto generated from
autogen in Makefile.in. for the new stage targets.

Passes profiledbootstrap and normal bootstrap on x86_64-linux.
autoprofiledbootstrap is currently not working due to
PR70427 (but it finishes with that worked around)

The autofdo'ed compiler is ~7% faster on insn-recog.i (vs ~11% for
profiledfeedback), and ~4% faster for tramp3d-v4 (vs 10% for
profiledfeedback) on a Sandy Bridge system.

gcc/lto/:

2016-06-23  Andi Kleen  <ak@linux.intel.com>

* Make-lang.in: Add support for autofdo (disabled for now)

gcc/cp/:

2016-06-23  Andi Kleen  <ak@linux.intel.com>

* Make-lang.in: Add support for autofdo.

gcc/:

2016-06-23  Andi Kleen  <ak@linux.intel.com>

* Makefile.in: Regenerate.
* doc/install.texi: Document autoprofiledbootstrap.

/:
2016-06-23  Andi Kleen  <ak@linux.intel.com>

* Makefile.def: Add autoprofiledbootstrap.
* Makefile.tpl: Dito.
* Makefile.in: Regenerate.

gcc/c/:

2016-06-23  Andi Kleen  <ak@linux.intel.com>

* Make-lang.in: Add support for autofdo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237733 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRun profile feedback tests with autofdo
ak [Thu, 23 Jun 2016 14:34:04 +0000 (14:34 +0000)] 
Run profile feedback tests with autofdo

Extend the existing bprob and tree-prof tests to also run with autofdo.
The test runtimes are really a bit too short for autofdo, but it's
a reasonable sanity check.

This only works natively for now.

dejagnu doesn't seem to support a wrapper for unix tests, so I had
to open code running these tests.  That should be ok due to the
native run restrictions.

gcc/testsuite/:

2016-06-23  Andi Kleen  <ak@linux.intel.com>

* g++.dg/bprob/bprob.exp: Support autofdo.
* g++.dg/tree-prof/tree-prof.exp: dito.
* gcc.dg/tree-prof/tree-prof.exp: dito.
* gcc.misc-tests/bprob.exp: dito.
* gfortran.dg/prof/prof.exp: dito.
* lib/profopt.exp: dito.
* lib/target-supports.exp: Check for autofdo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237732 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd gcc-auto-profile script
ak [Thu, 23 Jun 2016 14:33:53 +0000 (14:33 +0000)] 
Add gcc-auto-profile script

Using autofdo is currently something difficult. It requires using the
model specific branches taken event, which differs on different CPUs.
The example shown in the manual requires a special patched version of
perf that is non standard, and also will likely not work everywhere.

This patch adds a new gcc-auto-profile script that figures out the
correct event and runs perf.

This is needed to actually make use of autofdo in a generic way
in the build system and in the test suite.

Since maintaining the script would be somewhat tedious (needs changes
every time a new CPU comes out) I auto generated it from the online
Intel event database. The script to do that is in contrib and can be
rerun.

Right now there is no test if perf works in configure. This
would vary depending on the build and target system, and since
it currently doesn't work in virtualization and needs uptodate
kernel it may often fail in common distribution build setups.

So far the script is not installed.

gcc/:
2016-06-23  Andi Kleen  <ak@linux.intel.com>

* config/i386/gcc-auto-profile: New file.

contrib/:

2016-06-23  Andi Kleen  <ak@linux.intel.com>

* gen_autofdo_event.py: New file to regenerate
gcc-auto-profile.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237731 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR middle-end/71619
marxin [Thu, 23 Jun 2016 11:04:35 +0000 (11:04 +0000)] 
Fix PR middle-end/71619

PR middle-end/71619
* predict.c (predict_loops): Revert the hunk that was removed
in r237103.
* gcc.dg/pr71619.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237730 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
ksejdak [Thu, 23 Jun 2016 07:32:58 +0000 (07:32 +0000)] 
2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

   * config.host: Add suport for arm*-*-phoenix* targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237729 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
ksejdak [Thu, 23 Jun 2016 07:28:17 +0000 (07:28 +0000)] 
2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

* config.gcc: Add support for arm*-*-phoenix* targets.
* config/arm/t-phoenix: New.
* config/phoenix.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237728 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com>
ksejdak [Thu, 23 Jun 2016 07:12:16 +0000 (07:12 +0000)] 
2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

    * configure.ac: Disable libgcj and libgloss for Phoenix-RTOS targets.
    * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237727 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Thu, 23 Jun 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237726 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * testsuite/ChangeLog: Whitespace fixes.
uros [Wed, 22 Jun 2016 22:13:41 +0000 (22:13 +0000)] 
* testsuite/ChangeLog: Whitespace fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237721 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/67400
uros [Wed, 22 Jun 2016 22:06:56 +0000 (22:06 +0000)] 
PR target/67400
* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
* config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
(ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
ix86_force_load_from_GOT_p returns true.
(ix86_expand_move): Load the external function address via the
GOT slot if ix86_force_load_from_GOT_p returns true.
* config/i386/predicates.md (x86_64_immediate_operand): Return
false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
(x86_64_zext_immediate_operand): Ditto.

testsuite/ChangeLog:

PR target/67400
        * gcc.target/i386/pr67400-1.c: New test.
        * gcc.target/i386/pr67400-2.c: Likewise.
        * gcc.target/i386/pr67400-3.c: Likewise.
        * gcc.target/i386/pr67400-4.c: Likewise.
        * gcc.target/i386/pr67400-5.c: Likewise.
        * gcc.target/i386/pr67400-6.c: Likewise.
        * gcc.target/i386/pr67400-7.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237720 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.
uros [Wed, 22 Jun 2016 18:40:21 +0000 (18:40 +0000)] 
* config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237716 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibcpp: Tweak to missing #include source location
dmalcolm [Wed, 22 Jun 2016 15:29:21 +0000 (15:29 +0000)] 
libcpp: Tweak to missing #include source location

This patch tweaks the error message location for missing header files.

Previously these read:

test.c:1:17: fatal error: 404.h: No such file or directory
 #include "404.h"
                 ^
compilation terminated.

With this patch, the pertinent string is underlined:

test.c:1:10: fatal error: 404.h: No such file or directory
 #include "404.h"
          ^~~~~~~
compilation terminated.

gcc/testsuite/ChangeLog:
* c-c++-common/missing-header-1.c: New test case.
* c-c++-common/missing-header-2.c: New test case.
* c-c++-common/missing-header-3.c: New test case.
* c-c++-common/missing-header-4.c: New test case.

libcpp/ChangeLog:
* directives.c (do_include_common): Pass on "location" to
_cpp_stack_include.
* errors.c (cpp_diagnostic): Reimplement in terms of...
(cpp_diagnostic_at): New function.
(cpp_error_at): New function.
(cpp_errno_filename): Add "loc" param and use it by using
cpp_error_at rather than cpp_error.
* files.c (find_file_in_dir): Add "loc" param and pass it to
open_file_failed.
(_cpp_find_file): Add "loc" param.  Use it to convert calls to
cpp_error to cpp_error_at, and pass it to find_file_in_dir and
open_file_failed.
(read_file_guts): Add "loc" param.  Use it to convert calls to
cpp_error to cpp_error_at.  Pass it to cpp_errno_filename.
(read_file): Add "loc" param.  Pass it to open_file_failed and
read_file_guts.
(should_stack_file): Add "loc" param.  Pass it to read_file.
(_cpp_stack_file): Add "loc" param.  Pass it to should_stack_file.
(_cpp_stack_include): Add "loc" param.  Pass it to
_cpp_find_file and _cpp_stack_file.
(open_file_failed): Add "loc" param.  Pass it to
cpp_errno_filename.
(_cpp_fake_include): Add 0 as a source_location in call to
_cpp_find_file.
(_cpp_compare_file_date): Likewise.
(cpp_push_include): Likewise for call to _cpp_stack_include.
(cpp_push_default_include): Likewise.
(_cpp_save_file_entries): Likewise for call to open_file_failed.
(_cpp_has_header): Likewise for call to _cpp_find_file.
* include/cpplib.h (cpp_errno_filename): Add source_location
param.
(cpp_error_at): New declaration.
* init.c (cpp_read_main_file): Add 0 as a source_location in calls
to _cpp_find_file and _cpp_stack_file.
* internal.h (_cpp_find_file): Add source_location param.
(_cpp_stack_file): Likewise.
(_cpp_stack_include): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237715 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoC FE: suggest corrections for misspelled identifiers and type names
dmalcolm [Wed, 22 Jun 2016 15:20:41 +0000 (15:20 +0000)] 
C FE: suggest corrections for misspelled identifiers and type names

gcc/c-family/ChangeLog:
PR c/70339
* c-common.h (enum lookup_name_fuzzy_kind): New enum.
(lookup_name_fuzzy): New prototype.

gcc/c/ChangeLog:
PR c/70339
* c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h.
(implicit_decl_warning): When issuing warnings for implicit
declarations, attempt to provide a suggestion via
lookup_name_fuzzy.
(undeclared_variable): Likewise when issuing errors.
(lookup_name_in_scope): Likewise.
(struct edit_distance_traits<cpp_hashnode *>): New struct.
(best_macro_match): New typedef.
(find_closest_macro_cpp_cb): New function.
(lookup_name_fuzzy): New function.
* c-parser.c: Include gcc-rich-location.h.
(c_token_starts_typename): Split out case CPP_KEYWORD into...
(c_keyword_starts_typename): ...this new function.
(c_parser_declaration_or_fndef): When issuing errors about
missing "struct" etc, add a fixit.  For other kinds of errors,
attempt to provide a suggestion via lookup_name_fuzzy.
(c_parser_parms_declarator): When looking ahead to detect typos in
type names, also reject CPP_KEYWORD.
(c_parser_parameter_declaration): When issuing errors about
unknown type names, attempt to provide a suggestion via
lookup_name_fuzzy.
* c-tree.h (c_keyword_starts_typename): New prototype.

gcc/ChangeLog:
PR c/70339
* diagnostic-core.h (pedwarn_at_rich_loc): New prototype.
* diagnostic.c (pedwarn_at_rich_loc): New function.
* spellcheck.h (best_match::best_match): Add a
"best_distance_so_far" optional parameter.
(best_match::set_best_so_far): New method.
(best_match::get_best_distance): New accessor.
(best_match::get_best_candidate_length): New accessor.

gcc/testsuite/ChangeLog:
PR c/70339
* c-c++-common/attributes-1.c: Update dg-prune-output to include
hint.
* gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Update
expected results due to builtin "nanl" now being suggested for
"name".
* gcc.dg/pr67580.c: Update expected messages.
* gcc.dg/spellcheck-identifiers.c: New testcase.
* gcc.dg/spellcheck-typenames.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237714 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
nickc [Wed, 22 Jun 2016 15:12:39 +0000 (15:12 +0000)] 
* dwarf2out.c (scompare_loc_descriptor): Use SCALAR_INT_MODE_P() in
place of GET_MODE_CLASS() == MODE_INT, so that partial integer
modes are accepted as well.
(ucompare_loc_descriptor): Likewise.
(minmax_loc_descriptor): Likewise.
(clz_loc_descriptor): Likewise.
(popcount_loc_descriptor): Likewise.
(bswap_loc_descriptor): Likewise.
(rotate_loc_descriptor): Likewise.
(mem_loc_descriptor): Likewise.
(loc_descriptor): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237713 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoImplement -fdiagnostics-parseable-fixits
dmalcolm [Wed, 22 Jun 2016 14:42:30 +0000 (14:42 +0000)] 
Implement -fdiagnostics-parseable-fixits

gcc/ChangeLog:
* common.opt (fdiagnostics-parseable-fixits): New option.
* diagnostic.c: Include "selftest.h".
(print_escaped_string): New function.
(print_parseable_fixits): New function.
(diagnostic_report_diagnostic): Call print_parseable_fixits.
(selftest::assert_print_escaped_string): New function.
(ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro.
(selftest::test_print_escaped_string): New function.
(selftest::test_print_parseable_fixits_none): New function.
(selftest::test_print_parseable_fixits_insert): New function.
(selftest::test_print_parseable_fixits_remove): New function.
(selftest::test_print_parseable_fixits_replace): New function.
(selftest::diagnostic_c_tests): New function.
* diagnostic.h (struct diagnostic_context): Add field
"parseable_fixits_p".
* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-fdiagnostics-parseable-fixits.
(-fdiagnostics-parseable-fixits): New option.
* opts.c (common_handle_option): Handle
-fdiagnostics-parseable-fixits.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::diagnostic_c_tests.
* selftest.h (selftest::diagnostic_c_tests): New prototype.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c: New
file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic-test-show-locus-parseable-fixits.c to sources for
diagnostic_plugin_test_show_locus.c.
* lib/gcc-defs.exp (freeform_regexps): New global.
(dg-regexp): New function.
(handle-dg-regexps): New function.
* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset
freeform_regexps to the empty list.
* lib/prune.exp (prune_gcc_output): Call handle-dg-regexps.

libcpp/ChangeLog:
* include/line-map.h (fixit_hint::get_start_loc): New pure virtual
function.
(fixit_hint::maybe_get_end_loc): Likewise.
(fixit_insert::get_start_loc): New function, implementing
fixit_hint::get_start_loc.
(fixit_insert::maybe_get_end_loc): New function, implementing
fixit_hint::maybe_get_end_loc.
(fixit_remove::get_start_loc): New function, implementing
fixit_hint::get_start_loc.
(fixit_remove::maybe_get_end_loc): New function, implementing
fixit_hint::maybe_get_end_loc.
(fixit_replace::get_start_loc): New function, implementing
fixit_hint::get_start_loc.
(fixit_replace::maybe_get_end_loc): New function, implementing
fixit_hint::maybe_get_end_loc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237712 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/guality/param-5.c (clear_stack): Tweak.
ebotcazou [Wed, 22 Jun 2016 14:35:50 +0000 (14:35 +0000)] 
* gcc.dg/guality/param-5.c (clear_stack): Tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237710 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc/ChangeLog: Add pointer to PR71151 for r237536.
gjl [Wed, 22 Jun 2016 14:29:59 +0000 (14:29 +0000)] 
* gcc/ChangeLog: Add pointer to PR71151 for r237536.
* gcc/testsuite/ChangeLog: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237709 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/guality/param-5.c (clear_stack): Tweak.
ebotcazou [Wed, 22 Jun 2016 14:28:57 +0000 (14:28 +0000)] 
* gcc.dg/guality/param-5.c (clear_stack): Tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237707 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
ienkovich [Wed, 22 Jun 2016 14:05:55 +0000 (14:05 +0000)] 
gcc/

PR middle-end/71488
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Support
comparison of boolean vectors.
* tree-vect-stmts.c (vectorizable_comparison): Vectorize comparison
of boolean vectors using bitwise operations.

gcc/testsuite/

PR middle-end/71488
* g++.dg/pr71488.C: New test.
* gcc.dg/vect/vect-bool-cmp.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237706 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
schwab [Wed, 22 Jun 2016 13:50:23 +0000 (13:50 +0000)] 
* config/aarch64/aarch64-protos.h (aarch64_elf_asm_named_section):
Remove declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237705 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * function.c (assign_parm_setup_reg): Prevent sharing in another case.
ebotcazou [Wed, 22 Jun 2016 13:13:22 +0000 (13:13 +0000)] 
* function.c (assign_parm_setup_reg): Prevent sharing in another case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237703 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc:
edlinger [Wed, 22 Jun 2016 13:01:11 +0000 (13:01 +0000)] 
gcc:
2016-06-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config/i386/i386.c (print_reg): Emit an error message on attempt to
        print FLAGS_REG.

testsuite:
2016-06-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.target/i386/asm-flag-7.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237702 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd final newline.
ebotcazou [Wed, 22 Jun 2016 12:25:34 +0000 (12:25 +0000)] 
Add final newline.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237701 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMinor reformatting.
charlet [Wed, 22 Jun 2016 11:50:48 +0000 (11:50 +0000)] 
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237700 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-22 Arnaud Charlet <charlet@adacore.com>
charlet [Wed, 22 Jun 2016 10:51:37 +0000 (10:51 +0000)] 
2016-06-22  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb: Revert unwanted change in previous commit,
only keep message fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237699 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-22 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 22 Jun 2016 10:49:48 +0000 (10:49 +0000)] 
2016-06-22  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.ads (Build_Classwide_Expression): new procedure to
build the expression for an inherited classwide condition, and
to validate such expressions when they apply to an inherited
operation that is not overridden.
* sem_prag.adb (Primitives_Mapping): new data structure to
handle the mapping between operations of a root type and the
corresponding overriding operations of a type extension. Used
to construct the expression for an inherited classwide condition.
(Update_Primitives_Mapping): add to Primitives_Mapping the links
between primitive operations of a root type and those of a given
type extension.
(Build_Pragma_Check_Equivalent): use Primitives_Mapping.
* sem_ch6.adb (New_Overloaded_Entity): Remove call to
Collect_Iherited_Class_Wide_Conditions in GNATprove_Mode. This
needs to be done at freeze point of the type.
* freeze.adb (Check_Inherited_Conditions): new procedure to
verify the legality of inherited classwide conditions. In normal
compilation mode the procedure determines whether an inherited
operation needs a wrapper to handle an inherited condition that
differs from the condition of the root type.  In SPARK mode
the routine invokes Collect_Inherited_Class_Wide_Conditions to
produce the SPARK version of these inherited conditions.
(Freeze_Record_Type): For a type extension, call
Check_Inherited_Conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237698 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2016-06-22 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Wed, 22 Jun 2016 10:48:33 +0000 (10:48 +0000)] 
2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb,
s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb,
sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor
reformatting.

2016-06-22  Yannick Moy  <moy@adacore.com>

* lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of
treatments so that files without compilation unit are simply skipped
before more elaborate treatments.

2016-06-22  Bob Duff  <duff@adacore.com>

* s-memory.ads: Minor typo fixes in comments.
* s-memory.adb: Code cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237697 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * vxworks-crtbe-link.spec: Removed, no longer used.
charlet [Wed, 22 Jun 2016 10:46:14 +0000 (10:46 +0000)] 
    * vxworks-crtbe-link.spec: Removed, no longer used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237696 138bc75d-0d04-0410-961f-82ee72b054a4