platform/upstream/gcc.git
8 years agosourcebuild.texi (arm_acq_rel): Document new effective target.
Thomas Preud'homme [Wed, 1 Jun 2016 16:54:18 +0000 (16:54 +0000)]
sourcebuild.texi (arm_acq_rel): Document new effective target.

2016-06-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * doc/sourcebuild.texi (arm_acq_rel): Document new effective target.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_acq_rel): New
    procedure.

From-SVN: r237002

8 years agoc-common.c (get_source_date_epoch): Rename to cb_get_source_date_epoch.
Eduard Sanou [Wed, 1 Jun 2016 16:42:41 +0000 (16:42 +0000)]
c-common.c (get_source_date_epoch): Rename to cb_get_source_date_epoch.

gcc/c-family/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

* c-common.c (get_source_date_epoch): Rename to
cb_get_source_date_epoch.
* c-common.c (cb_get_source_date_epoch): Use a single generic erorr
message when the parsing fails.  Use error_at instead of fatal_error.
* c-common.h (get_source_date_epoch): Rename to
cb_get_source_date_epoch.
* c-common.h (cb_get_source_date_epoch): Prototype.
* c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
* c-common.h (c_omp_region_type): Remove trailing comma.
* c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
* c-lex.c (c_lex_with_flags): Remove initialization of
pfile->source_date_epoch.

gcc/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

* doc/cppenv.texi: Note that the `%s` in `date` is a non-standard
extension.
* gcc.c (driver_handle_option): Call set_source_date_epoch_envvar.
* gcc.c (set_source_date_epoch_envvar): New function, sets
the SOURCE_DATE_EPOCH environment variable to the current time.

gcc/testsuite/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

* gcc.dg/cpp/source_date_epoch-1.c: New file, test the proper
behaviour of the macros __DATE__ and __TIME__ when SOURCE_DATE_EPOCH
env var is set.
* gcc.dg/cpp/source_date_epoch-2.c: New file, test the error output
when parsing the SOURCE_DATE_EPOCH env var, and make sure it is only
shown once.
* lib/gcc-dg.exp (dg-set-compiler-env-var): New function, set env vars
during compilation.
* lib/gcc-dg.exp (restore-compiler-env-var): New function, restore env
vars set by dg-set-compiler-env-var.

libcpp/ChangeLog:

2016-05-13  Eduard Sanou  <dhole@openmailbox.org>

* include/cpplib.h (cpp_callbacks): Add get_source_date_epoch
callback.
* include/cpplib.h (cpp_init_source_date_epoch): Remove prototype.
* init.c (cpp_init_source_date_epoch): Remove function.
* init.c (cpp_create_reader): Initialize pfile->source_date_epoch.
* internal.h (cpp_reader): Extend comment about source_date_epoch.
* macro.c (_cpp_builtin_macro_text): Use get_source_date_epoch
callback only once, read pfile->source_date_epoch on future passes.
Check that get_source_date_epoch callback is not NULL.

From-SVN: r237001

8 years agotree-vect-loop.c (vect_determine_vectorization_factor): Also compute the factor for...
Eric Botcazou [Wed, 1 Jun 2016 16:06:10 +0000 (16:06 +0000)]
tree-vect-loop.c (vect_determine_vectorization_factor): Also compute the factor for live Phi nodes.

* tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
the factor for live Phi nodes.

From-SVN: r236999

8 years agoloop-dolop.c (doloop_optimize): Us likely max iteration bound.
Jan Hubicka [Wed, 1 Jun 2016 15:26:46 +0000 (17:26 +0200)]
loop-dolop.c (doloop_optimize): Us likely max iteration bound.

* loop-dolop.c (doloop_optimize): Us likely max iteration bound.
* tree-parloops.c (parallelize_loops): likewise.
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop,
tree_unswitch_outer_loop): likewise.

From-SVN: r236998

