On December 13, 2019 12:54:08 AM GMT+01:00, Jakub Jelinek
wrote:
>On Thu, Dec 12, 2019 at 04:59:40PM +0100, Richard Biener wrote:
>> >If it starts being ambiguous somewhere, could we use some target
>macro
>> >or
>> >target hook to decide?
>>
>> Ambiguous IL is bad :/ IL semantics dependent
Thanks Honza,
On 2019/12/10 19:06, Jan Hubicka wrote:
>> Hi,
>>
>> On Tue, Dec 10 2019, Jan Hubicka wrote:
>>> Hi,
>>> I think the updating should treat self recursive edges as loops: that is
>>> calculate SUM of counts incomming edges which are not self recursive,
>>> calculate probability of
Hi all,
Since Ada is not always tested and I had received a testcase from a
customer for the same issue (I had backported the patch which caused
it), I thought I would create a full testcase that fails with C code.
NOTE this does not fail on x86_64 (nor aarch64) before the patch for
PR86659 due
On December 12, 2019 7:15:36 PM GMT+01:00, Richard Sandiford
wrote:
>Richard Biener writes:
>> On December 12, 2019 5:44:25 PM GMT+01:00, Richard Sandiford
> wrote:
>>>Richard Biener writes:
On December 12, 2019 4:10:33 PM GMT+01:00, Richard Sandiford
>>> wrote:
>One problem with
Dennis Zhang writes:
> Hi Richard,
>
> On 06/12/2019 10:22, Richard Sandiford wrote:
>> Dennis Zhang writes:
>>> 2019-12-04 Dennis Zhang
>>>
>>> * config/aarch64/aarch64-arches.def (armv8.6-a): New.
>>> * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
>>>
On Fri, 2019-12-13 at 05:03 -0600, Segher Boessenkool wrote:
> On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford wrote:
> > I doubt it will be long before we deprecate
> > all targets that require old reload.)
>
> Do we wait until GCC 12 (to remove old reload completely)? If not, we
>
Thanks for pointing it out Rainer. Thanks to that reminder I noticed
there is a different way to achieve this without adding that extra
target check.
This OK?
gcc/testsuite/ChangeLog:
2019-12-12 Andre Vieira
* gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.
On 12/12/2019
Consequently whilst looking at the list I noticed these two were missing.
This OK for trunk?
gcc/ChangeLog:
2019-12-13 Andre Vieira
* doc/sourcebuild.texi (arm_little_endian, arm_nothumb):
Documented existing target checks.
On 13/12/2019 13:05, Andre Vieira (lists) wrote:
Hi!
Julian, Tobias, regarding the following OpenACC 'exit data' 'finalize'
handling:
On 2018-05-25T13:01:58-0700, Cesar Philippidis wrote:
> --- a/gcc/gimplify.c
> +++ b/gcc/gimplify.c
> @@ -10859,6 +10849,53 @@ gimplify_omp_target_update (tree *expr_p, gimple_seq
> *pre_p)
> + else if
Hello Segher!
> With LRA, sh builds fine (with the combine2 patches). I have no idea
> if correct code is generated, but it doesn't ICE anymore.
What are the combine2 patches? And I would support switching SH to LRA as
there are a few cases (Debian packages) where GCC fails with an internal
This patch simply adds sectioning comments in vx-common.h
and moves the NO_DOLLAR/DOT_IN_LABEL block down, away from the
section now dedicated to SPEC strings.
Goal to improve readability and facilitate future changes to come.
Tested in accordance with the description in
Hi,
while looking into Firefox regression compared to gcc9 I noticed that we
often confuse common target infos when profiles get merged. This patch
adds the missing update bits.
Honza
* ipa-utils.c (ipa_merge_profiles): Improve dumping; merge common
targets.
Index: ipa-utils.c
This patch modifies the C & C++ VxWorks compiler to predefine
the __STDC_ macros verified by gcc.dg/c99-predef-1.c in the testsuite.
We setup a vxworks-predef.h header file which arranges to define
TARGET_C_PREINCLUDE, in a separate config/vxworks
directory where other runtime header files
On Fri, 2019-12-13 at 09:43 -0700, Martin Sebor wrote:
> On 12/12/19 7:59 PM, David Malcolm wrote:
> > On Wed, 2019-12-04 at 10:36 -0700, Martin Sebor wrote:
> > > On 11/15/19 6:22 PM, David Malcolm wrote:
> > > > This patch adds support for associating a diagnostic with an
> > > > optional
> > >
On Fri, 2019-12-13 at 16:09 +0100, John Paul Adrian Glaubitz wrote:
> Hi!
>
> On 12/13/19 4:06 PM, Oleg Endo wrote:
> > > What are the combine2 patches?
> >
> > See the other thread that I've linked in my message.
>
> I don't see any patch there.
You'd have to crawl up the discussion or so.
John Paul Adrian Glaubitz writes:
> Hi!
>
> On 12/13/19 4:06 PM, Oleg Endo wrote:
>>> What are the combine2 patches?
>>
>> See the other thread that I've linked in my message.
>
> I don't see any patch there.
The latest version is: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00287.html
Hi there,
I suggest this patch to allow architectures do substitute cc0_rtx with a
generated cc register.
Why? If you are using a cc register plus your architecture as many
instructions which may clobber that cc register, some passes (e.g. gcse)
will reorder the insns. This can lead to the
I've committed this patch to add v64qi and v64hi multiply patterns.
This is slowly working toward full char and short vectorization.
Andrew
Sub-dword vector multiply for amdgcn
2019-12-13 Andrew Stubbs
gcc/
* config/gcn/gcn-valu.md (mulv64si3): Rename to ...
(mul3): ... this, and
On Fri, 2019-12-13 at 08:09 -0600, Segher Boessenkool wrote:
> On Fri, Dec 13, 2019 at 10:06:20PM +0900, Oleg Endo wrote:
> > On Fri, 2019-12-13 at 05:03 -0600, Segher Boessenkool wrote:
> > > On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford
> > > wrote:
> > > > I doubt it will be long
Prior to VxWorks 7, the path where startfiles and core
libraries are located contains CPU architecture specific name
components. This should normally be expressed through a CPU
specific STARTFILE_PREFIX_SPEC for such versions of VxWorks.
This change adds a definition for the PowerPc family, which
Hi!
On 12/13/19 4:06 PM, Oleg Endo wrote:
>> What are the combine2 patches?
>
> See the other thread that I've linked in my message.
I don't see any patch there.
>> And I would support switching SH to LRA as
>> there are a few cases (Debian packages) where GCC fails with an internal
>>
I've committed the attached patch to add extend, zero_extend, and trunc
instructions patterns to, from and between the v64qi and v64hi modes.
The patch adds both normal and the masked "exec" variants of the
patterns, as per the rest of the machine description.
The FP conversions also had to
On 19/11/2019 12:21, Andrew Stubbs wrote:
This patch adds GCN special casing for most of the OpenACC libgomp tests
that require it. It also disables one testcase that explicitly uses CUDA.
The patches aren't all that controversial, should only change the
results on amdgcn, and Tobias already
As long as one compiles for a single target, the message is unlikely to appear.
However, when compiling for offloading, the modes supported on the target
'host' and on the target 'device' can be different. In particular,
'long double' (when larger than double) and '__float128' might not be
On Fri, 2019-12-13 at 05:03 -0600, Segher Boessenkool wrote:
> On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford wrote:
> > I doubt it will be long before we deprecate
> > all targets that require old reload.)
>
> Do we wait until GCC 12 (to remove old reload completely)? If not, we
>
On Fri, 2019-12-13 at 15:57 +0100, John Paul Adrian Glaubitz wrote:
> Hello Segher!
>
> > With LRA, sh builds fine (with the combine2 patches). I have no idea
> > if correct code is generated, but it doesn't ICE anymore.
>
> What are the combine2 patches?
See the other thread that I've linked
This change refines the VxWorks macro definitions configuring
wchar_t to accommodate the VxWorks7 environment, where wchar_t
is now typically a 32bit type.
We also ensure that the definitions for wint_t are always based
on those for wchar_t, so the two remain in sync in environments
where
On Fri, Dec 13, 2019 at 01:19:55PM +0100, Richard Biener wrote:
> On December 13, 2019 12:03:30 PM GMT+01:00, Segher Boessenkool
> wrote:
> >On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford wrote:
> >> I doubt it will be long before we deprecate
> >> all targets that require old
Hi Julian!
On 2019-12-12T19:01:21+, Julian Brown wrote:
> This is a fix for PR92881, broken out of the larger "reference counting
> overhaul" patch last posted here:
>
> https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02235.html
Thanks!
> The current implementation (potentially with
Hi Julian!
On 2019-10-29T12:15:01+, Julian Brown wrote:
> On Mon, 21 Oct 2019 16:14:11 +0200
> Thomas Schwinge wrote:
>
>> On 2019-10-03T09:35:04-0700, Julian Brown
>> wrote:
>> > --- a/libgomp/oacc-parallel.c
>> > +++ b/libgomp/oacc-parallel.c
>> > @@ -56,12 +56,29 @@ find_pointer (int
The patch by Joel setting up TARGET_C_PREINCLUDE exposed a possibility
to simplify/robustify the compilation commands use for another source in
the t-vxworks Makefile fragment.
We now leverage $(COMPILE) and $(POSTCOMPILE) instead of replicating
them manually for vxworks.c.
Tested in accordance
This changes introduces an internal API for VxWorks version checks
within runtime files, a prerequisite to a few fixes coming up for libstdc++
builds on more recent versions of the OS.
Tested in accordance with the description in
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00911.html
On 12/12/19 7:59 PM, David Malcolm wrote:
On Wed, 2019-12-04 at 10:36 -0700, Martin Sebor wrote:
On 11/15/19 6:22 PM, David Malcolm wrote:
This patch adds support for associating a diagnostic with an
optional
diagnostic_metadata object, so that plugins can add extra data to
their
diagnostics
On Vxworks 7, includers of stdint.h (which we currently "provide")
need yvals.h to have been included ahead.
Instead of altering the common stdint-gcc.h with unpleasant
vxworks specific bits to do that, we arrange to provide stdint-gcc.h
on its own along with a stdint.h wrapper which preincludes
This change fixes latent failures actually observed when activating
libstdc++ for VxWorks on aarch46 VxWorks 7 and powerpc VxWorks 6.
The system limits.h is dated on some configurations, so we
provide our own version to expose constants required by more
recent C standards. Our
On Fri, Dec 13, 2019 at 10:06:20PM +0900, Oleg Endo wrote:
> On Fri, 2019-12-13 at 05:03 -0600, Segher Boessenkool wrote:
> > On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford wrote:
> > > I doubt it will be long before we deprecate
> > > all targets that require old reload.)
> >
> > Do
On Sat, Dec 14, 2019 at 12:06:36AM +0900, Oleg Endo wrote:
> On Fri, 2019-12-13 at 15:57 +0100, John Paul Adrian Glaubitz wrote:
> > Hello Segher!
Hi :-)
> > > With LRA, sh builds fine (with the combine2 patches). I have no idea
> > > if correct code is generated, but it doesn't ICE anymore.
>
Starting from VxWorks 7, the system comes with a Dinkumware
environment which requires the inclusion of "yvals.h" before other
system headers. We provide wrapped versions of a few headers to
accommodate such constraints.
Initially proposed by Jérôme, this helps fix dozens of build issues
Hello,
This change reworks the VxWorks specific os_defines.h internal
lisbstdc++ header to help fix build and runtime failures of various
kinds in environments from 6.4/6.9 to 7 SR640, based on experiments
and observations conducted against real installs of these OSes for
different CPU
This AI simply relaxes a legality rule, legalizing a construct that was
previously illegal.
In particular, it deletes the second sentence of 4.5.2(9.8)
In addition, if the untagged record type has a nonlimited partial
view, then the declaration shall occur in the visible part of the
This is an incremental patch which fixes a compiler error whereby
accessbility checks on if and case expressions used to set access
discriminants within allocators were not performed. It also corrects an
issue where dynamic accessibility levels are not passed correctly when a
conditional
When a task type has a partial view, the procedure created for a
selective accept statement within the task was not being passed an
activation record actual (despite having such a formal), and also
certain variables addressed up-level were not being stored within the
activation record. This was
The Ada RM explicitly says in the C.6 sub-chapter that, contrary to what
happens for the Volatile aspect, the Atomic aspect doesn't automatically
propagate down to subcomponents of atomic objects.
That is not what is implemented in the compiler, in particular in the
Is_Atomic_Object predicate of
The comment was way too repetitive. The term "second level child" sounds
like it means "grandchild", but that's not what was meant.
This comment was written in 1994:
...This is part of a temporary implementation of delays;
--eventually, packages implementing delays
This patch fixes an issue whereby the compiler generates spurious
ineffective overriding subprogram errors on instantiations of generic
child packages where such packages contain overriding controlled
primitives for types extended from parent packages which are, in turn,
private controlled
Hi Andrew,
On 3/15/19 1:18 AM, apin...@marvell.com wrote:
From: Andrew Pinski
Hi,
On OcteonTX2, ld1r and ld1 (with a single lane) are split
into two different micro-ops unlike most other targets.
This adds three extra costs to the cost table:
ld1_dup: used for "ld1r {v0.4s}, [x0]"
On December 13, 2019 10:12:40 AM GMT+01:00, Richard Sandiford
wrote:
>Richard Biener writes:
>The AArch64 port emits an error if calls pass values of SVE type to
>>>an
>unprototyped function. To do that we need to know whether the
>value
>really is an SVE type rathr than a plain
Several tuning settings in cores.def are not consistent.
Set the tuning for Cortex-A76AE and Cortex-A77 to neoversen1 so
it is the same as for Cortex-A76 and Neoverse N1.
Set the tuning for Neoverse E1 to cortexa73 so it's the same as for
Cortex-A65. Set the scheduler for Cortex-A65 and
The Ada.Calendar.Formatting.Image function is supposed to support at
least durations up to (excluding) 100 hours. Fixes the implementation so
that it does and clarify in the spec the behavior when the duration
exceeds 100 hours (raise Time_Error).
Tested on x86_64-pc-linux-gnu, committed on trunk
Propagate attribute Linker_Section_Pragma to the ultimate aliased entity
to facilitate processing it in instantantiations of generic subprograms
in the C backend.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-12-13 Javier Miranda
gcc/ada/
* sem_prag.adb (Analyze_Pragma):
In the special case of an Address attribute that is used to initialize a
component of an activation record object (for handling unnesting in back
ends that don't support nested subprograms directly, such as LLVM), we
don't want the attribute to be passed to the Base_Address function (that
performs
When testing whether the target of a type conversion is a general access
type, the test should not be
E_Kind (Target_Type) = E_General_Access_Type
but rather
E_Kind (Base_Type (Target_Type)) = E_General_Access_Type
Fix this bug in two places. As a consequence of these bugs, some of the
The code generated by the compiler to deallocate a controlled type that
has variable size components and implements interface types computes a
wrong address (and crashes at runtime).
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-12-13 Javier Miranda
gcc/ada/
* exp_disp.ads
Because of the way generics are analyzed, it is possible that an
assertion pragma is transformed into a Check pragma by the time ghost
code inside the assertion is checked for a possible mismatch of
assertion policy. In that case, the original pragma that led to the
Check pragma should be
Generate an extra temporary for the unchecked conversion of a function
call returning a composite type, and for the unchecked conversion to a
composite type of a function call returning a discrete type (since the C
backend does not support such cases).
Tested on x86_64-pc-linux-gnu, committed on
The special inlining performed in GNATprove should not allow inlining
inside the condition of while loops, as this creates complex actions
inside the condition itself, which are not handled by GNATprove.
Other loops are not impacted, as the bounds are only computed once,
which allows to move the
The C.6 (12/3) clause makes it illegal to pass an atomic actual
parameter in a call corresponding to an aliased formal with a nonatomic
type.
This illegal case had been accepted up recently and started only to be
rejected as a by-product of the implementation of the C.6 (19) clause,
but the error
Stam Markianos-Wright writes:
> @@ -573,6 +586,44 @@
>[(set_attr "type" "neon_dot")]
> )
>
> +;; These instructions map to the __builtins for the armv8.6a I8MM usdot,
> sudot
> +;; (by element) Dot Product operations.
> +(define_insn "aarch64_dot_lane"
> + [(set (match_operand:VS 0
On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford wrote:
> I doubt it will be long before we deprecate
> all targets that require old reload.)
Do we wait until GCC 12 (to remove old reload completely)? If not, we
should deprecate it now.
Segher
Richard Biener writes:
The AArch64 port emits an error if calls pass values of SVE type to
>>an
unprototyped function. To do that we need to know whether the value
really is an SVE type rathr than a plain vector.
For varags the ABI is the same for 256 bits+. But we'll have
On Thu, Dec 12, 2019 at 07:43:58AM +0100, Stefan Franke wrote:
> The problems are in the gcc implementation
>
> - the lra implementation is buggy
Patches welcome. Bug reports welcome. "It does not work" does not
really help anyone -- you don't even say *what* doesn't work.
> - the compare
Richard Biener writes:
>>> The frontend are in charge of specifying the actual argument type and
>>> at that point the target may fix the ABI. The ABI can be recorded in
>>> the calls fntype, either via its TYPE_ARG_TYPES or in more awkward
>>> ways for varargs functions (in full generality that
Hello,
This patch fixes an obvious typo in a macro name used to
guard some definitions used later on in vxcrtstuff.c, leading
to an unexpected mix of symbols in a vxcrtbegin variant and
incorrect behavior for the corresponding mode at run time.
Tested in accordance with the description in
On 13/12/2019 12:23, Wilco Dijkstra wrote:
Several tuning settings in cores.def are not consistent.
Set the tuning for Cortex-A76AE and Cortex-A77 to neoversen1 so
it is the same as for Cortex-A76 and Neoverse N1.
Set the tuning for Neoverse E1 to cortexa73 so it's the same as for
Cortex-A65.
Hi all,
This patch adds the ARMv8.6 Extension ACLE intrinsics for dot product
operations (vector/by element) to the ARM back-end.
These are:
usdot (vector), dot (by element).
The functions are optional from ARMv8.2-a as -march=armv8.2-a+i8mm and
for ARM they remain optional as of ARMv8.6-a.
Hi Thomas,
regarding your TODO in your test case about implicit mapping of variables, I did
some testing.
The 'copy' issue is a general feature and not restricted to no_create.
Additionally, 'int *arr' is not a real array: as the compiler does not know the
size, it cannot distinguish a pointer
This change fixes a typo in a macro name reference, introduced
by mistake during a refactoring.
Tested in accordance with the description in
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00911.html
Committing to mainline.
Olivier
2019-12-13 Olivier Hainque
libgcc/
*
This change improves the GTHREAD_ONCE_INIT initializer
exposed by gthr-vxworks.h to use a more standard syntax
for a zero-initialization, which fixes build failures
observed when activating libstdc++ builds for aarch64-vxworks.
Tested in accordance with the description in
If a by-reference untagged type has primitive subprograms, then the
representations of that type and any type derived from it need to match.
This is because passing in a reference to a "change of representation"
copy doesn't work for a by-reference type. AI12-0109 is a binding
interpretation that
The (Refined_)Global/Depends contracts in SPARK are analyzed by
GNAT for possible violations of legality rules. Some of these rules
have to do with visibility of refinement at the point where the
contract is specified. These rules should not be checked inside
generic instantiations, as the
Hi all,
This patch adds the ARMv8.6 Extension ACLE intrinsics for dot product
operations (vector/by element) to AArch64.
These are:
usdot (vector), dot (by element).
The functions are optional from ARMv8.2-a as -march=armv8.2-a+i8mm
and are then enabled by default from ARMv8.6a.
The functions
On December 13, 2019 12:03:30 PM GMT+01:00, Segher Boessenkool
wrote:
>On Thu, Dec 12, 2019 at 09:32:27AM +, Richard Sandiford wrote:
>> I doubt it will be long before we deprecate
>> all targets that require old reload.)
>
>Do we wait until GCC 12 (to remove old reload completely)? If not,
Stam Markianos-Wright writes:
> Hi all,
>
> This small patch adds support for the ARM v8.6 extensions +bf16 and
> +i8mm to the testsuite. This will be tested through other upcoming
> patches, which is why we are not providing any explicit tests here.
>
> Ok for trunk?
>
> Also I don't have
This change adjusts the libstdc++ configuration for VxWorks
to set ac_has_nanosleep=yes, which enables the use of nanosleep
from the library.
While this technically depends on the kernel configuration
(INCLUDE_POSIX_TIMERS) this is the normal configuration in all
the environments we have been
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Remove /// comment lines
- Rework logging to avoid exploded_graph multiple-inheritance (moving
log_user base to a member)
- Support resolving function pointers:
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Remove /// comment lines
- Add custom events:
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00213.html
- Generalize rewind_info_t to exploded_edge::custom_info_t
Changed in v4:
- Moved from gcc/analyzer to gcc, renaming selftests accordingly
- Remove comments
- Replace auto_client_timevar with TV_ANALYZER_SHORTEST_PATHS
This patch adds template classes for directed graphs, their nodes
and edges, and for finding the shortest path through such a
Here is a patch to fix prettyprinters.exp failures in normal and debug
modes.
In 80276.cc I replicate the #define with comment from other tests even
if it isn't true that cxx11 abi string isn't supported. It's just that
it doesn't appear as 'std::string', the aliasing doesn't work.
I still
Hi!
On Fri, Dec 13, 2019 at 05:25:41PM +0100, Stefan Franke wrote:
> I suggest this patch to allow architectures do substitute cc0_rtx with a
> generated cc register.
>
> Why? If you are using a cc register plus your architecture as many
> instructions which may clobber that cc register, some
This takes the place of the auto_client_timevar code from v1 of the kit:
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg01519.html
gcc/ChangeLog:
* timevar.def (TV_ANALYZER): New timevar.
(TV_ANALYZER_SUPERGRAPH): Likewise.
(TV_ANALYZER_STATE_PURGE): Likewise.
Changed in v2:
fixup for json::number -> json::integer_number change (r277284)
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02027.html
This patch adds support for associating a diagnostic with an optional
diagnostic_metadata object, so that plugins can add extra data to their
diagnostics
This patch implements -fdiagnostics-nn-line-numbers, a new option
which makes diagnostic_show_locus print "NN" rather than specific
line numbers when printing the left margin.
This is intended purely to make it easier to write certain kinds of
DejaGnu test; various integration tests for
Changed in v4: added DISABLE_COPY_AND_ASSIGN
This patch adds a class auto_delete_vec, a subclass of auto_vec
that deletes all of its elements on destruction; it's used in many
places later in the kit.
This is a crude way for a vec to "own" the objects it points to
and clean up automatically
Changed in v4:
- Use -fanalyzer rather than --analyzer
- Add -W[no-]analyzer-unsafe-call-within-signal-handler
gcc/ChangeLog:
* doc/invoke.texi ("Static Analyzer Options"): New list and new section.
("Warning Options"): Add static analysis warnings to the list.
This patch converts various "gimple *" to "const gimple *" and similar
fixes for gimple subclasses, adding is_a_helper for gimple subclasses
to support the const form of as_a, and adding a few "const" overloads
of accessors.
This is enough to make pp_gimple_stmt_1's stmt const.
gcc/ChangeLog:
Changed in v4:
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02026.html
gcc/ChangeLog:
* Makefile.in (TEXI_GCCINT_FILES): Add analyzer.texi.
* doc/analyzer.texi: New file.
* doc/gccint.texi ("Static Analyzer") New menu item.
(analyzer.texi): Include it.
---
gcc/ChangeLog:
* pretty-print.c (pp_write_text_as_html_like_dot_to_stream): New
function.
* pretty-print.h (pp_write_text_as_html_like_dot_to_stream): New decl.
---
gcc/pretty-print.c | 48 ++
gcc/pretty-print.h | 3 +++
2 files
This patch adds a configuration option to disable building the analyzer.
It is built by default (but off by default at compile-time).
gcc/ChangeLog:
* configure.ac (--disable-analyzer, ENABLE_ANALYZER): New option.
(gccdepdir): Also create depdir for "analyzer" subdir.
---
gcc/ChangeLog:
* sbitmap.h (auto_sbitmap): Add operator const sbitmap &.
---
gcc/sbitmap.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h
index a33175d26f75..3c5b0a47a004 100644
--- a/gcc/sbitmap.h
+++ b/gcc/sbitmap.h
@@ -295,6 +295,7 @@ public:
/*
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Remove /// comment lines
This patch adds classes for tracking the equivalence classes and
constraints that hold at a point on an execution path.
gcc/ChangeLog:
*
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Remove /// comment lines
- Rework on_leak vfunc:
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html
- Rework for changes to is_named_call_p, resolving function
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Remove /// comment lines
- Rework on_leak vfunc:
https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html
This patch adds a custom state machine checker intended purely
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Remove /// comment lines
- Add support for global state:
- https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00217.html
- Rework logging to avoid exploded_graph
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Wrap everything in #if ENABLE_ANALYZER
- Use TV_ANALYZER_PLAN rather than an auto_client_timevar.
- Update for new param API.
- Add DISABLE_COPY_AND_ASSIGN (analysis_plan);
This patch adds an analysis_plan class,
New in v4; part of:
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00214.html
with various fixups
gcc/ChangeLog:
* analyzer/sm-signal.cc: New file.
---
gcc/analyzer/sm-signal.cc | 306 ++
1 file changed, 306 insertions(+)
create mode 100644
Changed in v4:
- Renamed gcc/analyzer/plugin.opt to gcc/analyzer/analyzer.opt
- Change option from -analyzer to -fanalyzer, changed it from
Driver to Common.
- Various commits on 2019-11-12 including r278083 through r278087
reimplemented parameter-handling in terms of options, so that
Changed in v4:
- Remove include of gcc-plugin.h, reworking includes accordingly.
- Use TV_ANALYZER rather than TV_NONE for the pass
- Add a gate function to the pass
- Move the check for #if ENABLE_ANALYZER from the driver to the
pass's execute vfunc
- Expose the pass via make_pass_analyzer,
Changed in v4:
- wrap with #if ENABLE_ANALYZER
- add DISABLE_COPY_AND_ASSIGN
This patch adds a logging framework to the analyzer which handles
hierarchical messages (showing the nested structure of the calls).
This code is largely based on that in the "jit" subdirectory (with
a few changes). An
Here's an updated version of the patch kit, addressing many issues from
review, and squashing in other changes.
This is v4, and is relative to r279310 (2019-12-12)
Earlier versions:
v3: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00529.html
v2:
gcc/ChangeLog:
* builtins.def (BUILT_IN_ANALYZER_BREAK): New builtin.
(BUILT_IN_ANALYZER_DUMP): New builtin.
(BUILT_IN_ANALYZER_DUMP_EXPLODED_NODES): New builtin.
(BUILT_IN_ANALYZER_DUMP_NUM_HEAP_REGIONS): New builtin.
(BUILT_IN_ANALYZER_DUMP_PATH): New
1 - 100 of 137 matches
Mail list logo