* graphite-scop-detection.c
(scop_detection::stmt_has_simple_data_refs_p): Always use
the full nest as region.
(try_generate_gimple_bb): Likewise.
* sese.c (scalar_evolution_in_region): Simplify now that
SCEV can handle instantiation in regions.
* tree-scalar-evolution.c (instantiate_scev_name): Also instantiate
in the non-loop part of a function if requested.
From-SVN: r253811
2017-10-17 Martin Liska <mliska@suse.cz>
* lib/scanasm.exp: Print how many times a regex pattern is
found.
* lib/scandump.exp: Likewise.
From-SVN: r253804
This is a version of the patch posted by Trevor Saunders on 2017-07-31,
for which he wrote:
> For most of the history of this see
> https://sourceware.org/ml/gdb-patches/2016-10/msg00223.html
> The changes are mostly s/gdb/gtl/g
This version was updated by me (dmalcolm) adding these changes:
- renaming of "gtl" to "gnu" (3 letters, and one of the ones Richi
proposed, and not a match for "*tl")
- renaming of DEFINE_GDB_UNIQUE_PTR to DEFINE_GNU_UNIQUE_PTR
- renaming of xfree_deleter to xmalloc_deleter, and making it
use "free" rather than "xfree" (which doesn't exist)
- added a gcc/unique-ptr-tests.cc
- implement unique_xmalloc_ptr<T[]> (taken from gdb, but changing
"xfree" to "free", and adding support for pre-C++-11)
gcc/ChangeLog:
David Malcolm <dmalcolm@redhat.com>
* Makefile.in (OBJS): Add unique-ptr-tests.o.
* selftest-run-tests.c (selftest::run_tests): Call
selftest::unique_ptr_tests_cc_tests.
* selftest.h (selftest::unique_ptr_tests_cc_tests): New decl.
* unique-ptr-tests.cc: New file.
include/ChangeLog:
Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
David Malcolm <dmalcolm@redhat.com>
* unique-ptr.h: New file.
From-SVN: r253797
2017-10-16 Martin Liska <mliska@suse.cz>
* c-c++-common/ubsan/attrib-5.c (float_cast2): Fix warning scan
so that it will work for both C and C++ FEs.
From-SVN: r253795
2017-10-16 Olivier Hainque <hainque@adacore.com>
* gcc/config.gcc (powerpc*-*-*spe*): Pick 8548 as the default
with_cpu if we were configured for an e500v2 target cpu name.
From-SVN: r253789
DSP instructions are optional for Arm Cortex-M33, yet its -mcpu option
does not allow +nodsp. Users are thus left with using
-march=armv8-m.main -mtune=cortex-m33. This patch allows +nodsp to
-mcpu=cortex-m33.
2017-10-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* config/arm/arm-cpus.in (cortex-m33): Add nodsp option.
* doc/invoke.texi: Document +nodsp as a valid extension for
-mcpu=cortex-m33.
From-SVN: r253787
Fix PR82442
Recently the gcc.dg/vect/pr31699.c was modified to check for
vect_float effective target instead for vect_double. As a
result it now fails on armhf. Fix by avoiding double.
Tested on armhf, aarch64 and x64.
gcc/testsuite/
PR target/82442
* gcc.dg/vect/pr31699.c: Fix testcase.
From-SVN: r253786
* i386.c (ix86_rtx_costs): Make difference between x87 and SSE
operations.
* i386.h (struct processor_costs): Add addss, mulss, mulsd, divss,
divsd, sqrtss and sqrtsd
* x86-tune-costs.h: Add new entries to all costs.
(znver1_cost): Fix to match real instruction latencies.
From-SVN: r253769
2017-10-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82372
* fortran/scanner.c (last_error_char): New global variable.
(gfc_scanner_init_1): Set last_error_char to NULL.
(gfc_gobble_whitespace): If a character not printable or
not newline, issue an error.
2017-10-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/82372
* gfortran.dg/illegal_char.f90: New test.
From-SVN: r253768
2017-10-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Michael Collison <michael.collison@arm.com>
* compare-elim.c: Include emit-rtl.h.
(can_merge_compare_into_arith): New function.
(try_validate_parallel): Likewise.
(try_merge_compare): Likewise.
(try_eliminate_compare): Call the above when no previous clobber
is available.
(execute_compare_elim_after_reload): Add DF_UD_CHAIN and DF_DU_CHAIN
dataflow problems.
2017-10-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Michael Collison <michael.collison@arm.com>
* gcc.target/aarch64/cmpelim_mult_uses_1.c: New test.
Co-Authored-By: Michael Collison <michael.collison@arm.com>
From-SVN: r253764
PR middle-end/62263
PR middle-end/82498
* tree-ssa-phiopt.c (value_replacement): Comment fix. Handle
up to 2 preparation statements for ASSIGN in MIDDLE_BB.
* c-c++-common/rotate-8.c: Expect no PHIs in optimized dump.
From-SVN: r253761
PR middle-end/62263
PR middle-end/82498
* tree-ssa-forwprop.c (simplify_rotate): Allow def_arg1[N]
to be any operand_equal_p operands. For & (B - 1) require
B to be power of 2. Recognize
(X << (Y & (B - 1))) | (X >> ((-Y) & (B - 1))) and similar patterns.
* c-c++-common/rotate-5.c (f2): New function. Move old
function to ...
(f4): ... this. Use 127 instead of 128.
(f3, f5, f6): New functions.
(main): Test all f[1-6] functions, with both 0 and 1 as
second arguments.
* c-c++-common/rotate-6.c: New test.
* c-c++-common/rotate-6a.c: New test.
* c-c++-common/rotate-7.c: New test.
* c-c++-common/rotate-7a.c: New test.
* c-c++-common/rotate-8.c: New test.
From-SVN: r253760
gcc/ada/
2017-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* sem_elab.adb (In_Preelaborated_Context): A generic package subject to
Remote_Call_Interface is not a suitable preelaboratd context when the
call appears in the package body.
gcc/testsuite/
2017-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* gnat.dg/remote_call_iface.ads, gnat.dg/remote_call_iface.adb: New
testcase.
From-SVN: r253758
2017-10-14 Eric Botcazou <ebotcazou@adacore.com>
* layout.ads (Set_Elem_Alignment): Add Align parameter defaulted to 0.
* layout.adb (Set_Elem_Alignment): Likewise. Use M name as maximum
alignment for consistency. If Align is non-zero, use the minimum of
Align and M for the alignment.
* cstand.adb (Build_Float_Type): Use Set_Elem_Alignment instead of
setting the alignment directly.
2017-10-14 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Check): Defer evaluation of the
optional string in an Assert pragma until the expansion of the pragma
has rewritten it as a conditional statement, so that the string
argument is only evaluaed if the assertion fails. This is mandated by
RM 11.4.2.
2017-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* debug.adb: Switch -gnatd.v and associated flag are now used to
enforce the SPARK rules for elaboration in SPARK code.
* sem_elab.adb: Describe switch -gnatd.v.
(Process_Call): Verify the SPARK rules only when -gnatd.v is in effect.
(Process_Instantiation): Verify the SPARK rules only when -gnatd.v is
in effect.
(Process_Variable_Assignment): Clarify why variable assignments are
processed reglardless of whether -gnatd.v is in effect.
* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
sections on elaboration code and compilation switches.
* gnat_ugn.texi: Regenerate.
2017-10-14 Gary Dismukes <dismukes@adacore.com>
* exp_util.adb, freeze.adb, sem_aggr.adb, sem_util.ads, sem_util.adb,
sem_warn.adb: Minor reformattings.
From-SVN: r253757
2017-10-14 Ed Schonberg <schonberg@adacore.com>
* doc/gnat_rm/implementation_defined_aspects.rst: Add documentation
for reverse iteration over formal containers.
* gnat_rm.texi: Regenerate.
2017-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* sem_elab.adb (Ensure_Dynamic_Prior_Elaboration): Renamed to
Ensure_Prior_Elaboration_Dynamic for consistency reasons.
(Ensure_Static_Prior_Elaboration): Renamed to
Ensure_Prior_Elaboration_Static for consistency reasons.
(Info_Variable_Reference): Renamed to Info_Variable_Read in order to
reflect its new purpose.
(Is_Initialized): New routine.
(Is_Suitable_Variable_Reference): Renamed to Is_Suitable_Variable_Read
in order to reflect its new purpose.
(Is_Variable_Read): New routine.
(Output_Variable_Reference): Renamed to Output_Variable_Read in order
to reflect its new purpose.
(Process_Variable_Assignment): This routine now acts as a top level
dispatcher for variable assignments.
(Process_Variable_Assignment_Ada): New routine.
(Process_Variable_Assignment_SPARK): New routine.
(Process_Variable_Reference): Renamed to Process_Variable_Read in order
to reflects its new purpose. A reference to a variable is now suitable
for ABE processing only when it is a read. The logic in the routine now
reflects the latest SPARK elaboration rules.
2017-10-14 Justin Squirek <squirek@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Modify condition that
triggers marking on formal subprograms.
2017-10-14 Javier Miranda <miranda@adacore.com>
* checks.adb (Ensure_Valid): Do not skip adding the validity check on
renamings of objects that come from the sources.
2017-10-14 Eric Botcazou <ebotcazou@adacore.com>
* cstand.adb (Build_Float_Type): Move down Siz parameter, add Align
parameter and set the alignment of the type to Align.
(Copy_Float_Type): Adjust call to Build_Float_Type.
(Register_Float_Type): Add pragma Unreferenced for Precision. Adjust
call to Build_Float_Type and do not set RM_Size and Alignment.
From-SVN: r253756