Hi,
This patch fixes PR84648 by adjusting exit conditions for loop-until-wrap cases.
It only handles simple cases in which IV.base are constants because we rely on
current niter analyzer which doesn't handle parameterized bound in wrapped
case. It could be relaxed in the future.
Bootstrap and tes
It's nice to use the processors vector arithmetic to good effect, but
it's all for naught when
there are too many moves from/to general registers cluttering up the
loop. With a
double-vector reduction variable, the standard final reduction code got
so awkward that
the register allocator decided
With a configurable vector size, it is not really feasible to represent
every vector register
inside GCC as a collection of lots of imaginary BITS_PER_WORD registers.
So you got your general purpose registers that are BITS_PER_WORD, and
vector registers
that are a bit or a lot larger. To void i
On Fri, 9 Nov 2018, Aldy Hernandez wrote:
> On 11/9/18 9:19 AM, Richard Biener wrote:
> >
> > This adds value_range_base, a base class of class value_range
> > with all members but the m_equiv one.
>
> First of all, thanks so much for doing this!
>
> >
> > I have looked into the sole GC user,
On Fri, Nov 9, 2018 at 7:18 PM Andi Kleen wrote:
>
> Hi Richard,
>
> On Fri, Nov 09, 2018 at 04:27:22PM +0100, Richard Biener wrote:
> > > Passes bootstrap and test suite on x86_64-linux, also
> > > bootstrapped and tested gcc itself with full -fvartrace
> > > and -fvartrace-locals instrumentation
Hi All,
This patch just adds documentation for the xorsign optab that was added a while
ago.
Ok for trunk?
Thanks,
Tamar
gcc/ChangeLog:
2018-11-11 Tamar Christina
* doc/md.texi (xorsign): Document it.
--
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 360b36b862f7eb13964e60
Hi All,
This patch series adds support for SLP vectorization of complex instructions
[1].
These instructions exist only in their vector forms and require you to recognize
two statements in parallel. Complex operations usually require a permute due to
the fact that the real and imaginary numbers
Hi All,
This patch adds a match.pd rule for stripping away the type converts when you're
converting to a type that has twice the precision of the current type in the
same
class, doing a simple math operation on it and converting back to the smaller
type.
The change makes it so the operations ar
Hi All,
This patch adds support for SLP vectorization of Complex number arithmetic with
rotations
along with Argand plane.
For this to work it has to recognize two statements in parallel as it needs to
match
against operations towards both the real and imaginary numbers. The
instructions gene
Hi All,
This patch adds the expander support for supporting autovectorization of
complex number operations
such as Complex addition with a rotation along the Argand plane. This also
adds support for complex
FMA.
The instructions are described in the ArmARM [1] and are available from
Armv8.3-a
Hi All,
This patch adds tests for AArch64 and Arm to test the autovectorization
of complex numbers using the Armv8.3-a instructions.
This patch enables them only for AArch64 at this point.
Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.
The instructions have also been tested on
Hi All,
This patch adds new testsuite directive for both Arm and AArch64 to support
testing of the Complex Arithmetic operations form Armv8.3-a.
Bootstrap and Regtest on aarch64-none-linux-gnu, arm-none-gnueabihf and
x86_64-pc-linux-gnu
and no regressions.
The instructions have also been tested
Hi All,
This patch adds the expander support for supporting autovectorization of
complex number operations
such as Complex addition with a rotation along the Argand plane. This also
adds support for complex
FMA.
The instructions are described in the ArmARM [1] and are available from
Armv8.3-a
Hi All,
The AArch32 backend is currently not able to support autovectorization of
half-float values
on ARM. This is because we never told the vectorizer what the vector modes are
for Half floats.
This enables autovectorization by definiting V4HF and V8HF as the vector modes.
Bootstrap and Regt
On Sun, 11 Nov 2018 16:02:33 +0800
"bin.cheng" wrote:
Quick observation unrelated to the real patch.
I think the coding style mandates to use the type itself and not the
underlying structure.
I know there are alot of places from before our switch to C++ that
still use enum tree_code or enum mac
Ping.
On 11/1/18 10:46 PM, Richard Henderson wrote:
> From: Richard Henderson
>
> Changes since v2:
> * Committed half of the patch set.
> * Split inline TImode support from out-of-line patches.
> * Removed the ST out-of-line functions, to match inline.
> * Moved the out-of-line function
Hi Matthew,
> [ As mentioned in the commit message, the test was done with GCC 8.2.0
> since there was an unrelated problem compiling some sanitizer component
> at the time. I will try to test a current GCC version during the weekend. ]
The compilation problem, more specifically, is
In file incl
Hi,
I have submitted a patch to Define ASM_PREFERRED_EH_DATA_FORMAT for
C-SKY
Index: gcc/ChangeLog
===
--- gcc/ChangeLog (revision 266011)
+++ gcc/ChangeLog (working copy)
@@ -1,3 +1,7 @@
+2018-11-11 Xianmiao Q
Hi,
I have submitted a patch to support ‘-profile' for C-SKY
Index: gcc/ChangeLog
===
--- gcc/ChangeLog (revision 266012)
+++ gcc/ChangeLog (working copy)
@@ -1,5 +1,9 @@
2018-11-11 Xianmiao Qu
+ * co
Hello world,
the attached patch fixes both ICEs in the PR by adding some tests.
It was necessary to shuffle around a bit of code, plus to make sure that
double error reporting did not become too bad.
Regression-tested. OK for trunk?
Regards
Thomas
2018-11-11 Thomas Koenig
Hi,
this patch should be last patch for type simplification (modulo possible bits
that needs clearing I still notice). It does the following
1) enables the patch to simplify aggregates also for enums.
While this does not affect C++, in C we want pointers to incomplete
and complete variant
On Sat, 10 Nov 2018 09:11:20 -0800
Julian Brown wrote:
Two nits.
> diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
> index 6430e61..ebba7ca 100644
> --- a/gcc/fortran/openmp.c
> +++ b/gcc/fortran/openmp.c
> @@ -3781,9 +3805,6 @@ check_array_not_assumed (gfc_symbol *sym, locus loc,
> c
On 11/10/2018 12:01 AM, Eric Gallager wrote:
On 11/9/18, David Malcolm wrote:
This patch adds a fix-it hint to various pointer-vs-non-pointer
diagnostics, suggesting the addition of a leading '&' or '*'.
For example, note the ampersand fix-it hint in the following:
demo.c:5:22: error: invalid
One other high-level comment: a more powerful interface to
variable tracing than annotating declarations in the source
would be to provide either the names of the symbols to trace
on the command line or in an external file. That way tracing
could be enabled for objects and types declared in read-
I've checked in this patch to fix PR26366, another small but ancient
documentation bug.
-Sandra
2018-11-11 Sandra Loosemore
PR c/26366
gcc/
* doc/extend.texi (Other Builtins): Document probability associated
with __builtin_expect.
Index: gcc/doc/extend.texi
=
On 11/10/2018 07:57 PM, David Malcolm wrote:
On Mon, 2018-10-22 at 16:08 +0200, Richard Biener wrote:
On Mon, 22 Oct 2018, David Malcolm wrote:
On Mon, 2018-10-22 at 15:56 +0200, Richard Biener wrote:
[...snip...]
This is what I finally applied for the original patch after
fixing
the above i
On Fri, Nov 9, 2018 at 7:37 PM Iain Sandoe wrote:
> Bootstrap succeeds and the new test passes for Darwin.
>
> This does not alter that Darwin has breakage in this area
> (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78444)
> see : https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00884.html and HJ’
On Sun, 2018-11-11 at 12:10 -0700, Martin Sebor wrote:
> On 11/10/2018 07:57 PM, David Malcolm wrote:
> > On Mon, 2018-10-22 at 16:08 +0200, Richard Biener wrote:
> > > On Mon, 22 Oct 2018, David Malcolm wrote:
> > >
> > > > On Mon, 2018-10-22 at 15:56 +0200, Richard Biener wrote:
> > > > [...snip
On Sun, 2018-11-11 at 11:01 -0700, Martin Sebor wrote:
> On 11/10/2018 12:01 AM, Eric Gallager wrote:
> > On 11/9/18, David Malcolm wrote:
> > > This patch adds a fix-it hint to various pointer-vs-non-pointer
> > > diagnostics, suggesting the addition of a leading '&' or '*'.
> > >
> > > For exam
On 10/30/2018 11:30 AM, Segher Boessenkool wrote:
The Linux kernel people want a feature that makes GCC pretend some
inline assembler code is tiny (while it would think it is huge), so
that such code will be inlined essentially always instead of
essentially never.
This patch lets you say "asm in
On Sun, Nov 11, 2018 at 04:01:42PM -0500, David Malcolm wrote:
> On Sun, 2018-11-11 at 12:10 -0700, Martin Sebor wrote:
> > > +#define VERIFY_DUMP_ENABLED_P \
> > > + do { \
> > > +gcc_assert (dump_enabled_p ()); \
> > > +if (!dump_enabled_p ())
On Sun, Nov 11, 2018 at 02:33:34PM -0700, Martin Sebor wrote:
> On 10/30/2018 11:30 AM, Segher Boessenkool wrote:
> >The Linux kernel people want a feature that makes GCC pretend some
> >inline assembler code is tiny (while it would think it is huge), so
> >that such code will be inlined essentiall
This patch should have no visible effect. It was approved in the BZ and
is what remains of PR54005. _M_i is declared "alignas(_S_alignment) _Tp
_M_i;" and is_lock_free is supposed to refer to the *type* not the
specific *object*. (Note how the actual address of the object is not
used in the __at
When gcc can't find a header file, it's a hard error that stops the build,
typically requiring the user to mess around with compile flags, Makefiles,
dependencies, and so forth.
Often the exact search paths aren't obvious to the user. Consider the
case where the include paths are injected via a t
I've checked in this patch to fix another old but easy doc issue from
bugzilla, PR43105.
-Sandra
2018-11-11 Sandra Loosemore
PR c++/43105
gcc/
* doc/invoke.texi (C++ Dialect Options): Add warning about mixing
-frtti and -fno-rtti code.
Index: gcc/doc/invoke.texi
This patch is based on grepping the C++ frontend for %P and %qP
i.e. diagnostics that refer to a parameter number. It fixes up
these diagnostics to highlight the pertinent param, where appropriate
(and possible), along with various other tweaks, as described in the
ChangeLog.
OK for trunk if it p
This implements early remat for condition codes, for rs6000. Saving
and restoring the CR register is pretty expensive, so we want to avoid
doing it.
It is an RFC for two reasons. Firstly, I needed to delete the
NUM_POLY_INT_COEFFS > 1 check from generic code, since that has nothing
to do with ea
On 11/11/18 3:14 AM, Tamar Christina wrote:
Hi All,
This patch just adds documentation for the xorsign optab that was added a while
ago.
Ok for trunk?
+@cindex @code{xorsign@var{m}3} instruction pattern
+@item @samp{xorsign@var{m}3}
+Target suppports an efficient expansion of x * copysign (1.
On 11/11/2018 03:00 PM, Segher Boessenkool wrote:
On Sun, Nov 11, 2018 at 02:33:34PM -0700, Martin Sebor wrote:
On 10/30/2018 11:30 AM, Segher Boessenkool wrote:
The Linux kernel people want a feature that makes GCC pretend some
inline assembler code is tiny (while it would think it is huge), s
On Sun, Nov 11, 2018 at 04:41:19PM -0700, Martin Sebor wrote:
> On 11/11/2018 03:00 PM, Segher Boessenkool wrote:
> >On Sun, Nov 11, 2018 at 02:33:34PM -0700, Martin Sebor wrote:
> >>On 10/30/2018 11:30 AM, Segher Boessenkool wrote:
> >>>The Linux kernel people want a feature that makes GCC pretend
gcc/ChangeLog:
* pretty-print.c (class selftest::test_pretty_printer): New
subclass of pretty_printer.
(selftest::test_prefixes_and_wrapping): New test.
(selftest::pretty_print_c_tests): Call it.
---
gcc/pretty-print.c | 96 ++
We often emit more than one diagnostic at the same source location.
For example, the C++ frontend can emit many diagnostics at
the same source location when suggesting overload candidates.
For example:
../../src/gcc/testsuite/g++.dg/diagnostic/bad-binary-ops.C: In function 'int
test_3(s, t)':
..
On Sun, Nov 11, 2018 at 7:20 PM Bernhard Reutner-Fischer
wrote:
>
> On Sun, 11 Nov 2018 16:02:33 +0800
> "bin.cheng" wrote:
>
> Quick observation unrelated to the real patch.
>
> I think the coding style mandates to use the type itself and not the
> underlying structure.
>
> I know there are alot
Consider:
class t1
{
public:
double length () const { return m_length; }
private:
double m_length;
};
missing-parens-fixit.C: In function 'bool test_1(const t1&)':
missing-parens-fixit.C:14:15: error: invalid use of member function
'double t1::length() const' (did you forget t
Hi,
> On Nov 10, 2018, at 2:51 AM, Martin Liška wrote:
>
> On 11/9/18 6:43 PM, Qing Zhao wrote:
>> Hi, Martin,
>>
>> thanks a lot for the previous two new options for live-patching.
>>
>>
>> I have two more questions below:
>
> Hello.
>
>>
>> 1. do we still need new options to disable th
Hi,
I have submitted a patch to handle -frounding-math for C-SKY
Index: gcc/ChangeLog
===
--- gcc/ChangeLog (revision 266023)
+++ gcc/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2018-11-11 Xianmiao Qu
+
+
On Sun, Nov 11, 2018 at 11:37:57AM -0700, Martin Sebor wrote:
> One other high-level comment: a more powerful interface to
> variable tracing than annotating declarations in the source
> would be to provide either the names of the symbols to trace
> on the command line or in an external file. That
PR87507 shows a problem where IRA assigns a non-volatile TImode reg pair to
a pseudo when there is a volatile reg pair available to use. This then
causes us to emit save/restore code for the non-volatile reg usage.
My first attempt at solving this was to adjust the costs used by non-volatile
regi
On Sun, Nov 11, 2018 at 10:06:21AM +0100, Richard Biener wrote:
> That is, usually debuggers look for a location list of a variable
> and find, say, %rax. But for ptwrite the debugger needs to
> examine all active location lists for, say, %rax and figure out
> that it contains the value for variab
Renlin, Jeff and Vlad: requests and questions for you below...
PR87899 shows another latent LRA bug exposed by my r264897 commit.
In the bugzilla report, we have the following rtl in LRA:
(insn 1 (set (reg:SI 1 r1) (reg/f:SI 2040)))
...
(insn 2 (set (mem/f/c:SI (pre_modify:SI (reg:SI 1 r1)
Hi Richard,
Thanks for the review.
On Thu, 8 Nov 2018 at 00:03, Richard Biener wrote:
>
> On Fri, Nov 2, 2018 at 10:02 AM Kugan Vivekanandarajah
> wrote:
> >
> > Hi Richard,
> > Thanks for the review.
> > On Tue, 30 Oct 2018 at 01:25, Richard Biener
> > wrote:
> > >
> > > On Mon, Oct 29, 2018
PR69502 notes that the documentation of the align type attribute had
gotten out of sync with the corresponding variable attribute with
respect to whether decreasing the alignment of a type was permitted.
I've checked in this patch to replace the incorrect paragraph with a
copy of the correct on
When doing some debugging session I noticed that the
__gnu_cxx::throw_allocator doubles all lookup on both insert and erase.
Using map::insert result and erasing the found iterator avoids this
double lookup.
* include/ext/throw_allocator.h
(annotate_base::insert(void*, size_t)): Use i
On 11/9/18 11:00 PM, Jeff Law wrote:
> On 11/8/18 6:42 AM, Martin Liška wrote:
>> Hi.
>>
>> The patch is about possibility to filter which files are instrumented. The
>> usage
>> is explained in the PR.
>>
>> Patch can bootstrap and survives regression tests on x86_64-linux-gnu.
>>
>> Ready for tr
54 matches
Mail list logo