8 years agore PR fortran/71156 (PURE interface/definition inconsistency: accepts invalid, reject...
Paul Thomas [Wed, 1 Jun 2016 14:30:00 +0000 (14:30 +0000)]
re PR fortran/71156 (PURE interface/definition inconsistency: accepts invalid, rejects valid)

2016-06-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/71156
* decl.c (copy_prefix): Add checks that the module procedure
declaration prefixes are compliant with the interface. Invert
order of existing elemental and pure checks.
* resolve.c (resolve_fl_procedure): Invert order of elemental
and pure errors.

2016-06-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/71156
* gfortran.dg/submodule_14.f08: Add missing recursive prefix
to the module procedure declaration.
* gfortran.dg/submodule_16.f08: New test.

From-SVN: r236996

8 years agore PR middle-end/71371 (ICE with OpenMP taskloop and addressable iterator)
Jakub Jelinek [Wed, 1 Jun 2016 14:24:02 +0000 (16:24 +0200)]
re PR middle-end/71371 (ICE with OpenMP taskloop and addressable iterator)

PR middle-end/71371
* gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
around creation of the temporary.

* c-c++-common/gomp/pr71371.c: New test.

From-SVN: r236994

8 years agore PR tree-optimization/71366 (ICE on valid code at -O3 on x86_64-linux-gnu: Segmenta...
Richard Biener [Wed, 1 Jun 2016 14:05:22 +0000 (14:05 +0000)]
re PR tree-optimization/71366 (ICE on valid code at -O3 on x86_64-linux-gnu: Segmentation fault)

2016-06-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71366
* tree-ssa-loop-ivcanon.c (edges_to_remove): New global.
(unloop_loops): Move removing edges here ...
(try_unroll_loop_completely): ... from here.
(try_peel_loop): ... and here.
(tree_unroll_loops_completely_1): Track parent loops via
bitmap of header BBs.
(tree_unroll_loops_completely): Adjust for that.

* gcc.dg/torture/pr71366-1.c: New testcase.
* gcc.dg/torture/pr71366-2.c: Likewise.

From-SVN: r236993

8 years agoaltivec.h (vec_slv): New macro.
Kelvin Nilsen [Wed, 1 Jun 2016 14:01:10 +0000 (14:01 +0000)]
altivec.h (vec_slv): New macro.

gcc/ChangeLog:

2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/altivec.h (vec_slv): New macro.
(vec_srv): New macro.
* config/rs6000/altivec.md (UNSPEC_VSLV): New value.
(UNSPEC_VSRV): New value.
(vslv): New insn.
(vsrv): New insn.
* config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
(vsrv): New builtin definition.
* config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
define argument types for new builtin.
(P9V_BUILTIN_VSRV): Macro expansion to define argument types for
new builtin.
* doc/extend.texi: Document the new vec_vslv and vec_srv built-in
functions.

gcc/testsuite/ChangeLog:

2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/vslv-0.c: New test.
* gcc.target/powerpc/vslv-1.c: New test.
* gcc.target/powerpc/vsrv-0.c: New test.
* gcc.target/powerpc/vsrv-1.c: New test.

From-SVN: r236992

8 years agore PR target/67310 ([PATCH] gcc 4.8.4 fails to compile with -march=native on VIA...
Uros Bizjak [Wed, 1 Jun 2016 13:44:37 +0000 (15:44 +0200)]
re PR target/67310 ([PATCH] gcc 4.8.4 fails to compile with -march=native on VIA nano CPU)

PR target/67310
* config/i386/driver-i386.c (host_detect_local_cpu): Correctly
detect processor family for signature_CENTAUR_ebx.
<case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
signature_CENTAUR_ebx.
<case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
<default>: Pass x86-64 for has_longmode.

Co-Authored-By: Jocelyn Mayer <l_indien@magic.fr>
From-SVN: r236991

8 years agonvptx.c (nvptx_assemble_undefined_decl): Reject undefined weak.
Nathan Sidwell [Wed, 1 Jun 2016 13:41:19 +0000 (13:41 +0000)]
nvptx.c (nvptx_assemble_undefined_decl): Reject undefined weak.

* config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Reject
undefined weak.

testsuite/
* c-c++-common/torture/pr57945.c: Add expected PTX error.
* gcc.target/nvptx/weak.c: New.

From-SVN: r236990

8 years agore PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets)
Richard Biener [Wed, 1 Jun 2016 13:08:24 +0000 (13:08 +0000)]
re PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets)

2016-06-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71261
* tree-vect-patterns.c (check_bool_pattern): Gather a hash-set
of stmts successfully put in the bool pattern.  Remove
single-use restriction.
(adjust_bool_pattern_cast): Add cast at the use site via the
pattern def sequence.
(adjust_bool_pattern): Remove recursion, maintain a hash-map
of patterned defs.  Use the pattern def seqence instead of
multiple independent patterns.
(sort_after_uid): New qsort compare function.
(adjust_bool_stmts): New function to process stmts in the bool
pattern in IL order.
(vect_recog_bool_pattern): Adjust.
* tree-if-conv.c (ifcvt_split_def_stmt): Remove.
(ifcvt_walk_pattern_tree): Likewise.
(stmt_is_root_of_bool_pattern): Likewise.
(ifcvt_repair_bool_pattern): Likewise.
(tree_if_conversion): Do not call ifcvt_repair_bool_pattern.

* gcc.dg/torture/vect-bool-1.c: New testcase.

From-SVN: r236989

8 years agoparse.c (case_decl): Move ST_OMP_* to ...
Jakub Jelinek [Wed, 1 Jun 2016 12:21:38 +0000 (14:21 +0200)]
parse.c (case_decl): Move ST_OMP_* to ...

* parse.c (case_decl): Move ST_OMP_* to ...
(case_omp_decl): ... here, new macro.
(verify_st_order): For case_omp_decl, complain about
p->state >= ORDER_EXEC, but don't change p->state otherwise.

* gfortran.dg/gomp/order-1.f90: New test.
* gfortran.dg/gomp/order-2.f90: New test.

From-SVN: r236987

8 years agoloop-unroll.c (decide_unroll_constant_iterations, [...]): Use likely upper bounds.
Jan Hubicka [Wed, 1 Jun 2016 12:01:17 +0000 (14:01 +0200)]
loop-unroll.c (decide_unroll_constant_iterations, [...]): Use likely upper bounds.

* loop-unroll.c (decide_unroll_constant_iterations,
decide_unroll_runtime_iterations, decide_unroll_stupid): Use
likely upper bounds.
* loop-iv.c (find_simple_exit): Dump likely upper bounds.

* gcc.dg/unroll-6.c: Update template.
* gcc.dg/unroll-7.c: New testcase.
* gcc.dg/unroll-8.c: New testcase.

From-SVN: r236986

8 years agoRemove the unused OMP_CLAUSE_DEVICE_RESIDENT
Thomas Schwinge [Wed, 1 Jun 2016 11:55:35 +0000 (13:55 +0200)]
Remove the unused OMP_CLAUSE_DEVICE_RESIDENT

gcc/
* tree-core.h (enum omp_clause_code): Remove
OMP_CLAUSE_DEVICE_RESIDENT.  Adjust all users.

From-SVN: r236985

8 years ago[ARM] Use proper output modifier for DImode register in store exclusive patterns
Kyrylo Tkachov [Wed, 1 Jun 2016 10:44:07 +0000 (10:44 +0000)]
[ARM] Use proper output modifier for DImode register in store exclusive patterns

* config/arm/sync.md (arm_store_exclusive<mode>):
Use 'H' output modifier on operands[2] rather than creating a new
entry in out-of-bounds memory of the operands array.
(arm_store_release_exclusivedi): Likewise.

From-SVN: r236984

8 years ago[ARM] Tie operand 1 to operand 0 in AESMC pattern when fusing AES/AESMC
Kyrylo Tkachov [Wed, 1 Jun 2016 10:37:27 +0000 (10:37 +0000)]
[ARM] Tie operand 1 to operand 0 in AESMC pattern when fusing AES/AESMC

* config/arm/arm.c (arm_fusion_enabled_p): New function.
* config/arm/arm-protos.h (arm_fusion_enabled_p): Declare prototype.
* config/arm/crypto.md (crypto_<crypto_pattern>, CRYPTO_UNARY):
Add "=w,0" alternative.  Enable it when AES/AESMC fusion is enabled.

From-SVN: r236982

8 years agotree-vect-loop.c (vect_determine_vectorization_factor): Also take into account live...
Eric Botcazou [Wed, 1 Jun 2016 10:35:30 +0000 (10:35 +0000)]
tree-vect-loop.c (vect_determine_vectorization_factor): Also take into account live statements for mask producers.

* tree-vect-loop.c (vect_determine_vectorization_factor): Also take
into account live statements for mask producers.

From-SVN: r236981

8 years agore PR tree-optimization/71311 (spec2006 test case 416.gamess fails since r235817)
Richard Biener [Wed, 1 Jun 2016 10:33:35 +0000 (10:33 +0000)]
re PR tree-optimization/71311 (spec2006 test case 416.gamess fails since r235817)

2016-06-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71311
* match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and
restrict to non-INTEGER_CST @0.

From-SVN: r236980

8 years agomatch.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
Richard Biener [Wed, 1 Jun 2016 10:31:30 +0000 (10:31 +0000)]
match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.

2016-06-01  Richard Biener  <rguenther@suse.de>

* match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
(relational patterns): Use :c to avoid pattern duplications.

From-SVN: r236979

8 years agore PR c++/66635 (g++ ICE when compiling constexpr code with comma operator)
Paolo Carlini [Wed, 1 Jun 2016 09:48:05 +0000 (09:48 +0000)]
re PR c++/66635 (g++ ICE when compiling constexpr code with comma operator)

2016-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/66635
* g++.dg/cpp0x/constexpr-ice16.C: New.

From-SVN: r236978

8 years agogenmatch.c (comparison_code_p): New predicate.
Richard Biener [Wed, 1 Jun 2016 09:00:57 +0000 (09:00 +0000)]
genmatch.c (comparison_code_p): New predicate.

2016-06-01  Richard Biener  <rguenther@suse.de>

* genmatch.c (comparison_code_p): New predicate.
(swap_tree_comparison): New function.
(commutate): Add for_vec parameter to append new for entries.
Support commutating relational operators by swapping it alongside
operands.
(lower_commutative): Adjust.
(dt_simplify::gen): Do not pass artificial operators to gen
functions.
(decision_tree::gen): Do not add artificial operators as parameters.
(parser::parse_expr): Verify operator commutativity when :c is
applied.  Allow :C to override this.
* match.pd: Adjust patterns to use :C instead of :c where required.

From-SVN: r236977

8 years agore PR ada/71358 (GNAT.Command_Line.Getopt fails if there are no switches)
Simon Wright [Wed, 1 Jun 2016 07:43:57 +0000 (07:43 +0000)]
re PR ada/71358 (GNAT.Command_Line.Getopt fails if there are no switches)

PR ada/71358
* g-comlin.adb (Display_Section_Help): Do not dereference
Config.Switches if it's null.
(Getopt): Likewise.

From-SVN: r236975

8 years agore PR tree-optimization/71314 (test case gcc.dg/tree-ssa/ssa-thread-14.c fails starti...
Patrick Palka [Wed, 1 Jun 2016 02:37:50 +0000 (02:37 +0000)]
re PR tree-optimization/71314 (test case gcc.dg/tree-ssa/ssa-thread-14.c fails starting with its introduction in r235653)

Fix PR tree-optimization/71314

gcc/testsuite/ChangeLog:

PR tree-optimization/71314
* gcc.dg/tree-ssa/ssa-thread-14.c: Adjust target selector.  Pass
-mbranch-cost=2.

From-SVN: r236974

8 years agore PR tree-optimization/71077 (gcc -lto raises ICE)
Patrick Palka [Wed, 1 Jun 2016 02:36:27 +0000 (02:36 +0000)]
re PR tree-optimization/71077 (gcc -lto raises ICE)

Fix PR tree-optimization/71077

gcc/ChangeLog:

PR tree-optimization/71077
* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): In
the combining step, use boolean_false_node and boolean_true_node
as the designated false/true return values.

gcc/testsuite/ChangeLog:

PR tree-optimization/71077
* gcc.dg/tree-ssa/pr71077.c: New test.

From-SVN: r236973

8 years agoDaily bump.
GCC Administrator [Wed, 1 Jun 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236972

8 years agopredict-lop-exit-1.C: Update template for new predictor name.
Jan Hubicka [Tue, 31 May 2016 23:33:08 +0000 (01:33 +0200)]
predict-lop-exit-1.C: Update template for new predictor name.

* g++.d/predict-lop-exit-1.C: Update template for new predictor name.
* g++.d/predict-lop-exit-2.C: Update template for new predictor name.
* g++.d/predict-lop-exit-2.C: Update template for new predictor name.

* predict.def (PRED_LOOP_EXTRA_EXIT): Define.
* predict.c (predict_iv_comparison): Also check PRED_LOOP_EXTRA_EXIT.
(predict_extra_loop_exits): Use PRED_LOOP_EXTRA_EXIT instead of
PRED_LOOP_EXIT.

From-SVN: r236968

8 years agoinvoke.texi (-frename-registers): Drop -fpeel-loops from list of flags impliying...
Jan Hubicka [Tue, 31 May 2016 23:23:40 +0000 (01:23 +0200)]
invoke.texi (-frename-registers): Drop -fpeel-loops from list of flags impliying the register renaming.

* doc/invoke.texi (-frename-registers): Drop -fpeel-loops from list
of flags impliying the register renaming.
* toplev.c (process_options): Do not imply flag_rename_registers with
loop peeling.

From-SVN: r236966

8 years ago* pt.c (instantiate_decl): Avoid recalculation.
Jason Merrill [Tue, 31 May 2016 19:49:22 +0000 (15:49 -0400)]
* pt.c (instantiate_decl): Avoid recalculation.

From-SVN: r236947

8 years agoPR c++/60095 - partial specialization of variable templates
Jason Merrill [Tue, 31 May 2016 19:49:16 +0000 (15:49 -0400)]
PR c++/60095 - partial specialization of variable templates

PR c++/69515
PR c++/69009
* pt.c (instantiate_template_1): Don't put the partial
specialization in DECL_TI_TEMPLATE.
(partial_specialization_p, impartial_args): Remove.
(regenerate_decl_from_template): Add args parm.
(instantiate_decl): Look up the partial specialization again.

From-SVN: r236946

8 years agoPR c++/71227 - specializing hidden friend
Jason Merrill [Tue, 31 May 2016 19:16:26 +0000 (15:16 -0400)]
PR c++/71227 - specializing hidden friend

* pt.c (check_explicit_specialization): Give better diagnostic about
specializing a hidden friend.

From-SVN: r236941

8 years agore PR ada/71317 (Compiling gnat for rtems fails at s-taprop.adb)
Eric Botcazou [Tue, 31 May 2016 18:59:36 +0000 (18:59 +0000)]
re PR ada/71317 (Compiling gnat for rtems fails at s-taprop.adb)

* s-osinte-kfreebsd-gnu.ads (clock_getres): Define.
(Get_Page_Size): Remove duplicate and return int.

PR ada/71317
* s-osinte-rtems.ads (clock_getres): Define.
(Get_Page_Size): Remove duplicate and return int.

From-SVN: r236938

8 years agore PR c++/71248 (crash on in-class initializer of array of pointer to member)
Paolo Carlini [Tue, 31 May 2016 17:17:29 +0000 (17:17 +0000)]
re PR c++/71248 (crash on in-class initializer of array of pointer to member)

/cp
2016-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71248
* decl.c (check_static_variable_definition): Use DECL_SOURCE_LOCATION
to obtain correct locations; avoid redundant diagnostics on
out-of-class definitions.

/testsuite
2016-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71248
* g++.dg/cpp0x/pr71248.C: New.
* g++.dg/cpp0x/auto7.C: Test column numbers too.
* g++.dg/cpp0x/constexpr-static8.C: Likewise.
* g++.dg/init/new37.C: Likewise.
* g++.dg/template/static1.C: Likewise.
* g++.dg/template/static2.C: Likewise.

From-SVN: r236931

8 years agosh.h (ASM_OUTPUT_SYMBOL_REF): Remove macro and use the default implementation.
Oleg Endo [Tue, 31 May 2016 15:57:15 +0000 (15:57 +0000)]
sh.h (ASM_OUTPUT_SYMBOL_REF): Remove macro and use the default implementation.

gcc/
* config/sh/sh.h (ASM_OUTPUT_SYMBOL_REF): Remove macro and use the
default implementation.

From-SVN: r236930

8 years ago* dwarf2out.c (cur_line_info_table): Add GTY marker.
Nathan Sidwell [Tue, 31 May 2016 15:54:43 +0000 (15:54 +0000)]
* dwarf2out.c (cur_line_info_table): Add GTY marker.

From-SVN: r236929

8 years agoRemove SH5 target regs.
Oleg Endo [Tue, 31 May 2016 15:49:13 +0000 (15:49 +0000)]
Remove SH5 target regs.

gcc/
* config/sh/constraints.md (b): Remove constraint.
* config/sh/predicates.md (arith_reg_operand): Remove TARGET_REGISTER_P.
* config/sh/sh-modes.def (PDI): Remove.
* config/sh/sh.c (sh_target_reg_class,
sh_optimize_target_register_callee_saved): Remove functions.
(sh_option_override): Don't set MASK_SAVE_ALL_TARGET_REGS.
(sh_expand_epilogue): Update comment.
(sh_hard_regno_mode_ok, sh_register_move_cost, calc_live_regs,
sh_secondary_reload): Remove TARGET_REGS related code.
* config/sh/sh.h (FIRST_TARGET_REG, LAST_TARGET_REG,
TARGET_REGISTER_P): Remove macros.
(SH_DBX_REGISTER_NUMBER, REG_ALLOC_ORDER): Remove target regs.
* config/sh/sh.md (PR_MEDIA_REG, T_MEDIA_REG, FR23_REG, TR0_REG,
TR1_REG, TR2_REG): Remove constants.
* config/sh/sh.opt (SAVE_ALL_TARGET_REGS): Remove.

From-SVN: r236928

8 years agoSimplify SH DImode add, sub, neg patterns.
Oleg Endo [Tue, 31 May 2016 15:27:54 +0000 (15:27 +0000)]
Simplify SH DImode add, sub, neg patterns.

* config/sh/sh.md (adddi3, subdi3, negdi2, abs<mode>2): Remove
define_expand patterns.
(adddi3_compact): Rename to adddi3.
(subdi3_compact): Rename to subdi3.
(*negdi2): Rename to negdi2.
(*abs<mode>2): Rename to abs<mode>2.

From-SVN: r236927

8 years agoFix wrong-code issues of RX atomic operations.
Oleg Endo [Tue, 31 May 2016 15:06:25 +0000 (15:06 +0000)]
Fix wrong-code issues of RX atomic operations.

gcc/
* config/rx/rx.md (FETCHOP_NO_MINUS): New code iterator.
(atomic_<fetchop_name>_fetchsi): Extract minus operator into ...
(atomic_sub_fetchsi): ... this new pattern.
(mvtc): Add CC_REG clobber.

From-SVN: r236926

8 years agoScan %\[re\]di instead of %rdi
H.J. Lu [Tue, 31 May 2016 15:00:25 +0000 (15:00 +0000)]
Scan %\[re\]di instead of %rdi

Since x32 may use 32-bit register in address, we should scan %\[re\]di
instead of %rdi.

* gcc.target/i386/avx512vl-vbroadcast-3.c: Scan %\[re\]di
instead of %rdi.
* gcc.target/i386/avx512vl-vcvtps2ph-3.c: Likewise.

From-SVN: r236925

8 years agogimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.
Marek Polacek [Tue, 31 May 2016 14:55:05 +0000 (14:55 +0000)]
gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.

* gimplify.c (gimplify_switch_expr): Also handle GIMPLE_TRY.

* c-c++-common/Wswitch-unreachable-3.c: New test.
* g++.dg/warn/Wswitch-unreachable-1.C: New test.

From-SVN: r236924

8 years ago[AArch64] Use aarch64_fusion_enabled_p to check for insn fusion capabilities
Kyrylo Tkachov [Tue, 31 May 2016 12:35:42 +0000 (12:35 +0000)]
[AArch64] Use aarch64_fusion_enabled_p to check for insn fusion capabilities

* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Use
aarch64_fusion_enabled_p to check for fusion capabilities.

From-SVN: r236921

8 years agore PR tree-optimization/71352 (ICE at -O1 and above on x86_64-linux-gnu: in zero_one_...
Richard Biener [Tue, 31 May 2016 12:18:15 +0000 (12:18 +0000)]
re PR tree-optimization/71352 (ICE at -O1 and above on x86_64-linux-gnu: in zero_one_operation, at tree-ssa-reassoc.c:1251)

2016-05-31  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71352
* tree-ssa-reassoc.c (zero_one_operation): Handle op equal to
minus one and a negate.

* gcc.dg/tree-ssa/reassoc-45.c: New testcase.

From-SVN: r236920

8 years agobuiltins.c (java_builtins): Use popcount* and bswap* builtins to implement bitCount...
Roger Sayle [Tue, 31 May 2016 11:30:56 +0000 (11:30 +0000)]
builtins.c (java_builtins): Use popcount* and bswap* builtins to implement bitCount() and reverseBytes()...

2016-05-31  Roger Sayle  <roger@nextmovesoftware.com>

gcc/java:
* builtins.c (java_builtins): Use popcount* and bswap* builtins to
implement bitCount() and reverseBytes() methods in java.lang.Integer
and friends.
(initialize_builtins): Annotate math builtins with ECF_LEAF.  Call
define_builtin for the new popcount* and bswap* builtins.

libjava:
* testsuite/libjava.lang/BuiltinBitCount.java: New test case.
* testsuite/libjava.lang/BuiltinReverseBytes.java: Likewise.

From-SVN: r236919

8 years agoDon't needlessly clear xmemdup allocated memory.
Alan Modra [Tue, 31 May 2016 11:08:54 +0000 (20:38 +0930)]
Don't needlessly clear xmemdup allocated memory.

* xmemdup.c (xmemdup): Use xmalloc rather than xcalloc.

From-SVN: r236917

8 years ago[AArch64] Remove aarch64_simd_attr_length_move
Kyrylo Tkachov [Tue, 31 May 2016 11:04:41 +0000 (11:04 +0000)]
[AArch64] Remove aarch64_simd_attr_length_move

* config/aarch64/aarch64.c (aarch64_simd_attr_length_move): Delete.
* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_move):
Delete prototype.
* config/aarch64/iterators.md (insn_count): Add descriptive comment.
* config/aarch64/aarch64-simd.md (*aarch64_mov<mode>, VSTRUCT modes):
Remove use of aarch64_simd_attr_length_move, set length attribute
directly.
(*aarch64_be_movoi): Likewise.
(*aarch64_be_movci): Likewise.
(*aarch64_be_movxi): Likewise.

From-SVN: r236916

8 years agoloop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
Jan Hubicka [Tue, 31 May 2016 10:42:59 +0000 (12:42 +0200)]
loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.

* loop-init.c (gate): Do not enale RTL loop unroller with -fpeel-loops.
It no longer does that.
* toplev.c (process_options): Do not enable flag_web with -fpeel-loops.

From-SVN: r236915

8 years ago[PATCH] AARCH64: Remove spurious attribute __unused__ from NEON intrinsic
Wladimir J. van der Laan [Tue, 31 May 2016 10:30:03 +0000 (10:30 +0000)]
[PATCH] AARCH64: Remove spurious attribute __unused__ from NEON intrinsic

gcc/

* config/aarch64/arm_neon.h (vdupb_laneq_s8): Remove spurious
attribute __unused__.

From-SVN: r236914

8 years agoarm-protos.h (arm_arch_thumb1): Declare.
Thomas Preud'homme [Tue, 31 May 2016 10:10:18 +0000 (10:10 +0000)]
arm-protos.h (arm_arch_thumb1): Declare.

2016-05-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-protos.h (arm_arch_thumb1): Declare.
    * config/arm/arm.c (arm_arch_thumb1): Define.
    (arm_option_override): Initialize arm_arch_thumb1.
    * config/arm/arm.h (arm_arch_thumb1): Declare.
    (TARGET_ARM_ARCH_ISA_THUMB): Use arm_arch_thumb to determine if target
    support Thumb-1 ISA.

    gcc/testsuite/
    * gcc.target/arm/armv5_thumb_isa.c: New test.

From-SVN: r236913

8 years agoMake analyze_brprob.py executable.
Martin Liska [Tue, 31 May 2016 08:52:31 +0000 (08:52 +0000)]
Make analyze_brprob.py executable.

From-SVN: r236911

8 years agoAVX-512. Limit constraint for scalar operand in split to AVX-512VL.
Kirill Yukhin [Tue, 31 May 2016 08:05:24 +0000 (08:05 +0000)]
AVX-512. Limit constraint for scalar operand in split to AVX-512VL.

PR target/71346
gcc/
* config/i386/sse.md (define_insn_and_split "*vec_extractv4sf_0"): Use
`Yv' for scalar operand.
testsuite/
* gcc.target/i386/pr71346.c: New test.

From-SVN: r236909

8 years agoHandle 3-arg phi in copy_bb_and_scalar_dependences
Tom de Vries [Tue, 31 May 2016 07:07:26 +0000 (07:07 +0000)]
Handle 3-arg phi in copy_bb_and_scalar_dependences

2016-05-31  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69068
* graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
phis with more than two args.

* gcc.dg/graphite/pr69068.c: New test.

From-SVN: r236907

8 years agoDaily bump.
GCC Administrator [Tue, 31 May 2016 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236906

8 years agoPR c++/71306 - bogus -Wplacement-new with an array element
Martin Sebor [Mon, 30 May 2016 22:56:43 +0000 (22:56 +0000)]
PR c++/71306 - bogus -Wplacement-new with an array element

gcc/cp/ChangeLog:
2016-05-27  Martin Sebor  <msebor@redhat.com>

PR c++/71306
* init.c (warn_placement_new_too_small): Handle placement new arguments
that are elements of arrays more carefully.  Remove a pointless loop.

gcc/testsuite/ChangeLog:
2016-05-27  Martin Sebor  <msebor@redhat.com>

PR c++/71306
* g++.dg/warn/Wplacement-new-size-3.C: New test.

From-SVN: r236902

8 years agore PR c++/71349 (Combined async target clause parsing issues)
Jakub Jelinek [Mon, 30 May 2016 21:36:24 +0000 (23:36 +0200)]
re PR c++/71349 (Combined async target clause parsing issues)

PR c++/71349
* c-parser.c (c_parser_omp_for): Don't disallow nowait clause
when combined with target construct.

* parser.c (cp_parser_omp_for): Don't disallow nowait clause
when combined with target construct.
(cp_parser_omp_parallel): Pass cclauses == NULL as last argument
to cp_parser_omp_all_clauses.

* c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
C_OMP_CLAUSE_SPLIT_TARGET.  Put OMP_CLAUSE_NOWAIT to
C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
instead of C_OMP_CLAUSE_SPLIT_FOR.

* c-c++-common/gomp/clauses-1.c (bar): Add dd argument.  Add
nowait depend(inout: dd[0]) clauses where permitted.

From-SVN: r236900

8 years agoconfig.gcc: Move hard float support for arm*hf*-*-freebsd* into armv6*-*-freebsd...
Andreas Tobler [Mon, 30 May 2016 20:03:57 +0000 (22:03 +0200)]
config.gcc: Move hard float support for arm*hf*-*-freebsd* into armv6*-*-freebsd* for...

2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc: Move hard float support for arm*hf*-*-freebsd* into
    armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
    target.

From-SVN: r236898

8 years agoconfig.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and tune_64.
Jose E. Marchesi [Mon, 30 May 2016 19:33:34 +0000 (21:33 +0200)]
config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and tune_64.

2016-05-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

* config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
tune_64.
* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
support on SPARC.
* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
cpu_32, cpu_64, tune_32 and tune_64.
* config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.

From-SVN: r236897

8 years agore PR c++/71238 (Undeclared function message imprecisely points to error column)
Paolo Carlini [Mon, 30 May 2016 19:18:13 +0000 (19:18 +0000)]
re PR c++/71238 (Undeclared function message imprecisely points to error column)

/cp
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71238
* lex.c (unqualified_name_lookup_error): Take a location too.
(unqualified_fn_lookup_error): Take a cp_expr.
* cp-tree.h (unqualified_name_lookup_error,
unqualified_fn_lookup_error): Adjust declarations.
* semantics.c (perform_koenig_lookup): Adjust
unqualified_fn_lookup_error call, pass the location of
the identifier too as part of a cp_expr.

/testsuite
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71238
* g++.dg/parse/pr71238.C: New.
* g++.dg/concepts/friend1.C: Test column numbers too.
* g++.dg/cpp0x/initlist31.C: Likewise.
* g++.dg/cpp0x/pr51420.C: Likewise.
* g++.dg/cpp0x/udlit-declare-neg.C: Likewise.
* g++.dg/cpp0x/udlit-member-neg.C: Likewise.
* g++.dg/ext/builtin3.C: Likewise.
* g++.dg/lookup/friend12.C: Likewise.
* g++.dg/lookup/friend7.C: Likewise.
* g++.dg/lookup/koenig1.C: Likewise.
* g++.dg/lookup/koenig5.C: Likewise.
* g++.dg/lookup/used-before-declaration.C: Likewise.
* g++.dg/overload/koenig1.C: Likewise.
* g++.dg/template/crash65.C: Likewise.
* g++.dg/template/friend57.C: Likewise.
* g++.dg/warn/Wshadow-5.C: Likewise.
* g++.dg/warn/Wunused-8.C: Likewise.
* g++.old-deja/g++.bugs/900211_01.C: Likewise.
* g++.old-deja/g++.jason/lineno5.C: Likewise.
* g++.old-deja/g++.jason/member.C: Likewise.
* g++.old-deja/g++.jason/report.C: Likewise.
* g++.old-deja/g++.jason/scoping12.C: Likewise.
* g++.old-deja/g++.law/visibility20.C: Likewise.
* g++.old-deja/g++.ns/koenig5.C: Likewise.
* g++.old-deja/g++.other/static5.C: Likewise.
* g++.old-deja/g++.pt/overload2.C: Likewise.

From-SVN: r236896

8 years agosync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
Uros Bizjak [Mon, 30 May 2016 19:06:38 +0000 (21:06 +0200)]
sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".

* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".

From-SVN: r236895

8 years agoDon't cause ICEs when auto profile file is not found with checking
Andi Kleen [Mon, 30 May 2016 18:13:12 +0000 (18:13 +0000)]
Don't cause ICEs when auto profile file is not found with checking

Currently, on a checking enabled compiler when -fauto-profile does
not find the profile feedback file it errors out with assertation
failures. Add proper errors for this case.

gcc/:

2016-05-30  Andi Kleen  <ak@linux.intel.com>

* auto-profile.c (read_profile): Replace asserts with errors
when file does not exist.
* gcov-io.c (gcov_read_words): Dito.

From-SVN: r236894

8 years agotree-cfg.c (print_loop): Print likely upper bounds.
Jan Hubicka [Mon, 30 May 2016 17:59:24 +0000 (19:59 +0200)]
tree-cfg.c (print_loop): Print likely upper bounds.

* tree-cfg.c (print_loop): Print likely upper bounds.

From-SVN: r236893

8 years agoinvoke.texi (-fpeel-loops,-O3): Update documentation.
Jan Hubicka [Mon, 30 May 2016 17:58:19 +0000 (19:58 +0200)]
invoke.texi (-fpeel-loops,-O3): Update documentation.

* doc/invoke.texi (-fpeel-loops,-O3): Update documentation.
* opts.c (default_options): Enable peel loops at -O3.
* tree-ssa-loop-ivcanon.c (peeled_loops): New static var.
(try_peel_loop): Do not re-peel already peeled loops;
use likely upper bounds; fix profile updating.
(pass_complete_unroll::execute): Initialize peeled_loops.

* gcc.dg/tree-ssa/peel1.c: New testcase.
* gcc.dg/tree-ssa/pr61743-1.c: Disable loop peeling.
* gcc.dg/tree-ssa/pr61743-2.c: Disable loop peeling.

From-SVN: r236892

8 years agoAdd profiling support for IVOPTS
Martin Liska [Mon, 30 May 2016 16:04:50 +0000 (18:04 +0200)]
Add profiling support for IVOPTS

* tree-ssa-loop-ivopts.c (get_computation_cost_at): Scale
computed costs by frequency of BB they belong to.
(get_scaled_computation_cost_at): New function.

From-SVN: r236888

8 years agoFix pr69067.c testcase
Tom de Vries [Mon, 30 May 2016 15:50:55 +0000 (15:50 +0000)]
Fix pr69067.c testcase

2016-05-30  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/graphite/pr69067.c (main): Remove superfluous argument in call
to ce.

From-SVN: r236886

8 years agore PR c++/71099 (Misleading diagnostic message with 'virtual' used in out-of-line...
Paolo Carlini [Mon, 30 May 2016 15:10:51 +0000 (15:10 +0000)]
re PR c++/71099 (Misleading diagnostic message with 'virtual' used in out-of-line definitions of class template member functions)

/cp
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71099
* parser.c (cp_parser_function_specifier_opt): Use current_class_type
to improve the diagnostic about wrong uses of 'virtual'.

/testsuite
2016-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71099
* g++.dg/parse/virtual1.C: New.

From-SVN: r236885

8 years agoargs.h (clear_non_sret_int_hardware_registers): Use correct register when clearing...
Uros Bizjak [Mon, 30 May 2016 14:50:44 +0000 (16:50 +0200)]
args.h (clear_non_sret_int_hardware_registers): Use correct register when clearing %edx.

* gcc.target/i386/iamcu/args.h (clear_non_sret_int_hardware_registers):
Use correct register when clearing %edx.

From-SVN: r236883

8 years agomatch.pd: optimize unsigned mul overflow check
Alexander Monakov [Mon, 30 May 2016 14:37:02 +0000 (17:37 +0300)]
match.pd: optimize unsigned mul overflow check

gcc/
2016-05-28  Alexander Monakov  <amonakov@ispras.ru>
            Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/71289
* match.pd (-1 / B < A, A > -1 / B): New transformations.

gcc/testsuite/
2016-05-28  Alexander Monakov  <amonakov@ispras.ru>

PR tree-optimization/71289
* gcc.dg/pr71289.c: New test.

Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r236882

8 years ago* tree-vect-loop.c (vect_transform_loop): Update likely bounds.
Jan Hubicka [Mon, 30 May 2016 14:12:46 +0000 (16:12 +0200)]
* tree-vect-loop.c (vect_transform_loop): Update likely bounds.

From-SVN: r236880

8 years agotree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit for peeled copies...
Jan Hubicka [Mon, 30 May 2016 13:25:02 +0000 (15:25 +0200)]
tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit for peeled copies...

* tree-ssa-loop-ivcanon.c (try_peel_loop): Correctly set wont_exit
for peeled copies; avoid underflow when updating estimates; correctly
scale loop profile.

From-SVN: r236878

8 years agotree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix typo from commit r236875.
Kugan Vivekanandarajah [Mon, 30 May 2016 11:01:06 +0000 (11:01 +0000)]
tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix typo from commit r236875.

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix typo from commit
r236875. Corrected oe3 to oe2 as obvious.

From-SVN: r236877

8 years agore PR middle-end/71269 (segfault while compiling sqlite)
Kugan Vivekanandarajah [Mon, 30 May 2016 10:47:57 +0000 (10:47 +0000)]
re PR middle-end/71269 (segfault while compiling sqlite)

gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71269
PR middle-end/71292
* gcc.dg/tree-ssa/pr71269.c: New test.
* gcc.dg/tree-ssa/pr71292.c: New test.

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71269
PR middle-end/71252
* tree-ssa-reassoc.c (insert_stmt_before_use): Use find_insert_point so
that inserted stmt will not dominate stmts that defines its operand.
(rewrite_expr_tree): Add stmt_to_insert before adding the use stmt.
(rewrite_expr_tree_parallel): Likewise.

From-SVN: r236876

8 years agore PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does...
Kugan Vivekanandarajah [Mon, 30 May 2016 10:45:19 +0000 (10:45 +0000)]
re PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6)

gcc/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71252
* tree-ssa-reassoc.c (swap_ops_for_binary_stmt): Fix swap such that
all fields including stmt_to_insert are swapped.

gcc/testsuite/ChangeLog:

2016-05-30  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/71252
* gcc.dg/tree-ssa/pr71252-2.c: New test.

From-SVN: r236875

8 years agopredict.h (force_edge_cold): Declare.
Jan Hubicka [Mon, 30 May 2016 10:40:33 +0000 (12:40 +0200)]
predict.h (force_edge_cold): Declare.

* predict.h (force_edge_cold): Declare.
* predict.c (force_edge_cold): New function.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Fix profile
updating.
(canonicalize_loop_induction_variables): Fix formating.

* gcc.dg/tree-ssa/cunroll-12.c: New testcase.
* gcc.dg/tree-ssa/cunroll-13.c: New testcase.
* gcc.dg/tree-ssa/cunroll-14.c: New testcase.

From-SVN: r236874

8 years agovisium.c (visium_split_double_add): Minor tweaks.
Eric Botcazou [Mon, 30 May 2016 08:48:17 +0000 (08:48 +0000)]
visium.c (visium_split_double_add): Minor tweaks.

* config/visium/visium.c (visium_split_double_add): Minor tweaks.
(visium_expand_copysign): Use gen_int_mode directly.
(visium_compute_frame_size): Minor tweaks.

From-SVN: r236871

8 years agotree-vect-loop.c (vect_analyze_loop_2): Use likely_max_stmt_executions_int.
Jan Hubicka [Mon, 30 May 2016 08:19:24 +0000 (10:19 +0200)]
tree-vect-loop.c (vect_analyze_loop_2): Use likely_max_stmt_executions_int.

* tree-vect-loop.c (vect_analyze_loop_2): Use
likely_max_stmt_executions_int.

From-SVN: r236870

8 years agoRemove assert in get_def_bb_for_const
Tom de Vries [Mon, 30 May 2016 07:49:42 +0000 (07:49 +0000)]
Remove assert in get_def_bb_for_const

2016-05-30  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69067
* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.

* gcc.dg/graphite/pr69067.c: New test.

From-SVN: r236868

8 years agoDaily bump.
GCC Administrator [Mon, 30 May 2016 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236867

8 years agore PR target/71245 (std::atomic<double> load/store bounces the data to the stack...
Uros Bizjak [Sun, 29 May 2016 20:50:32 +0000 (22:50 +0200)]
re PR target/71245 (std::atomic<double> load/store bounces the data to the stack using fild/fistp)

PR target/71245
* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
New peepholes to remove unneeded fild/fistp pairs.
(define_peephole2 atomic_loaddi_fpu): Ditto.

testsuite/ChangeLog:

PR target/71245
* gcc.target/i386/pr71245-1.c: New test.
* gcc.target/i386/pr71245-2.c: Ditto.

From-SVN: r236863

8 years ago* predict.c (maybe_hot_frequency_p): Avoid division.
Jan Hubicka [Sun, 29 May 2016 17:29:42 +0000 (19:29 +0200)]
* predict.c (maybe_hot_frequency_p): Avoid division.

From-SVN: r236862

8 years agore PR c++/71105 (lambdas with default captures improperly have function pointer conve...
Paolo Carlini [Sun, 29 May 2016 08:29:46 +0000 (08:29 +0000)]
re PR c++/71105 (lambdas with default captures improperly have function pointer conversions)

/cp
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71105
* lambda.c (maybe_add_lambda_conv_op): Early return also when
LAMBDA_EXPR_DEFAULT_CAPTURE_MODE != CPLD_NONE.

/testsuite
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71105
* g++.dg/cpp0x/lambda/lambda-conv11.C: New.
* g++.dg/cpp1y/lambda-conv1.C: Likewise.
* g++.dg/cpp1y/lambda-conv2.C: Likewise.

From-SVN: r236861

8 years agore PR c++/71105 (lambdas with default captures improperly have function pointer conve...
Paolo Carlini [Sun, 29 May 2016 08:05:30 +0000 (08:05 +0000)]
re PR c++/71105 (lambdas with default captures improperly have function pointer conversions)

/cp
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71105
* lambda.c (maybe_add_lambda_conv_op): Early return also when
LAMBDA_EXPR_DEFAULT_CAPTURE_MODE != CPLD_NONE.

/testsuite
2016-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71105
* g++.dg/cpp0x/lambda/lambda-conv11.C: New.
* g++.dg/cpp1y/lambda-conv1.C: Likewise.
* g++.dg/cpp1y/lambda-conv2.C: Likewise.

From-SVN: r236859

8 years agobackwards_compatibility.xml: Adjust lists.debian.org link to https.
Gerald Pfeifer [Sun, 29 May 2016 08:03:35 +0000 (08:03 +0000)]
backwards_compatibility.xml: Adjust lists.debian.org link to https.

* doc/xml/manual/backwards_compatibility.xml: Adjust
lists.debian.org link to https.
* doc/html/manual/backwards.html: Regenerate.

From-SVN: r236858

8 years agoDaily bump.
GCC Administrator [Sun, 29 May 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236857

8 years ago* doc/install.texi: Use https for shop.fsf.org.
Gerald Pfeifer [Sat, 28 May 2016 19:44:13 +0000 (19:44 +0000)]
* doc/install.texi: Use https for shop.fsf.org.

From-SVN: r236853

8 years agotree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use likely_max_stmt_execution...
Jan Hubicka [Sat, 28 May 2016 16:36:29 +0000 (18:36 +0200)]
tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use likely_max_stmt_executions_int.

* tree-ssa-loop-ivopts.c (estimated_stmt_executions_int): Use
likely_max_stmt_executions_int.

From-SVN: r236852

8 years agoprefetch-5.c: Remove xfail.
Jan Hubicka [Sat, 28 May 2016 16:23:33 +0000 (18:23 +0200)]
prefetch-5.c: Remove xfail.

* gcc.dg/tree-ssa/prefetch-5.c: Remove xfail.
* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
likely_max_stmt_executions_int.

From-SVN: r236851

8 years agoUpdate changelogs for revert of c++/69855.
Ville Voutilainen [Sat, 28 May 2016 16:21:05 +0000 (19:21 +0300)]
Update changelogs for revert of c++/69855.

From-SVN: r236850

8 years agoprofile.c (compute_branch_probabilities): Do not report hitrates here.
Jan Hubicka [Sat, 28 May 2016 16:20:06 +0000 (18:20 +0200)]
profile.c (compute_branch_probabilities): Do not report hitrates here.

* profile.c (compute_branch_probabilities): Do not report hitrates
here.
(branch_prob): Report hitrates here.
* predict.c (gimple_predict_edge): Do not assert profile status;
fix formatting issues.

From-SVN: r236849

8 years agopredict.c (edge_predicted_by_p): New function.
Jan Hubicka [Sat, 28 May 2016 14:52:46 +0000 (16:52 +0200)]
predict.c (edge_predicted_by_p): New function.

* predict.c (edge_predicted_by_p): New function.
(predict_paths_for_bb): Do not put multiple predictions of the same type
on one edge.

From-SVN: r236848

8 years agotree-ssa-loop-niter.c (number_of_iterations_exit): Revert accidental commit.
Jan Hubicka [Sat, 28 May 2016 13:22:49 +0000 (15:22 +0200)]
tree-ssa-loop-niter.c (number_of_iterations_exit): Revert accidental commit.

* tree-ssa-loop-niter.c (number_of_iterations_exit): Revert accidental
commit.

From-SVN: r236847

8 years agoAdd dependencies to configure rule
Alan Modra [Sat, 28 May 2016 13:08:47 +0000 (22:38 +0930)]
Add dependencies to configure rule

* Makefile.tpl (configure): Depend on m4 files included.
* Makefile.in: Regenerate.

From-SVN: r236846

8 years agoFix segfault on verify_dominators error path
Alan Modra [Sat, 28 May 2016 09:16:00 +0000 (18:46 +0930)]
Fix segfault on verify_dominators error path

* dominance.c (verify_dominators): Don't segfault on NULL imm_bb.

From-SVN: r236845

8 years agoRevert the attempted fix for c++/69855, it breaks bootstrap.
Ville Voutilainen [Sat, 28 May 2016 08:22:15 +0000 (11:22 +0300)]
Revert the attempted fix for c++/69855, it breaks bootstrap.

From-SVN: r236844

8 years agoira.c bb_loop_depth again
Alan Modra [Sat, 28 May 2016 00:22:56 +0000 (09:52 +0930)]
ira.c bb_loop_depth again

Follow the same practice as other places in ira.c, where
free_dominance_info is called along with loop_optimizer_finalize.  Not
doing so causes an ICE on gcc-5-branch, so avoid that possibility on
trunk.

PR rtl-optimization/71275
* ira.c (ira): Free dominance info.

From-SVN: r236843

8 years agoDaily bump.
GCC Administrator [Sat, 28 May 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r236842

8 years agoAdjust URL in libstdc++ manual to use https
Jonathan Wakely [Fri, 27 May 2016 21:23:42 +0000 (22:23 +0100)]
Adjust URL in libstdc++ manual to use https

* doc/xml/manual/abi.xml: Adjust URL to use https.
* doc/html/manual/*: Regenerate.

From-SVN: r236837

8 years ago* doc/sourcebuild.texi: New address for upstream Go repository.
Gerald Pfeifer [Fri, 27 May 2016 20:25:05 +0000 (20:25 +0000)]
* doc/sourcebuild.texi: New address for upstream Go repository.

From-SVN: r236836

8 years agore PR c++/60385 (confused by earlier errors, bailing out)
Paolo Carlini [Fri, 27 May 2016 19:19:23 +0000 (19:19 +0000)]
re PR c++/60385 (confused by earlier errors, bailing out)

/cp
2016-05-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60385
* name-lookup.c (push_namespace): Return bool, false when pushdecl
fails.
* name-lookup.h (push_namespace): Adjust declaration.
* parser.c (cp_parser_namespace_definition): Check push_namespace
return value.

/testsuite
2016-05-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60385
* g++.dg/parse/namespace13.C: New.

From-SVN: r236835

8 years agoarm.h (TARGET_ARM_V6M): Remove.
Thomas Preud'homme [Fri, 27 May 2016 16:36:42 +0000 (16:36 +0000)]
arm.h (TARGET_ARM_V6M): Remove.

2016-05-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_ARM_V6M): Remove.
    (TARGET_ARM_V7M): Likewise.

From-SVN: r236832

8 years agotree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.
Jeff Law [Fri, 27 May 2016 16:32:38 +0000 (10:32 -0600)]
tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.

* tree-ssa-threadedge.c: Remove include of tree-ssa-threadbackward.h.
(thread_across_edge): Remove calls to find_jump_threads_backwards.
* passes.def: Add jump threading passes before DOM/VRP.
* tree-ssa-threadbackward.c (find_jump_threads_backwards): Change
argument to a basic block from an edge.  Remove tests which are
handled elsewhere.
(pass_data_thread_jumps, class pass_thread_jumps): New.
(pass_thread_jumps::gate, pass_thread_jumps::execute): New.
(make_pass_thread_jumps): Likewise.
* tree-pass.h (make_pass_thread_jumps): Declare.

* gcc.dg/tree-ssa/pr21417.c: Update expected output.
* gcc.dg/tree-ssa/pr66752-3.c: Likewise.
* gcc.dg/tree-ssa/pr68198.c: Likewise.
* gcc.dg/tree-ssa/pr69196-1.c: Likewise.
* gcc.dg/tree-ssa/pr69270-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-12.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-13.c: Likewise.
* gcc.dg/tree-ssa/vrp56.c: Likewise.

From-SVN: r236831

8 years agovisium-protos.h (split_double_move): Rename into...
Eric Botcazou [Fri, 27 May 2016 15:08:50 +0000 (15:08 +0000)]
visium-protos.h (split_double_move): Rename into...

* config/visium/visium-protos.h (split_double_move): Rename into...
(visium_split_double_move): ...this.
(visium_split_double_add): Declare.
* config/visium/visium.c (split_double_move): Rename into...
(visium_split_double_move): ...this.
(visium_split_double_add): New function.
(visium_expand_copysign): Renumber operands for consistency.
* config/visium/visium.md (DImode move splitter): Adjust to renaming.
(DFmode move splitter): Likewise.
(*addi3_insn): Split by means of visium_split_double_add.
(*adddi3_insn_flags): Delete.
(*plus_plus_sltu<subst_arith>): New insn.
(*subdi3_insn): Split by means of visium_split_double_add.
(subdi3_insn_flags): Delete.
(*minus_minus_sltu<subst_arith>): New insn.
(*negdi2_insn): Split by means of visium_split_double_add.
(*negdi2_insn_flags): Delete.

From-SVN: r236827

8 years agore PR c++/69855 (Missing diagnostic for overload that only differs by return type)
Ville Voutilainen [Fri, 27 May 2016 14:59:01 +0000 (17:59 +0300)]
re PR c++/69855 (Missing diagnostic for overload that only differs by return type)

/cp
PR c++/69855
* name-lookup.c (pushdecl_maybe_friend_1): Push local function
decls into the global scope after stripping template bits
and setting DECL_ANTICIPATED.

/testsuite
PR c++/69855
* g++.dg/overload/69855.C: New.
* g++.old-deja/g++.law/missed-error2.C: Adjust.
* g++.old-deja/g++.pt/crash3.C: Likewise.

From-SVN: r236826