Marc Glisse [Mon, 31 Aug 2015 13:58:03 +0000 (15:58 +0200)]
Move some complex simplifications to match.pd
2015-08-31 Marc Glisse <marc.glisse@inria.fr>
gcc/
* match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
(CEXPI): New operator list.
(real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
Converted from ...
* fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
gcc/testsuite/
* gcc.dg/tree-ssa/complex-7.c: New file.
From-SVN: r227343
Tom de Vries [Mon, 31 Aug 2015 13:48:29 +0000 (13:48 +0000)]
Reimplement rewrite_virtuals_into_loop_closed_ssa
2015-08-31 Tom de Vries <tom@codesourcery.com>
* tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
(find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
parameter.
(find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
(rewrite_into_loop_closed_ssa_1): New function, factored out of ...
(rewrite_into_loop_closed_ssa): ... here.
(replace_uses_in_dominated_bbs): Remove function.
(rewrite_virtuals_into_loop_closed_ssa): Reimplement using
rewrite_into_loop_closed_ssa_1.
From-SVN: r227342
Michael Matz [Mon, 31 Aug 2015 13:45:48 +0000 (13:45 +0000)]
cfganal.c (pre_and_rev_post_order_compute_fn): Correctly enter entry and exit blocks for reverse post order.
* cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
enter entry and exit blocks for reverse post order.
From-SVN: r227341
Richard Biener [Mon, 31 Aug 2015 11:48:11 +0000 (11:48 +0000)]
lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant test, do not replace a non-builtin with a builtin.
2015-08-31 Richard Biener <rguenther@suse.de>
lto/
* lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
test, do not replace a non-builtin with a builtin.
* lto.c (compare_tree_sccs_1): Do not merge things we stream
as builtins vs. non-builtins.
From-SVN: r227339
Richard Biener [Mon, 31 Aug 2015 11:47:30 +0000 (11:47 +0000)]
lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
2015-08-31 Richard Biener <rguenther@suse.de>
* lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
(lto_location_cache::current_sysp): Likewise.
(output_block::current_sysp): Likewise.
* lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
(lto_location_cache::apply_location_cache): Properly record
system header locations.
(lto_location_cache::input_location): Input whether a file
is a system header.
* lto-streamer-out.c (lto_output_location): Stream whether a file
is a system header.
From-SVN: r227338
Rainer Orth [Mon, 31 Aug 2015 11:19:42 +0000 (11:19 +0000)]
Avoid strndup in gcc.c (PR bootstrap/67363)
PR bootstrap/67363
* gcc.c (env_manager::xput): Replace strndup by xstrndup.
From-SVN: r227337
Francois-Xavier Coudert [Mon, 31 Aug 2015 10:54:36 +0000 (10:54 +0000)]
re PR fortran/54833 (Don't wrap __builtin_free(a) in if (a != NULL))
PR fortran/54833
* trans.c (gfc_call_free): Don't check if pointer is NULL.
* trans.h (gfc_call_free): Adjust comment.
From-SVN: r227336
Francois-Xavier Coudert [Mon, 31 Aug 2015 10:37:30 +0000 (10:37 +0000)]
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)
PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove.
(LIBGFOR_CHECK_WEAKREF): New test.
* configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of
LIBGFOR_GTHREAD_WEAK.
* config.h.in: Regenerate.
* configure: Regenerate.
* intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of
SUPPORTS_WEAK and GTHREAD_USE_WEAK.
From-SVN: r227335
Tom de Vries [Mon, 31 Aug 2015 09:12:15 +0000 (09:12 +0000)]
Improve function header comments in tree-ssa-loop-manip.c
2015-08-31 Tom de Vries <tom@codesourcery.com>
* tree-ssa-loop-manip.c (find_uses_to_rename_use)
(find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
Improve function header comments.
From-SVN: r227334
Michael Collison [Mon, 31 Aug 2015 03:19:48 +0000 (03:19 +0000)]
Rename [su]sum_widen to widen_[su]sum to reflect correct standard names.
From-SVN: r227333
Ian Lance Taylor [Mon, 31 Aug 2015 01:58:48 +0000 (01:58 +0000)]
compiler: Check for invalid UTF8 in Go comments.
Fixes golang/go#11527.
Reviewed-on: https://go-review.googlesource.com/13905
From-SVN: r227332
Bill Schmidt [Mon, 31 Aug 2015 01:02:47 +0000 (01:02 +0000)]
rs6000.c (swap_web_entry): Enlarge special_handling bitfield.
[gcc]
2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (swap_web_entry): Enlarge
special_handling bitfield.
(special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
(rtx_is_swappable_p): Add handling for vec_select/vec_concat form
that represents a general xxpermdi.
(insn_is_swappable_p): Add handling for vec_concat of two
doublewords, which maps to a specific xxpermdi.
(adjust_xxpermdi): New function.
(adjust_concat): Likewise.
(handle_special_swappables): Call adjust_xxpermdi and
adjust_concat.
(dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
[gcc/testsuite]
2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/swaps-p8-19.c: New test.
From-SVN: r227331
Rich Felker [Mon, 31 Aug 2015 00:18:32 +0000 (00:18 +0000)]
[SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.
* [SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.
From-SVN: r227330
GCC Administrator [Mon, 31 Aug 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227329
GCC Administrator [Sun, 30 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227326
Markus Trippelsdorf [Sat, 29 Aug 2015 18:51:26 +0000 (18:51 +0000)]
Fix c++/67371 (issues with throw in constexpr)
As PR67371 shows gcc currently rejects all throw statements in
constant-expressions, even when they are never executed.
PR c++/67371
* constexpr.c (potential_constant_expression_1): Remove IF_STMT
case. Move label to COND_EXPR case. Remove checking of
SWITCH_STMT_BODY.
From-SVN: r227323
Jerry DeLisle [Sat, 29 Aug 2015 15:52:43 +0000 (15:52 +0000)]
re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)
2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/67367
* gfortran.dg/read_dir.f90: New test. May fail on some platforms.
From-SVN: r227321
Jerry DeLisle [Sat, 29 Aug 2015 15:38:39 +0000 (15:38 +0000)]
re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)
2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/67367
* io/unix.c (buf_read): Check for error condition and if found
return the error code.
From-SVN: r227320
Francois-Xavier Coudert [Sat, 29 Aug 2015 13:17:05 +0000 (13:17 +0000)]
acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
* acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
* configure.ac: Remove checks for strcasestr, execl, close,
getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
tgammal, and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.
From-SVN: r227319
Anatoly Sokolov [Sat, 29 Aug 2015 13:10:43 +0000 (16:10 +0300)]
Remove redundant use of REG_CLASS_NAMES maros
From-SVN: r227318
Francois-Xavier Coudert [Sat, 29 Aug 2015 13:01:54 +0000 (13:01 +0000)]
* io/unix.c (min): Remove unused macro.
From-SVN: r227317
Francois-Xavier Coudert [Sat, 29 Aug 2015 08:03:01 +0000 (08:03 +0000)]
trans.c (gfc_call_malloc, [...]): Simplify code.
* trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
gfc_allocate_using_lib, gfc_allocate_allocatable,
gfc_call_realloc): Simplify code.
* trans-array.c (gfc_trans_allocate_array_storage,
gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
convert gfc_call_free() argument.
* trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
fcncall_realloc_result): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
From-SVN: r227316
Tom de Vries [Sat, 29 Aug 2015 07:07:51 +0000 (07:07 +0000)]
Handle mix/max pointer reductions in parloops
2015-08-29 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/46193
* omp-low.c (omp_reduction_init): Handle pointer type for min or max
clause.
* gcc.dg/autopar/pr46193.c: New test.
* testsuite/libgomp.c/pr46193.c: New test.
From-SVN: r227315
GCC Administrator [Sat, 29 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227314
Francois-Xavier Coudert [Fri, 28 Aug 2015 20:46:43 +0000 (20:46 +0000)]
re PR fortran/53668 (Cray-pointer diagnostic enhancement)
PR fortran/53668
* intrinsic.c (add_functions, add_subroutines): Remove resolution
functions for FREE and MALLOC.
* intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
* iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
* trans-intrinsic.c (conv_intrinsic_free,
gfc_conv_intrinsic_malloc): New functions.
* intrinsics/malloc.c: Adapt comments.
From-SVN: r227311
Nathan Sidwell [Fri, 28 Aug 2015 19:52:28 +0000 (19:52 +0000)]
struct-layout-1_generate.c: Simply use exit code for failure.
* gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c: Simply
use exit code for failure.
From-SVN: r227310
Nathan Sidwell [Fri, 28 Aug 2015 19:04:45 +0000 (19:04 +0000)]
matrix-1.c: Use plain printf.
* gcc/testsuite/gcc.dg/torture/matrix-1.c: Use plain printf.
* gcc/testsuite/gcc.dg/torture/matrix-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/matrix-5.c: Likewise.
* gcc/testsuite/gcc.dg/torture/matrix-6.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-1.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-3.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-4.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-5.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-6.c: Likewise.
From-SVN: r227309
Jeff Law [Fri, 28 Aug 2015 16:23:12 +0000 (10:23 -0600)]
[PATCH][lto/66752] Fix missed FSM jump thread
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
to VISISTED_BBS.
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.
From-SVN: r227307
Alan Lawrence [Fri, 28 Aug 2015 15:04:17 +0000 (15:04 +0000)]
Revert: completely_scalarize arrays as well as records
gcc/:
Revert:
2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.
(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some
code to:
(scalarize_elem): New.
gcc/testsuite/:
Revert:
2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
* gcc.dg/tree-ssa/sra-15.c: New.
From-SVN: r227303
James Greenhalgh [Fri, 28 Aug 2015 14:57:57 +0000 (14:57 +0000)]
[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM/AArch64/SH
* configure.ac: Auto-detect newlib function support unless we
know there are issues when configuring for a host.
* configure: Regenerate.
From-SVN: r227301
Andrew Bennett [Fri, 28 Aug 2015 13:35:01 +0000 (13:35 +0000)]
MIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.
The lo register is not listed in the clobber list in the inline asm statement
for the madd-8.c and msub-8.c testcases. This means that when building for the
n64 ABI GCC is free to use the lo register instead of the stack when
saving/restoring the clobbered registers. Then then means that it decides to
use the msub/madd instruction to perform the "x - y * z" operation rather than
using mul; addu/subu which the test is looking for.
testsuite/
* gcc.target/mips/madd-8.c: Add lo register to clobber list.
* gcc.target/mips/msub-8.c: Ditto.
From-SVN: r227299
David Sherwood [Fri, 28 Aug 2015 10:11:27 +0000 (10:11 +0000)]
MAINTAINERS: Add myself.
2015-08-28 David Sherwood <david.sherwood@arm.com>
* MAINTAINERS: Add myself.
From-SVN: r227297
Jiong Wang [Fri, 28 Aug 2015 08:53:37 +0000 (08:53 +0000)]
[AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE
2015-08-28 Jiong Wang <jiong.wang@arm.com>
* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
(aarch64_symbol_type): Likewise.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Likewise.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_tls_symbol): Likewise.
From-SVN: r227294
Richard Biener [Fri, 28 Aug 2015 07:47:37 +0000 (07:47 +0000)]
cgraphunit.c (symbol_table::compile): Move early debug generation and finish...
2015-08-28 Richard Biener <rguenther@suse.de>
* cgraphunit.c (symbol_table::compile): Move early debug generation
and finish...
(symbol_table::finalize_compilation_unit): ... back here and
add a !seen_error () guard.
From-SVN: r227293
Tim Shen [Fri, 28 Aug 2015 02:35:21 +0000 (02:35 +0000)]
re PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)
PR libstdc++/67362
* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
Always returns ordinary char token if the char isn't
considered a special char.
* testsuite/28_regex/regression.cc: New test file for collecting
regression testcases from, typically, bugzilla.
From-SVN: r227289
GCC Administrator [Fri, 28 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227288
Ian Lance Taylor [Thu, 27 Aug 2015 23:09:37 +0000 (23:09 +0000)]
compiler: Report unused variables initialized to function literals.
Fixes golang/go#12317.
Reviewed-on: https://go-review.googlesource.com/13908
From-SVN: r227285
Ian Lance Taylor [Thu, 27 Aug 2015 22:41:55 +0000 (22:41 +0000)]
compiler: Allow multiple blank label definitions.
Fixes golang/go#12316.
Reviewed-on: https://go-review.googlesource.com/13907
From-SVN: r227284
Bill Schmidt [Thu, 27 Aug 2015 22:13:43 +0000 (22:13 +0000)]
target-supports.exp (check-effective_target_vect_double): Enable for Power targets with VSX hardware available.
2015-08-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* lib/target-supports.exp (check-effective_target_vect_double):
Enable for Power targets with VSX hardware available.
* gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
From-SVN: r227283
Sebastian Pop [Thu, 27 Aug 2015 21:59:06 +0000 (21:59 +0000)]
fix compile without ISL
* toplev.c (process_options): Do not use flag_loop_block,
flag_loop_interchange, and flag_loop_strip_mine. Add check for
flag_loop_optimize_isl.
From-SVN: r227282
Patrick Marlier [Thu, 27 Aug 2015 20:06:46 +0000 (20:06 +0000)]
* MAINTAINERS: Add myself.
From-SVN: r227279
Sebastian Pop [Thu, 27 Aug 2015 19:07:04 +0000 (19:07 +0000)]
remove -floop-* flags
2015-08-27 Sebastian Pop <s.pop@samsung.com>
* Makefile.in (OBJS): Remove graphite-blocking.o and
graphite-interchange.o.
* common.opt (floop-strip-mine, floop-interchange, floop-block):
Alias of floop-nest-optimize.
* doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
Document as alias of -floop-nest-optimize.
* graphite-blocking.c: Remove.
* graphite-interchange.c: Remove.
* graphite-optimize-isl.c: Include dumpfile.h.
(getScheduleForBand): Add dump for tiled loops. Use
PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
* graphite-poly.c (scop_max_loop_depth): Remove.
(print_scattering_function_1): Remove.
(print_scattering_function): Remove.
(print_scattering_functions): Remove.
(debug_scattering_function): Remove.
(debug_scattering_functions): Remove.
(apply_poly_transforms): Remove use of flag_loop_block,
flag_loop_strip_mine, and flag_loop_interchange.
(new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
PBB_ORIGINAL.
(print_pdr_access_layout): Remove.
(print_pdr): Print ISL representation.
(new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
(free_scop): Same.
(openscop_print_pbb_domain): Remove.
(print_pbb): Remove call to print_scattering_function.
(openscop_print_scop_context): Remove.
(print_scop_context): Do not print matrices anymore.
(print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
SCOP_TRANSFORMED_SCHEDULE.
(print_isl_set): Add printing of a new line.
(print_isl_map): Same.
(print_isl_aff): Same.
(print_isl_constraint): Same.
(loop_to_lst): Remove.
(scop_to_lst): Remove.
(lst_indent_to): Remove.
(print_lst): Remove.
(debug_lst): Remove.
(dot_lst_1): Remove.
(dot_lst): Remove.
(reverse_loop_at_level): Remove.
(reverse_loop_for_pbbs): Remove.
* graphite-poly.h (pdr_dim_iter_domain): Remove.
(pdr_nb_params): Remove.
(pdr_alias_set_dim): Remove.
(pdr_subscript_dim): Remove.
(pdr_iterator_dim): Remove.
(pdr_parameter_dim): Remove.
(same_pdr_p): Remove.
(struct poly_scattering): Remove.
(struct poly_bb): Remove _original, _transformed, _saved.
(PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
(PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
(PBB_NB_LOCAL_VARIABLES): Remove.
(PBB_NB_SCATTERING_TRANSFORM): Remove.
(schedule_to_scattering): Remove.
(number_of_write_pdrs): Remove.
(pbb_dim_iter_domain): Remove.
(pbb_nb_params): Remove.
(pbb_nb_scattering_orig): Remove.
(pbb_nb_scattering_transform): Remove.
(pbb_nb_dynamic_scattering_transform): Remove.
(pbb_nb_local_vars): Remove.
(pbb_iterator_dim): Remove.
(pbb_parameter_dim): Remove.
(psco_scattering_dim): Remove.
(psct_scattering_dim): Remove.
(psct_local_var_dim): Remove.
(psco_iterator_dim): Remove.
(psct_iterator_dim): Remove.
(psco_parameter_dim): Remove.
(psct_parameter_dim): Remove.
(psct_dynamic_dim): Remove.
(psct_static_dim): Remove.
(psct_add_local_variable): Remove.
(new_lst_loop): Remove.
(new_lst_stmt): Remove.
(free_lst): Remove.
(copy_lst): Remove.
(lst_add_loop_under_loop): Remove.
(lst_depth): Remove.
(lst_dewey_number): Remove.
(lst_dewey_number_at_depth): Remove.
(lst_pred): Remove.
(lst_succ): Remove.
(lst_find_pbb): Remove.
(find_lst_loop): Remove.
(lst_find_first_pbb): Remove.
(lst_empty_p): Remove.
(lst_find_last_pbb): Remove.
(lst_contains_p): Remove.
(lst_contains_pbb): Remove.
(lst_create_nest): Remove.
(lst_remove_from_sequence): Remove.
(lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
(lst_niter_for_loop): Remove.
(pbb_update_scattering): Remove.
(lst_update_scattering_under): Remove.
(lst_update_scattering): Remove.
(lst_insert_in_sequence): Remove.
(lst_replace): Remove.
(lst_substitute_3): Remove.
(lst_distribute_lst): Remove.
(lst_remove_all_before_including_pbb): Remove.
(lst_remove_all_before_excluding_pbb): Remove.
(struct scop): Remove original_schedule, transformed_schedule, and
saved_schedule.
(SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
(SCOP_SAVED_SCHEDULE): Remove.
(poly_scattering_new): Remove.
(poly_scattering_free): Remove.
(poly_scattering_copy): Remove.
(store_scattering_pbb): Remove.
(store_lst_schedule): Remove.
(restore_lst_schedule): Remove.
(store_scattering): Remove.
(restore_scattering_pbb): Remove.
(restore_scattering): Remove.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
compute the scattering polyhedron dimension from the dimension of
pbb->domain.
(build_scop_scattering): Update call to
build_pbb_scattering_polyhedrons.
(build_poly_scop): Remove call to scop_to_lst.
* graphite.c (graphite_transform_loops): Add call to print_scop.
(gate_graphite_transforms): Remove use of flag_loop_block,
flag_loop_interchange, and flag_loop_strip_mine.
testsuite/
* gcc.dg/graphite/graphite.exp (interchange_files, block_files):
Replaced by opt_files, compile with -floop-nest-optimize.
* g++.dg/graphite/graphite.exp: Same.
* gfortran.dg/graphite/graphite.exp: Same.
* gcc.dg/graphite/block-0.c: Adjust pattern.
* gcc.dg/graphite/block-1.c: Same.
* gcc.dg/graphite/block-3.c: Same.
* gcc.dg/graphite/block-4.c: Same.
* gcc.dg/graphite/block-5.c: Same.
* gcc.dg/graphite/block-6.c: Same.
* gcc.dg/graphite/block-7.c: Same.
* gcc.dg/graphite/block-8.c: Same.
* gcc.dg/graphite/block-pr47654.c: Same.
* gcc.dg/graphite/interchange-0.c: Same.
* gcc.dg/graphite/interchange-1.c: Same.
* gcc.dg/graphite/interchange-10.c: Same.
* gcc.dg/graphite/interchange-11.c: Same.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-13.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-3.c: Same.
* gcc.dg/graphite/interchange-4.c: Same.
* gcc.dg/graphite/interchange-5.c: Same.
* gcc.dg/graphite/interchange-6.c: Same.
* gcc.dg/graphite/interchange-7.c: Same.
* gcc.dg/graphite/interchange-8.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/pr37485.c: Same.
* gcc.dg/graphite/uns-block-1.c: Same.
* gcc.dg/graphite/uns-interchange-12.c: Same.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-9.c: Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.
* gfortran.dg/graphite/interchange-3.f90: Same.
From-SVN: r227277
Ian Lance Taylor [Thu, 27 Aug 2015 19:06:59 +0000 (19:06 +0000)]
compiler: Don't record dependencies of invalid redefinitions.
The gofrontend would crash when trying to find the initialization
order of a variable list where one of the listed variables was an
invalid redefinition of another in a call statement. This patch
fixes initialization from call statements to consider invalid
redefinitions before recording dependency information.
Fixes golang/go#11543.
Reviewed-on: https://go-review.googlesource.com/13895
From-SVN: r227276
Sebastian Pop [Thu, 27 Aug 2015 19:06:56 +0000 (19:06 +0000)]
remove -floop-unroll-and-jam
* common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
* doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
-floop-nest-optimize.
* graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
(generate_luj_sepclass): Remove.
(generate_luj_options): Remove.
(set_options): Remove opt_luj.
(scop_to_isl_ast): Remove opt_luj.
* graphite-optimize-isl.c (getScheduleForBand): Remove check for
flag_loop_unroll_jam.
(getPrevectorMap_full): Remove.
(getScheduleForBandList): Remove map_sepcl.
(getScheduleMap): Same.
(apply_schedule_map_to_scop): Remove sepcl.
(optimize_isl): Same.
* graphite-poly.c (apply_poly_transforms): Remove check for
flag_loop_unroll_jam.
(new_poly_bb): Remove map_sepclass.
* graphite-poly.h (struct poly_bb): Same.
* graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
* params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
(PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
* toplev.c (process_options): Remove flag_loop_unroll_jam.
From-SVN: r227275
Jonathan Wakely [Thu, 27 Aug 2015 19:05:19 +0000 (20:05 +0100)]
re PR libstdc++/67374 (std::cbegin can't call valarray range access functions)
PR libstdc++/67374
* include/bits/range_access.h (valarray, begin, end): Declare.
* testsuite/26_numerics/valarray/range_access.cc: Test const
overloads.
* testsuite/26_numerics/valarray/range_access2.cc: New.
From-SVN: r227274
Uros Bizjak [Thu, 27 Aug 2015 18:29:37 +0000 (20:29 +0200)]
re PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)
PR target/67317
* config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
(addqi3_cc): Ditto.
(UNSPEC_ADD_CARRY): Remove.
(addqi3_cconly_overflow): New expander.
(*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
Adjust for changed add<mode>3_carry.
(*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
(*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
(<plusminus_insn><mode>3_carry): Remove expander.
(*<plusminus_insn><mode>3_carry): Split insn pattern to
add<mode>3_carry and sub<mode>3_carry.
(plusminus_carry_mnemonic): Remove code attribute.
(add<mode>3_carry): Canonicalize insn pattern.
(*addsi3_carry_zext): Ditto.
(sub<mode>3_carry): Ditto.
(*subsi3_carry_zext): Ditto.
(adcx<mode>3): Remove insn pattern.
(addcarry<mode>): New insn pattern.
(subborrow<mode>): Ditto.
* config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
(ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
Rewrite expander to not clobber carry flag chains.
testsuite/ChangeLog:
PR target/67317
* gcc.target/i386/pr67317-1.c: New test.
* gcc.target/i386/pr67317-2.c: Ditto.
* gcc.target/i386/pr67317-3.c: Ditto.
* gcc.target/i386/pr67317-4.c: Ditto.
* gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl.
* gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq.
From-SVN: r227271
Pat Haugen [Thu, 27 Aug 2015 18:20:45 +0000 (18:20 +0000)]
vector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.
* config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
instead of a rotate.
* gcc.target/powerpc/vec-shr.c: New.
From-SVN: r227270
Marek Polacek [Thu, 27 Aug 2015 17:07:35 +0000 (17:07 +0000)]
re PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with header n not in loop tree))
PR middle-end/67005
* tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
an entry into an irreducible region.
* gcc.dg/torture/pr67005.c: New test.
From-SVN: r227268
Francois-Xavier Coudert [Thu, 27 Aug 2015 16:15:45 +0000 (16:15 +0000)]
* configure: Regenerate.
From-SVN: r227266
Alan Lawrence [Thu, 27 Aug 2015 15:40:10 +0000 (15:40 +0000)]
completely_scalarize arrays as well as records
gcc/:
PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.
(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
(scalarize_elem): New.
gcc/testsuite/:
* gcc.dg/tree-ssa/sra-15.c: New.
From-SVN: r227265
Alan Lawrence [Thu, 27 Aug 2015 15:28:39 +0000 (15:28 +0000)]
Refactor completely_scalarize_var
* tree-sra.c (completely_scalarize_var): Rename to...
(create_total_scalarization_access): ... Here. Drop call to
completely_scalarize_record.
(analyze_all_variable_accesses): Replace completely_scalarize_var
with create_total_scalarization_access and completely_scalarize_record.
From-SVN: r227264
Rainer Orth [Thu, 27 Aug 2015 14:26:08 +0000 (14:26 +0000)]
Update copyrights
libvtv:
Update copyrights.
contrib:
* update-copyright.py (GCCCmdLine): Add libvtv.
From-SVN: r227262
Ulrich Weigand [Thu, 27 Aug 2015 14:08:19 +0000 (14:08 +0000)]
configure.ac: Remove [disable-shared] argument to LT_INIT.
* configure.ac: Remove [disable-shared] argument to LT_INIT.
Remove setting PIC_FLAG when building as target library.
* configure: Regenerate.
From-SVN: r227261
Alan Modra [Thu, 27 Aug 2015 13:56:39 +0000 (23:26 +0930)]
[RS6000] Correct constraints for ior<mode>_mask
ior<mode>_mask always splits to rtl matching rotl<mode>3_insert. The
latter requires one of its input operands match the output, so let
reload/lra know the equivalent operand match must also occur for
ior<mode>_mask.
PR target/67356
* config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
for operand 1.
From-SVN: r227260
Richard Biener [Thu, 27 Aug 2015 13:27:02 +0000 (13:27 +0000)]
passes.c (rest_of_decl_compilation): Guard early_global_decl call with !seen_error ().
2015-08-27 Richard Biener <rguenther@suse.de>
* passes.c (rest_of_decl_compilation): Guard early_global_decl
call with !seen_error ().
* cgraphunit.c (symbol_table::finalize_compilation_unit): Move
early debug generation and finish...
(symbol_table::compile): ... here to put it after a !seen_error ()
guard.
From-SVN: r227258
John Marino [Thu, 27 Aug 2015 12:12:41 +0000 (12:12 +0000)]
Provide nearly complete std::locale support for DragonFly
2015-08-27 John Marino <gnugcc@marino.st>
* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
from generic to new DragonFly versions.
* configure: Regenerate.
* config/locale/dragonfly/c_locale.cc: Improve locale support.
* config/locale/dragonfly/ctype_members.cc: Likewise.
* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
* config/locale/dragonfly/c_locale.h: New.
* config/locale/dragonfly/codecvt_members.cc: New.
* config/locale/dragonfly/collate_members.cc: New.
* config/locale/dragonfly/monetary_members.cc: New.
* config/locale/dragonfly/numeric_members.cc: New.
* config/locale/dragonfly/time_members.cc: New.
* config/locale/dragonfly/time_members.h: New.
From-SVN: r227257
Jonathan Wakely [Thu, 27 Aug 2015 12:12:31 +0000 (13:12 +0100)]
* configure: Regenerate.
From-SVN: r227256
Rainer Orth [Thu, 27 Aug 2015 12:00:32 +0000 (12:00 +0000)]
Use __cxa_atexit on Solaris 12+
* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
Solaris 12+.
From-SVN: r227255
Rainer Orth [Thu, 27 Aug 2015 11:26:18 +0000 (11:26 +0000)]
Avoid unstructured procfs on Solaris
* os_dep.c [GC_SOLARIS_THREADS] (GC_dirty_init): Use
/proc/<pid>/pagedata instead of PIOCOPENPD.
From-SVN: r227254
Thomas Preud'homme [Thu, 27 Aug 2015 10:08:54 +0000 (10:08 +0000)]
aarch64.md (*condjump): Handle functions > 1 MiB.
2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
gcc/
* config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
(*cb<optab><mode>1): Likewise.
(*tb<optab><mode>1): Likewise.
(*cb<optab><mode>1): Likewise.
* config/aarch64/iterators.md (inv_cb): New code attribute.
(inv_tb): Likewise.
* config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
* config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
gcc/testsuite/
* gcc.target/aarch64/long_branch_1.c: New test.
From-SVN: r227253
Richard Biener [Thu, 27 Aug 2015 08:02:57 +0000 (08:02 +0000)]
ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
2015-08-27 Richard Biener <rguenther@suse.de>
* ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
From-SVN: r227252
Dominik Vogt [Thu, 27 Aug 2015 07:38:36 +0000 (07:38 +0000)]
S/390: Add emit_barrier() after trap
gcc/ChangeLog
* config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
trap to fix ICE.
gcc/testsuite/ChangeLog
* gcc.target/s390/
20150826-1.c: New test.
From-SVN: r227251
Ian Lance Taylor [Thu, 27 Aug 2015 00:44:11 +0000 (00:44 +0000)]
compiler: Don't crash on invalid builtin calls.
Fixes golang/go#11544.
Reviewed-on: https://go-review.googlesource.com/13893
From-SVN: r227245
GCC Administrator [Thu, 27 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227244
Edward Smith-Rowland [Wed, 26 Aug 2015 21:27:09 +0000 (21:27 +0000)]
Ensure std::generate_canonical doesn't return 1.
2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/64351
PR libstdc++/63176
* include/bits/random.tcc (generate_canonical): Loop until we get a
result less than one.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
64351.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227233
Jonathan Wakely [Wed, 26 Aug 2015 21:27:00 +0000 (22:27 +0100)]
Only set std::enable_shared_from_this member once.
* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
nullptr.
* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
if ownership is already shared with a shared_ptr object.
(__enable_shared_from_this_helper): Use nullptr.
* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
* testsuite/20_util/enable_shared_from_this/requirements/
explicit_instantiation.cc: Instantiate with const and incomplete types.
From-SVN: r227232
Michael Meissner [Wed, 26 Aug 2015 21:23:04 +0000 (21:23 +0000)]
Delete extra blank line
From-SVN: r227231
Michael Meissner [Wed, 26 Aug 2015 21:22:23 +0000 (21:22 +0000)]
rs6000-protos.h (rs6000_expand_float128_convert): Add declaration.
2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
Add declaration.
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
comment.
(rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
floating point in VSX registers.
(rs6000_output_move_128bit): Always print out the set insn if we
can't generate an appropriate 128-bit move.
(rs6000_generate_compare): Add support for IEEE 128-bit floating
point in VSX registers comparisons.
(rs6000_expand_float128_convert): Likewise.
* config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
predicate for only GPR hard registers.
* config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
modes to iterators. Add new iterators for moving 128-bit values in
scalar FPR registers and VSX registers.
(FMOVE128): Likewise.
(FMOVE128_FPR): Likewise.
(FMOVE128_GPR): Likewise.
(FMOVE128_VSX): Likewise.
(FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
in VSX registers.
(IFKF): Likewise.
(IBM128): Likewise.
(TFIFKF): Likewise.
(RELOAD): Add IEEE 128-bit floating point modes.
(signbittf2): Convert TF insns to add support for new IEEE 128-bit
floating point in VSX registers modes.
(signbit<mode>2, IBM128 iterator): Likewise.
(mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
(negtf2): Likewise.
(neg<mode>2, TFIFKF iterator): Likewise.
(negtf2_internal): Likewise.
(abstf2): Likewise.
(abs<mode>2, TFIFKF iterator): Likewise.
(ieee_128bit_negative_zero): New IEEE 128-bit floating point in
VSX insn support for negate, absolute value, and negative absolute
value.
(ieee_128bit_vsx_neg<mode>2): Likewise.
(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
(ieee_128bit_vsx_abs<mode>2): Likewise.
(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2): Likewise.
(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
(FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
floating point in VSX registers.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.
(unpackv1ti): Likewise.
(unpack<mode>, FMOVE128_VSX iterator): Likewise.
(packv1ti): Likewise.
(pack<mode>, FMOVE128_VSX iterator): Likewise.
(extenddftf2): Add support for IEEE 128-bit floating point in VSX
registers.
(extenddftf2_internal): Likewise.
(trunctfdf2): Likewise.
(trunctfdf2_internal2): Likewise.
(fix_trunc_helper): Likewise.
(fix_trunctfdi2"): Likewise.
(floatditf2): Likewise.
(floatuns<mode>tf2): Likewise.
(extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
(trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
(fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
(fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
(float<SDI:mode><IFKF:mode>2): Likewise.
(floatuns<SDI:mode><IFKF:mode>2): Likewise.
From-SVN: r227230
Jonathan Wakely [Wed, 26 Aug 2015 20:58:14 +0000 (21:58 +0100)]
try_emplace and insert_or_assign for Debug Mode.
* include/debug/map.h (map::try_emplace, map::insert_or_assign):
Define.
* include/debug/unordered_map (unordered_map::try_emplace,
unordered_map::insert_or_assign): Define.
From-SVN: r227229
Jonathan Wakely [Wed, 26 Aug 2015 20:22:58 +0000 (21:22 +0100)]
libstdc++/66902 Make _S_debug_messages static.
PR libstdc++/66902
* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
From-SVN: r227228
Ian Lance Taylor [Wed, 26 Aug 2015 19:18:51 +0000 (19:18 +0000)]
compiler: Don't crash on invalid arithmetic ops.
The gofrontend would crash after hitting an unreachable state while
trying to determine the type of an arithmetic expression involving
non-numeric values. Instead of crashing, it should fail gracefully
if the relevant error is already reported.
Fixes golang/go#11537.
Reviewed-on: https://go-review.googlesource.com/13793
From-SVN: r227227
Renlin Li [Wed, 26 Aug 2015 17:37:42 +0000 (17:37 +0000)]
[PATCH][AARCH64]Add backend aarch64_bfi pattern.
2015-08-26 Renlin Li <renlin.li@arm.com>
gcc/
* config/aarch64/aarch64.md (aarch64_bfi): New pattern.
gcc/testsuite/
* gcc.target/aarch64/combine_bfi_1.c: New.
From-SVN: r227226
Jiong Wang [Wed, 26 Aug 2015 13:38:40 +0000 (13:38 +0000)]
[AArch64][TLSIE][2/2] Implement TLS IE for tiny model
2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
(tlsie_tiny_<mode>): New define_insn.
(tlsie_tiny_sidi): Likewise.
* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
SYMBOL_TINY_TLSIE.
(aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
SYMBOL_TINY_TLSIE.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(arch64_classify_tls_symbol): Likewise.
gcc/testsuite/
* gcc.target/aarch64/tlsie_tiny_1.c: New testcase.
From-SVN: r227220
Matthew Wahab [Wed, 26 Aug 2015 13:33:54 +0000 (13:33 +0000)]
arm-arches.def: Replace single value flags with an initializer built from ARM_FSET_MAKE_CPU1.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-arches.def: Replace single value flags with
an initializer built from ARM_FSET_MAKE_CPU1.
* config/arm/arm-cores.def: Likewise.
* config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
derivation from the ARM_CORE macro definition, use the given value
instead.
(all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
ARM_ARCH macro definition, use the given value instead.
From-SVN: r227219
Matthew Wahab [Wed, 26 Aug 2015 13:27:03 +0000 (13:27 +0000)]
arm-builtins.c (def_mbuiltin): Test all flags in a feature set.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
feature set.
(struct builtin_description): Replace field mask with field
features.
(IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
(IWMMXT2_BUILTIN): Likewise.
(IWMMXT2_BUILTIN2): Likewise.
(FP_BUILTIN): Likewise.
(CRC32_BUILTIN): Likewise.
(CRYPTO_BUILTIN): Likewise.
(iwmmx_mbuiltin): Likewise.
(iwmmx2_mbuiltin): Likewise.
(arm_init_iwmmxt_builtins): Likewise. Also, update for change to
struct builtin_description.
From-SVN: r227218
Matthew Wahab [Wed, 26 Aug 2015 13:20:18 +0000 (13:20 +0000)]
arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
(struct builtin_description): Change type of mask to unsigned
long.
* config/arm/arm-protos.h (insn_flags): Declare as type
arm_feature_set.
(tune_flags): Likewise.
* config/arm/arm.c (feature_count): New.
(insn_flags): Define as type arm_feature_set.
(tune_flags): Likewise.
(struct processors): Define field flags as type arm_feature_set.
(all_cores): Update for change to struct processors.
(all_architectures): Likewise.
(arm_option_check_internal): Use arm_feature_set and ARM_FSET
macros.
(arm_option_override_internal): Likewise.
(arm_option_override): Likewise.
From-SVN: r227217
Jiong Wang [Wed, 26 Aug 2015 13:16:19 +0000 (13:16 +0000)]
[AArch64][TLSIE][1/2] Rename test source file for reuse
2015-08-26 Jiong Wang <jiong.wang@arm.com>
gcc/testsuite/
* gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x
* gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name.
* gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise.
* gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise.
From-SVN: r227216
Jiong Wang [Wed, 26 Aug 2015 13:09:35 +0000 (13:09 +0000)]
[AArch64][TLSLE][3/3] Implement local executable mode for all memory model
2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
tls size for tiny, small, large memory model.
(aarch64_load_symref_appropriately): Support new symbol types.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_tls_symbol): Likewise.
* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
(aarch64_symbol_type): Likewise.
* config/aarch64/aarch64.md (tlsle): Deleted.
(tlsle12_<mode>): New define_insn.
(tlsle24_<mode>): Likewise.
(tlsle32_<mode>): Likewise.
(tlsle48_<mode>): Likewise.
* doc/sourcebuild.texi (AArch64-specific attributes): Document
"aarch64_tlsle32".
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
New test directive.
* gcc.target/aarch64/tlsle_1.x: New test source.
* gcc.target/aarch64/tlsle12_1.c: New testcase.
* gcc.target/aarch64/tlsle24_1.c: Likewise.
* gcc.target/aarch64/tlsle32_1.c: Likewise.
From-SVN: r227215
Matthew Wahab [Wed, 26 Aug 2015 13:04:34 +0000 (13:04 +0000)]
arm-protos.h (FL_NONE): New.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-protos.h (FL_NONE): New.
(FL_ANY): New.
(arm_feature_set): New.
(ARM_FSET_MAKE): New.
(ARM_FSET_MAKE_CPU1): New.
(ARM_FSET_MAKE_CPU2): New.
(ARM_FSET_CPU1): New.
(ARM_FSET_CPU2): New.
(ARM_FSET_EMPTY): New.
(ARM_FSET_ANY): New.
(ARM_FSET_HAS_CPU1): New.
(ARM_FSET_HAS_CPU2): New.
(ARM_FSET_HAS_CPU): New.
(ARM_FSET_ADD_CPU1): New.
(ARM_FSET_ADD_CPU2): New.
(ARM_FSET_DEL_CPU1): New.
(ARM_FSET_DEL_CPU2): New.
(ARM_FSET_UNION): New.
(ARM_FSET_INTER): New.
(ARM_FSET_XOR): New.
(ARM_FSET_EXCLUDE): New.
(AFM_FSET_IS_EMPTY): New.
(ARM_FSET_CPU_SUBSET): New.
From-SVN: r227214
Jiong Wang [Wed, 26 Aug 2015 13:01:56 +0000 (13:01 +0000)]
[AArch64][TLSLE][2/3] Rename SYMBOL_TLSLE to SYMBOL_TLSLE24
2015-08-26 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
SYMBOL_TLSLE to SYMBOL_TLSLE24.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Likewise.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_symbol): Likewise.
From-SVN: r227213
Jiong Wang [Wed, 26 Aug 2015 12:58:52 +0000 (12:58 +0000)]
[AArch64][TLSLE][1/3] Add the option "-mtls-size"
2015-08-26 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.opt (mtls-size): New entry.
* config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
(aarch64_override_options_internal): Call initialize_aarch64_tls_size.
* doc/invoke.texi (AArch64 Options): Document -mtls-size.
From-SVN: r227212
Matthew Wahab [Wed, 26 Aug 2015 12:55:15 +0000 (12:55 +0000)]
arm-cores.def: Add FL_FOR_ARCH flag for each ARM_CORE entry.
2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
* gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
ARM_CORE entry. Fix some white-space.
* gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from
ARM_CORE definition.
From-SVN: r227211
Francois-Xavier Coudert [Wed, 26 Aug 2015 12:37:42 +0000 (12:37 +0000)]
re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)
PR fortran/29600
* Makefile.am: Add generated/shape_i{1,2}.c
* Makefile.in: Regenerate.
* generated/shape_i1.c: New generated file.
* generated/shape_i2.c: New generated file.
* generated/shape_i4.c: Regenerate.
* generated/shape_i8.c: Regenerate.
* generated/shape_i16.c: Regenerate.
* gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}.
* m4/shape.m4: Fix parameter type.
* gfortran.dg/shape_8.f90: New test.
From-SVN: r227210
Francois-Xavier Coudert [Wed, 26 Aug 2015 06:34:05 +0000 (06:34 +0000)]
libgfortran.h (show_variables): Remove prototype.
* libgfortran.h (show_variables): Remove prototype.
* runtime/environ.c (print_spaces, var_source, show_integer,
show_boolean, show_sep, show_string): Remove functions.
* runtime/main.c (init): Remove dead code.
From-SVN: r227208
Naveen H.S [Wed, 26 Aug 2015 03:39:17 +0000 (03:39 +0000)]
fold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd.
2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* fold-const.c (fold_binary_loc) : Move Optimize
root(x)*root(y) as root(x*y) to match.pd.
Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
Move Optimize x/expN(y) into x*expN(-y) to match.pd.
* match.pd (mult (root:s @0) (root:s @1)): New simplifier.
(mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
(mult (exps:s @0) (exps:s @1)) : New simplifier.
(rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
(rdiv @0 (exps:s @1)) : New simplifier.
From-SVN: r227207
GCC Administrator [Wed, 26 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r227206
Hans-Peter Nilsson [Tue, 25 Aug 2015 23:32:06 +0000 (23:32 +0000)]
configure.ac: Only compile with -fPIC if the target supports it.
* configure.ac: Only compile with -fPIC if the target
supports it.
* configure: Regenerate.
From-SVN: r227203
Ian Lance Taylor [Tue, 25 Aug 2015 23:05:15 +0000 (23:05 +0000)]
compiler: Disallow use of unary ^ on booleans.
Fixes golang/go#11529.
Reviewed-on: https://go-review.googlesource.com/13790
From-SVN: r227201
Joseph Myers [Tue, 25 Aug 2015 21:20:49 +0000 (22:20 +0100)]
Fix build for targets not defining EXTRA_SPECS.
* gcc.c (driver::finalize): Only assign to extra_specs if
[EXTRA_SPECS].
From-SVN: r227194
Ian Lance Taylor [Tue, 25 Aug 2015 21:17:47 +0000 (21:17 +0000)]
compiler: Accept numeric literals with leading zeroes.
When a numeric literal with leading zeroes was seen in the parser, it
would only be accepted if it were a valid hex or octal literal. Any
invalid numeric literal would be split up into multiple tokens: the
valid hex/octal literal followed by the rest of the characters.
Instead, when scanning a numeric literal with leading zeroes, always
accept the number and give an appropriate error if the accepted number
does not fit in the expected base.
Fixes golang/go#11532, golang/go#11533.
Reviewed-on: https://go-review.googlesource.com/13791
From-SVN: r227193
Ian Lance Taylor [Tue, 25 Aug 2015 20:31:51 +0000 (20:31 +0000)]
compiler: Allow string slices with start index == length.
Avoid an off-by-one error when checking the start index of a string
slice by allowing the start index to be the string length instead
of the string length - 1.
Fixes golang/go#11522.
Reviewed-on: https://go-review.googlesource.com/13030
From-SVN: r227191
Marek Polacek [Tue, 25 Aug 2015 20:28:59 +0000 (20:28 +0000)]
re PR middle-end/67330 (ICE handling weak attributes)
PR middle-end/67330
* varasm.c (declare_weak): Return after giving an error.
* c-common.c (handle_weak_attribute): Don't check whether the
visibility can be changed here.
* gcc.dg/weak/weak-18.c: New test.
From-SVN: r227190
François Dumont [Tue, 25 Aug 2015 20:27:03 +0000 (20:27 +0000)]
re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)
2015-08-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/60519
* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
New enum entry.
* include/debug/functions.h (_Irreflexive_checker): New.
(__is_irreflexive, __is_irreflexive_pred): New.
* include/debug/macros.h
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
macros.
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
macros limited to post-C++11 mode.
* include/debug/debug.h
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
New macros, use latter.
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
Likewise.
* include/bits/stl_algo.h
(partial_sort_copy): Add irreflexive debug check.
(partial_sort_copy): Likewise.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
(inplace_merge): Likewise.
(includes): Likewise.
(next_permutation): Likewise.
(prev_permutation): Likewise.
(is_sorted_until): Likewise.
(minmax_element): Likewise.
(partial_sort): Likewise.
(nth_element): Likewise.
(sort): Likewise.
(merge): Likewise.
(stable_sort): Likewise.
(set_union): Likewise.
(set_intersection): Likewise.
(set_difference): Likewise.
(set_symmetric_difference): Likewise.
(min_element): Likewise.
(max_element): Likewise.
* include/bits/stl_algobase.h
(lower_bound): Likewise.
(lexicographical_compare): Likewise.
* include/bits/stl_heap.h
(push_heap): Likewise.
(pop_heap): Likewise.
(make_heap): Likewise.
(sort_heap): Likewise.
(is_heap_until): Likewise.
* testsuite/25_algorithms/lexicographical_compare/debug/
irreflexive_neg.cc: New.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
New.
From-SVN: r227189
David Malcolm [Tue, 25 Aug 2015 20:25:05 +0000 (20:25 +0000)]
Support embedding the driver in-process within libgccjit
gcc/ChangeLog:
* gcc-main.c (main): Add params to driver ctor.
* gcc.c (class env_manager): New.
(env): New global.
(env_manager::init): New.
(env_manager::get): New.
(env_manager::xput): New.
(env_manager::restore): New.
Poison getenv and putenv.
(DEFAULT_TARGET_SYSTEM_ROOT): New.
(target_system_root): Update initialization to use
DEFAULT_TARGET_SYSTEM_ROOT.
(struct spec_list): Add field "default_ptr".
(INIT_STATIC_SPEC): Initialize new field "default_ptr".
(init_spec): Likewise.
(set_spec): Clear field "default_ptr".
(read_specs): Free "spec" and "buffer".
(xputenv): Reimplement in terms of env_manager.
(process_command): Replace ::getenv calls with calls to the
env_manager singleton.
(process_brace_body): Free string in three places.
(driver::driver): New.
(driver::~driver): New.
(used_arg): Convert from a function to...
(class used_arg_t): ...this class, and...
(used_arg): ...this new global instance.
(used_arg_t::finalize): New function.
(getenv_spec_function): Add "const" to local "value". Replace
::getenv call with call to the env_manager singleton.
(path_prefix_reset): New function.
(driver::finalize): New function.
* gcc.h (driver::driver): New.
(driver::~driver): New.
(driver::finalize): New.
gcc/jit/ChangeLog:
* docs/cp/topics/contexts.rst
(gccjit::context::set_bool_use_external_driver): New.
* docs/internals/test-hello-world.exe.log.txt: Update.
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_5): New.
* docs/topics/contexts.rst
(gcc_jit_context_set_bool_use_external_driver): New.
* jit-common.h (enum inner_bool_option): Add
INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
* jit-playback.c (gcc_driver_name): New global.
(gcc:jit::playback::context::invoke_driver): Split out second
half into...
(gcc::jit::playback::context::invoke_embedded_driver): ...this new
function, and...
(gcc::jit::playback::context::invoke_external_driver): ...this new
function.
* jit-playback.h
(gcc::jit::playback::context::get_inner_bool_option): New.
(gcc::jit::playback::context::invoke_embedded_driver): New.
(gcc::jit::playback::context::invoke_external_driver): New.
* jit-recording.c (inner_bool_option_reproducer_strings):
Add entry for INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
* libgccjit++.h
(gccjit::context::set_bool_use_external_driver): New.
* libgccjit.c (gcc_jit_context_set_bool_use_external_driver): New.
* libgccjit.h (gcc_jit_context_set_bool_use_external_driver): New.
(LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver):
New.
* libgccjit.map (LIBGCCJIT_ABI_5): New.
* notes.txt: Show invocation of embedded copy of driver.
* docs/internals/test-hello-world.exe.log.txt: Update
gcc/testsuite/ChangeLog:
* jit.dg/test-error-pr63969-missing-driver.c: Add call to
gcc_jit_context_set_bool_use_external_driver.
From-SVN: r227188
François Dumont [Tue, 25 Aug 2015 20:22:47 +0000 (20:22 +0000)]
Revert my change to commit with PR reference again.
From-SVN: r227187
Nathan Sidwell [Tue, 25 Aug 2015 20:06:13 +0000 (20:06 +0000)]
* gcc.c-torture/execute/builtins/
20010124-1.x: New.
From-SVN: r227186
Nathan Sidwell [Tue, 25 Aug 2015 19:43:02 +0000 (19:43 +0000)]
optabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have one.
* optabs.c (emit_indirect_jump): Don't try an emit a jump if the
target doesn't have one.
From-SVN: r227185
Ian Lance Taylor [Tue, 25 Aug 2015 19:42:26 +0000 (19:42 +0000)]
compiler: Don't crash on erroneous array types.
Fixes golang/go#11546.
Reviewed-on: https://go-review.googlesource.com/13795
From-SVN: r227184
Segher Boessenkool [Tue, 25 Aug 2015 19:35:15 +0000 (21:35 +0200)]
rs6000: Fix PR67346
"*ior<mode>_mask" is a define_insn_and_split, so it shouldn't use
can_create_pseudo in its instruction condition, because IRA can then
create such an instruction, and the condition becomes false before
the insn is split. Use a scratch instead.
2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
PR target/67346
* config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
From-SVN: r227183
Segher Boessenkool [Tue, 25 Aug 2015 19:32:28 +0000 (21:32 +0200)]
rs6000: Fix PR67344
The "*and<mode>3_imm_dot_shifted" pattern is a define_insn_and_split,
like most "dot" patterns: if its output is not assigned cr0 but some
other cr reg, it splits to a non-dot insn and a compare.
Unfortunately that non-dot insn will clobber cr0 as well. We could
add another clobber (with "=X,x"), but then that second alternative
is never useful; instead, just remove that second alternative.
2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
PR target/67344
* config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
a define_insn, remove second alternative.
From-SVN: r227182