gcc.git
8 years agotrans.c (gfc_call_malloc, [...]): Simplify code.
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

8 years agoHandle mix/max pointer reductions in parloops
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

8 years agoDaily bump.
GCC Administrator [Sat, 29 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227314

8 years agore PR fortran/53668 (Cray-pointer diagnostic enhancement)
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

8 years agostruct-layout-1_generate.c: Simply use exit code for failure.
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

8 years agomatrix-1.c: Use plain printf.
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

8 years ago[PATCH][lto/66752] Fix missed FSM jump thread
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

8 years agoRevert: completely_scalarize arrays as well as records
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

8 years ago[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM...
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

8 years agoMIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.
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

8 years agoMAINTAINERS: Add myself.
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

8 years ago[AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE
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

8 years agocgraphunit.c (symbol_table::compile): Move early debug generation and finish...
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

8 years agore PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)
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

8 years agoDaily bump.
GCC Administrator [Fri, 28 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227288

8 years agocompiler: Report unused variables initialized to function literals.
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

8 years agocompiler: Allow multiple blank label definitions.
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

8 years agotarget-supports.exp (check-effective_target_vect_double): Enable for Power targets...
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

8 years agofix compile without ISL
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

8 years ago* MAINTAINERS: Add myself.
Patrick Marlier [Thu, 27 Aug 2015 20:06:46 +0000 (20:06 +0000)]
* MAINTAINERS:  Add myself.

From-SVN: r227279

8 years agoremove -floop-* flags
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

8 years agocompiler: Don't record dependencies of invalid redefinitions.
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

8 years agoremove -floop-unroll-and-jam
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

8 years agore PR libstdc++/67374 (std::cbegin can't call valarray range access functions)
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

8 years agore PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)
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

8 years agovector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.
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

8 years agore PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with...
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

8 years ago* configure: Regenerate.
Francois-Xavier Coudert [Thu, 27 Aug 2015 16:15:45 +0000 (16:15 +0000)]
* configure: Regenerate.

From-SVN: r227266

8 years agocompletely_scalarize arrays as well as records
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

8 years agoRefactor completely_scalarize_var
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

8 years agoUpdate copyrights
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

8 years agoconfigure.ac: Remove [disable-shared] argument to LT_INIT.
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

8 years ago[RS6000] Correct constraints for ior<mode>_mask
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

8 years agopasses.c (rest_of_decl_compilation): Guard early_global_decl call with !seen_error ().
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

8 years agoProvide nearly complete std::locale support for DragonFly
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

8 years ago* configure: Regenerate.
Jonathan Wakely [Thu, 27 Aug 2015 12:12:31 +0000 (13:12 +0100)]
* configure: Regenerate.

From-SVN: r227256

8 years agoUse __cxa_atexit on Solaris 12+
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

8 years agoAvoid unstructured procfs on Solaris
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

8 years agoaarch64.md (*condjump): Handle functions > 1 MiB.
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

8 years agoipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
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

8 years agoS/390: Add emit_barrier() after trap
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

8 years agocompiler: Don't crash on invalid builtin calls.
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

8 years agoDaily bump.
GCC Administrator [Thu, 27 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227244

8 years agoEnsure std::generate_canonical doesn't return 1.
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

8 years agoOnly set std::enable_shared_from_this member once.
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

8 years agoDelete extra blank line
Michael Meissner [Wed, 26 Aug 2015 21:23:04 +0000 (21:23 +0000)]
Delete extra blank line

From-SVN: r227231

8 years agors6000-protos.h (rs6000_expand_float128_convert): Add declaration.
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

8 years agotry_emplace and insert_or_assign for Debug Mode.
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

8 years agolibstdc++/66902 Make _S_debug_messages static.
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

8 years agocompiler: Don't crash on invalid arithmetic ops.
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

8 years ago[PATCH][AARCH64]Add backend aarch64_bfi pattern.
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

8 years ago[AArch64][TLSIE][2/2] Implement TLS IE for tiny model
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

8 years agoarm-arches.def: Replace single value flags with an initializer built from ARM_FSET_MA...
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

8 years agoarm-builtins.c (def_mbuiltin): Test all flags in a feature set.
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

8 years agoarm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
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

8 years ago[AArch64][TLSIE][1/2] Rename test source file for reuse
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

8 years ago[AArch64][TLSLE][3/3] Implement local executable mode for all memory model
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

8 years agoarm-protos.h (FL_NONE): New.
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

8 years ago[AArch64][TLSLE][2/3] Rename SYMBOL_TLSLE to SYMBOL_TLSLE24
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

8 years ago[AArch64][TLSLE][1/3] Add the option "-mtls-size"
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

8 years agoarm-cores.def: Add FL_FOR_ARCH flag for each ARM_CORE entry.
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

8 years agore PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)
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

8 years agolibgfortran.h (show_variables): Remove prototype.
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

8 years agofold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd.
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

8 years agoDaily bump.
GCC Administrator [Wed, 26 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227206

8 years agoconfigure.ac: Only compile with -fPIC if the target supports it.
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

8 years agocompiler: Disallow use of unary ^ on booleans.
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

8 years agoFix build for targets not defining EXTRA_SPECS.
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

8 years agocompiler: Accept numeric literals with leading zeroes.
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

8 years agocompiler: Allow string slices with start index == length.
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

8 years agore PR middle-end/67330 (ICE handling weak attributes)
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

8 years agore PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)
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

8 years agoSupport embedding the driver in-process within libgccjit
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

8 years agoRevert my change to commit with PR reference again.
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

8 years ago* gcc.c-torture/execute/builtins/20010124-1.x: New.
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

8 years agooptabs.c (emit_indirect_jump): Don't try an emit a jump if the target doesn't have...
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

8 years agocompiler: Don't crash on erroneous array types.
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

8 years agors6000: Fix PR67346
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

8 years agors6000: Fix PR67344
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

8 years agounit.c (get_internal_unit): Make default sign mode unspecified.
Francois-Xavier Coudert [Tue, 25 Aug 2015 16:27:43 +0000 (16:27 +0000)]
unit.c (get_internal_unit): Make default sign mode unspecified.

* io/unit.c (get_internal_unit): Make default sign mode unspecified.
(init_units): Make default sign mode unspecified.

From-SVN: r227178

8 years ago20001117-1.c: Needs return_address.
Nathan Sidwell [Tue, 25 Aug 2015 16:22:42 +0000 (16:22 +0000)]
20001117-1.c: Needs return_address.

* gcc.dg/20001117-1.c: Needs return_address.
* gcc.dg/20020415-1.c: Needs alloca.
* gcc.dg/graphite/id-pr44676.c: Needs profiling.
* gcc.dg/graphite/pr60979.c: Needs nonlocal_goto
* gcc.dg/pr63186.c: Needs label_values.
* gcc.dg/torture/pr33848.c: Likwise.

* lib/target-supports.exp (check_effective_target_fopenacc,
check_effective_target_fopenmp): Disable for nvptx.
* gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx.
* gcc.dg/stack-usage-1.c: Likewise.
* gcc.dg/stack-usage-2.c: Likewise.
* gcc.dg/unused-5.c: Likewise.
* gcc.dg/unwind-1.c: Likewise.

From-SVN: r227177

8 years ago* libgfortran.h (check_buffered): Remove unused prototype.
Francois-Xavier Coudert [Tue, 25 Aug 2015 15:26:02 +0000 (15:26 +0000)]
* libgfortran.h (check_buffered): Remove unused prototype.

From-SVN: r227174

8 years agoExpand comment on struct switchstr.
Thomas Schwinge [Tue, 25 Aug 2015 14:53:24 +0000 (16:53 +0200)]
Expand comment on struct switchstr.

This patch, extracted from a larger change on gomp-4_0-branch, expands
a comment documenting struct switchstr in gcc.c.

2015-08-25  Thomas Schwinge  <thomas@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

* gcc.c (struct switchstr): Expand comment.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r227173

8 years agonvptx.c (nvptx_write_function_decl): Reformat.
Nathan Sidwell [Tue, 25 Aug 2015 14:06:39 +0000 (14:06 +0000)]
nvptx.c (nvptx_write_function_decl): Reformat.

* config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
(nvptx_reorg_subreg): Pass insn pattern to asm_operands.

From-SVN: r227169

8 years agore PR tree-optimization/67306 (Patterns ICEs when moved using "simplify and match")
Richard Biener [Tue, 25 Aug 2015 10:29:09 +0000 (10:29 +0000)]
re PR tree-optimization/67306 (Patterns ICEs when moved using "simplify and match")

2015-08-25  Richard Biener  <rguenther@suse.de>

PR middle-end/67306
* genmatch.c (expr::gen_transform): Verify the result of
builtin_decl_implicit.
(dt_simplify::gen_1): Likewise.

From-SVN: r227163

8 years agoconstraints.md: Also list Cs and US ARM-specific constraints as used.
Thomas Preud'homme [Tue, 25 Aug 2015 08:50:53 +0000 (08:50 +0000)]
constraints.md: Also list Cs and US ARM-specific constraints as used.

2015-08-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/constraints.md: Also list Cs and US ARM-specific
    constraints as used.

From-SVN: r227162

8 years agogcc.dg/Wno-frame-address.c: Skip for ARM.
Christian Bruel [Tue, 25 Aug 2015 07:49:54 +0000 (09:49 +0200)]
gcc.dg/Wno-frame-address.c: Skip for ARM.

g++.dg/Wno-frame-address.C: Ditto.

From-SVN: r227161

8 years agocompiler: Type check params in sink function decl.
Ian Lance Taylor [Tue, 25 Aug 2015 03:48:35 +0000 (03:48 +0000)]
compiler: Type check params in sink function decl.

    When a function is declared and named with the blank identifier, only
    the syntax is checked.  This patch modifies the parser to add a dummy
    node for each function declaration with a blank identifier name that
    will be type checked like any function declaration.

    Fixes golang/go#11535.

    Reviewed-on: https://go-review.googlesource.com/13792

From-SVN: r227160

8 years agoDaily bump.
GCC Administrator [Tue, 25 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227159

8 years agore PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol...
Kaz Kojima [Mon, 24 Aug 2015 23:23:00 +0000 (23:23 +0000)]
re PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol is weak)

PR target/66609
* [SH] Take into account weak symbols for pc relative calls/sibcalls.

From-SVN: r227155

8 years agoSpecify the type of scop->region
Aditya Kumar [Mon, 24 Aug 2015 20:53:51 +0000 (20:53 +0000)]
Specify the type of scop->region

Changing the type of scop::region from void* to sese, as this is
the only type assigned to scop::region for now. No functional changes intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-08-17  Aditya Kumar  <aditya.k7@samsung.com>

        * graphite-poly.c: Change type of region from void* to sese.
        * graphite-poly.h (struct scop): Changing the type of scop::region
from void* to sese. Change accessor macro accordingly.
        * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.

From-SVN: r227151

8 years agoConstrain only on INTEGER_TYPE
Aditya Kumar [Mon, 24 Aug 2015 20:50:12 +0000 (20:50 +0000)]
Constrain only on INTEGER_TYPE

Passes bootstrap, no regressions.

With this patch gcc bootstraps with graphite.
make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block"

gcc/ChangeLog:

2015-08-12  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (stmt_simple_for_scop_p):
Constrain only on INTEGER_TYPE

From-SVN: r227150

8 years agoformatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
François Dumont [Mon, 24 Aug 2015 20:21:57 +0000 (20:21 +0000)]
formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.

2015-08-24  François Dumont  <fdumont@gcc.gnu.org>

* 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: r227147

8 years agoconfigure.ac: Set have_mmap to no on spu-*-* targets.
Ulrich Weigand [Mon, 24 Aug 2015 18:48:28 +0000 (18:48 +0000)]
configure.ac: Set have_mmap to no on spu-*-* targets.

* configure.ac: Set have_mmap to no on spu-*-* targets.
* configure: Regenerate.

From-SVN: r227145

8 years agore PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux...
Michael Meissner [Mon, 24 Aug 2015 18:43:02 +0000 (18:43 +0000)]
re PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu)

[gcc]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/67211
* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
-mefficient-unaligned-vsx on ISA 2.7.

* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
option to a masked option.

* config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
logic for -mefficient-unaligned-vsx so that it is set via an arch
ISA option, instead of being set if -mtune=power8 is set. Move
-mefficient-unaligned-vsx and -mallow-movmisalign handling to be
near other default option handling.

[gcc/testsuite]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/67211
* g++.dg/pr67211.C: New test.

From-SVN: r227144

8 years agogenflags.c (gen_macro): Delete.
Richard Sandiford [Mon, 24 Aug 2015 17:59:51 +0000 (17:59 +0000)]
genflags.c (gen_macro): Delete.

gcc/
* genflags.c (gen_macro): Delete.
(gen_proto): Don't create GEN.*CALL.* macros.
* gensupport.h (get_file_location): Declare.
* gensupport.c (rtx_locs): New variable.
(read_md_rtx): Record rtx locations.
(get_file_location): New function.
* target-insns.def (call, call_pop, call_value, call_value_pop)
(sibcall, sibcall_value): New patterns.
* gentarget-def.c (parse_argument): New function.
(def_target_insn): Use it.  Handle optional operands.  Raise an
error if an .md pattern has the wrong number of operands for the
pattern name.  Remove the names of unused operands from the prototype.
* builtins.c (expand_builtin_apply): Use targetm functions
instead of HAVE_call_value and GEN_CALL_VALUE.
* calls.c (emit_call_1): Likewise.  Remove support for sibcall_pop
and sibcall_value_pop.
* config/aarch64/aarch64.md (untyped_call): Use gen_call instead
of GEN_CALL.
* config/alpha/alpha.md (untyped_call): Likewise.
* config/iq2000/iq2000.md (untyped_call): Likewise.
* config/m68k/m68k.md (untyped_call): Likewise.
* config/mips/mips.md (untyped_call): Likewise.
* config/pa/pa.md (untyped_call): Likewise.
* config/rs6000/rs6000.md (untyped_call): Likewise.
* config/sparc/sparc.md (untyped_call): Likewise.
* config/tilegx/tilegx.md (untyped_call): Likewise.
* config/tilepro/tilepro.md (untyped_call): Likewise.
* config/visium/visium.md (untyped_call): Likewise.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
gen_call_value instead of GEN_CALL_VALUE.
* config/arm/arm.md (untyped_call): Likewise.
* config/cr16/cr16.c (cr16_function_arg): Remove reference to
GEN_CALL.

From-SVN: r227143

8 years agoifcvt.c (HAVE_incscc, [...]): Delete.
Richard Sandiford [Mon, 24 Aug 2015 17:59:31 +0000 (17:59 +0000)]
ifcvt.c (HAVE_incscc, [...]): Delete.

gcc/
* ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
(have_cbranchcc4): New variable.
(cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
(noce_get_condition): Use it instead of HAVE_cbranchcc4.
(if_convert): Initialize have_cbranchcc4.

From-SVN: r227142

8 years agobuiltins.c (expand_cmpstrn): Rename to...
Richard Sandiford [Mon, 24 Aug 2015 17:59:19 +0000 (17:59 +0000)]
builtins.c (expand_cmpstrn): Rename to...

gcc/
* builtins.c (expand_cmpstrn): Rename to...
(expand_cmpstrn_or_cmpmem): ...this.
(expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
(expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
Remove mode argument.
(expand_builtin): Update accordingly.

From-SVN: r227141

8 years agobuiltins.c (expand_cmpstr, [...]): New functions.
Richard Sandiford [Mon, 24 Aug 2015 17:59:07 +0000 (17:59 +0000)]
builtins.c (expand_cmpstr, [...]): New functions.

gcc/
* builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
(expand_builtin_strcmp, expand_builtin_strncmp): Use them.  Remove
references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
* config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
Add predicates for operands 0 and 3.
* config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
operand.
* config/sh/sh.md (cmpstrnsi): Change the length predicate from
immediate_operand to nonmemory_operand.

From-SVN: r227140

8 years agodf-scan.c (df_insn_info_init_fields): New function, split out from...
Richard Sandiford [Mon, 24 Aug 2015 17:58:42 +0000 (17:58 +0000)]
df-scan.c (df_insn_info_init_fields): New function, split out from...

gcc/
* df-scan.c (df_insn_info_init_fields): New function, split out
from...
(df_insn_create_insn_record): ...here.
(df_insn_info_free_fields): New function, split out from...
(df_insn_info_delete): ...here.
(df_insn_rescan): Use the new functions instead of freeing and
reallocating the df_insn_info.

From-SVN: r227139