On Fri, Jun 19, 2020 at 02:43:36PM -0500, Peter Bergner wrote:
> Heh, now I'm not so sure after reading the comment before the test. :-)
> Mike added this code.
>
> Mike, it looks like you explicitly added XImode here, even though we
> will never generate XImode uses. Is there some code somewhere
On 6/19/20 2:39 PM, Nicholas Krause wrote:
This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in
cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing
incomplete template pack expansion cases.
Signed-off-by: Nicholas Krause
Changelog:
*cp/type2ck.c: Add missing c
My recent patch to add scalar integer simplification unit tests to
simplify_rtx_c_tests
identified two "trivial" corner cases that could be improved in simplify-rtx.c.
I don't believe that either case can currently be triggered from GCC current
front-end/back-end combinations, but hopefully the r
On 6/19/20 2:33 PM, Peter Bergner wrote:
> On 6/19/20 1:12 PM, Segher Boessenkool wrote:
>> On Fri, Jun 19, 2020 at 11:47:35AM -0500, Peter Bergner wrote:
Why are OImode and XImode handled here?
> static bool
> rs6000_modes_tieable_p (machine_mode mode1, machine_mode mode2)
On 6/19/20 1:12 PM, Segher Boessenkool wrote:
> On Fri, Jun 19, 2020 at 11:47:35AM -0500, Peter Bergner wrote:
>>> Why are OImode and XImode handled here?
>>>
static bool
rs6000_modes_tieable_p (machine_mode mode1, machine_mode mode2)
{
>>
>> Do you mean why *aren't* they handled
PR libstdc++/95765
* include/bits/stl_algobase.h (__size_to_integer(float))
(__size_to_integer(double), __size_to_integer(long double))
(__size_to_integer(__float128)): Cast return type explicitly.
* include/bits/stl_uninitialized.h (__uninitialized_default_1
This fixs the PR95672 by adding the missing TYPE_PACK_EXPANSION case in
cxx_incomplete_type_diagnostic in order to avoid ICES on diagnosing
incomplete template pack expansion cases.
Signed-off-by: Nicholas Krause
Changelog:
*cp/type2ck.c: Add missing case TYPE_PACK_EXPANSION for diagnosticing
inc
Hi!
On Fri, Jun 19, 2020 at 11:47:35AM -0500, Peter Bergner wrote:
> >>(define_mode_iterator RELOAD): Add POI and PXI.
> >
> > Why POI and PXI, but not OI and XI?
>
> We don't have an enabled XI or OI move pattern, so I don't think
> we'll ever see those modes at all in rtl.
Yeah good point
On 6/19/20 11:45 AM, Segher Boessenkool wrote:
> On Thu, Jun 18, 2020 at 03:45:17PM -0500, Peter Bergner wrote:
>> +;; Return 1 if this operand is valid for a MMA assemble accumulator insn.
>> +(define_special_predicate "mma_input_operand"
>> + (match_test "(mode == PXImode
>> +&& (GET
Hi!
On Thu, Jun 18, 2020 at 03:46:31PM -0500, Peter Bergner wrote:
> +/* { dg-final { scan-assembler-times {\mlxv\M} 40 } } */
> +/* { dg-final { scan-assembler-times {\mlxvp\M} 12 } } */
> +/* { dg-final { scan-assembler-times {\mstxvp\M} 40 } } */
> +/* { dg-final { scan-assembler-times {\mxxmfa
On 6/18/20 6:44 PM, Segher Boessenkool wrote:
>> (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_MMA
>> and RS6000_BTM_FUTURE.
> The latter is already there?
Oops, yes. I'll remove it.
>> * config/rs6000/rs6000.md (define_attr "isa"): Add mma.
>
> Is this ever usefu
Hi!
On Thu, Jun 18, 2020 at 03:45:17PM -0500, Peter Bergner wrote:
> +;; Return 1 if this operand is valid for a MMA assemble accumulator insn.
> +(define_special_predicate "mma_input_operand"
> + (match_test "(mode == PXImode
> + && (GET_MODE (op) == V16QImode)
> + && (vs
Implementing P2085, another refinement to the operator<=> specification from
the Prague meeting. It was deemed desirable to be able to have a non-inline
defaulted definition of a comparison operator just like you can with other
defaulted functions.
Tested x86_64-pc-linux-gnu, applying to trunk.
On 19/06/2020 17:00, Tobias Burnus wrote:
OK for mainline?
OK, thank you.
Andrew
On 6/19/20 11:53 AM, Alexandre Oliva wrote:
Here's an incremental patch, on top of the one you kindly tested the
other day (thanks!), that attempts to introduce per-offload-target dump
name variation.
Could you possibly give it a spin with the offloading targets you've
got?
Done; nvptx compil
OK for mainline?
Tobias
-
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander
Walter
amdgcn: Silence compile warnings
gcc/ChangeLog:
* config/gcn/gcn.c (gcn_related_vector
On 6/19/20 3:08 AM, Kito Cheng wrote:
- g++ will complain too few arguments for frflags builtin like bellow
message:
error: too few arguments to function 'unsigned int
__builtin_riscv_frflags(void)'
- However it's no arguments needed, it because we declare the function
typ
> -Original Message-
> From: Gcc-patches On Behalf Of Przemyslaw
> Wirkus
> Sent: 19 June 2020 15:06
> To: Richard Biener
> Cc: gcc-patches@gcc.gnu.org; Marc Glisse
> Subject: RE: [PATCH][GCC]: Fix for PR94880: Failure to recognize andn pattern
>
> > From: Richard Biener
> > Subject: R
Committed to wwwdocs.
commit 2b70f89ff4df991b32d3680f56485470ec978bc6
Author: Jonathan Wakely
Date: Fri Jun 19 16:06:05 2020 +0100
Fix typo in docs for Git write access
diff --git a/htdocs/gitwrite.html b/htdocs/gitwrite.html
index 36bb1a20..5332e2f5 100644
--- a/htdocs/gitwrite.html
+++
* include/bits/stl_pair.h (_Index_tuple): Remove redundant
namespace qualification.
(pair::pair(tuple<>&, tuple<>&, _Index_tuple, _Index_tuple)):
Likewise.
* include/std/tuple (_Head_base, _Tuple_impl, tuple_size)
(tuple_element, __get_helper, get, __
This properly handles a lane permutation in scalar costing.
For the current only use this doesn't matter much but with
permutes that change the number of lanes it will eventually
ICE.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard,
2020-06-19 Richard Biener
* t
* include/bits/std_function.h (function): Define all member
functions inline.
There doesn't seem to be a good reason for these to be non-inline.
Tested powerpc64le-linux, committed to master.
commit abed8b56b92b103275e6871b689862c0495b761b
Author: Jonathan Wakely
Date: Fri Ju
> From: Richard Biener
> Subject: Re: [PATCH][GCC]: Fix for PR94880: Failure to recognize andn
> pattern
Snip...
> The patch is OK.
I do not have write access yet. Can I ask someone to push my patch to
master please ?
Thanks in advance,
Przemyslaw
> Thanks,
> Richard.
>
> > > On Fri, 19 Jun
This splits SLP load nodes with load permutation into a SLP
load node (with load "permutation" removing gaps) and a
lane permutation node. The first and foremost goal of this
is to be able to have a single SLP node for each load group
so we can start making decisions about how to vectorize
them
Document TSAN changes to support alternative runtimes, such as KCSAN.
---
htdocs/gcc-11/changes.html | 15 +++
1 file changed, 15 insertions(+)
diff --git a/htdocs/gcc-11/changes.html b/htdocs/gcc-11/changes.html
index 9dba1e14..dc22f216 100644
--- a/htdocs/gcc-11/changes.html
+++ b/h
On 19/06/20 12:17 +0100, Jonathan Wakely wrote:
On 19/06/20 12:49 +0200, Marc Glisse wrote:
Anyway, while I blame the compiler for not generating very good code
with the current implementation, I believe the change can be seen as
a simplification and should be pushed to master. It regtests fine
On 04/06/20 14:46 +0100, Jonathan Wakely wrote:
On 04/06/20 00:50 +0200, Marc Glisse wrote:
(I don't currently have a setup that would enable me to commit anything. I'll
try to fix it eventually, but likely not so soon)
Ah, I missed this bit. I'll take care of it for you.
If it's due to the G
This properly handles a lane permutation in scalar costing.
For the current only use this doesn't matter much but with
permutes that change the number of lanes it will eventually
ICE.
Bootstrap / regtest running on x86_64-unknown-linux-gnu.y
2020-06-19 Richard Biener
* tree-vect-slp.c
I missed that indeed SLP permutation code generation can end up
refering to a non-last vectorized stmt in the last SLP_TREE_VEC_STMTS
element as optimization. So walk them all.
Bootstrapped / tested on x86_64-unknown-linux-gnu, pushed.
2020-06-19 Richard Biener
PR tree-optimization/9
On Fri, Jun 19, 2020 at 12:37 PM Przemyslaw Wirkus
wrote:
>
>
> On Fri, Jun 19 2020 Marc Glisse wrote:
> > (not a reviewer)
> >
> > It looks fine to me. Do we already handle the related (x|y)^y and (x|y)&~y ?
>
> These are already in match.pd:
>
> /* (X | Y) ^ X -> Y & ~ X*/
> /* (x | y) & ~x -> y
On 19/06/20 12:49 +0200, Marc Glisse wrote:
Hello,
I am proposing a small tweak to the implementation of __includes,
which in my application saves 20% of the running time. I noticed it
because using range-v3 was giving unexpected performance gains.
The unified diff is attached, but let me fi
Hello,
I am proposing a small tweak to the implementation of __includes, which in
my application saves 20% of the running time. I noticed it because using
range-v3 was giving unexpected performance gains.
The unified diff is attached, but let me first show a more readable
context diff.
***
On Fri, Jun 19 2020 Marc Glisse wrote:
> (not a reviewer)
>
> It looks fine to me. Do we already handle the related (x|y)^y and (x|y)&~y ?
These are already in match.pd:
/* (X | Y) ^ X -> Y & ~ X*/
/* (x | y) & ~x -> y & ~x */
> On Fri, 19 Jun 2020, Przemyslaw Wirkus wrote:
>
> > Hi all,
>
Oh I missed the -mabi in testcase, v2 patch attached, same as V1 but
add -mabi flag to testcase.
On Fri, Jun 19, 2020 at 3:08 PM Kito Cheng wrote:
>
> - g++ will complain too few arguments for frflags builtin like bellow
> message:
>
> error: too few arguments to function 'unsigned int
On Jun 18, 2020, Tobias Burnus wrote:
> Thus, without the offload_target prefix, they would dump into the same file!
Here's an incremental patch, on top of the one you kindly tested the
other day (thanks!), that attempts to introduce per-offload-target dump
name variation.
Could you possibly gi
- Normalize arch string would help the multi-lib handling, e.g. rv64gc and
rv64g_c are both valid and same arch, but latter one would confuse
the detection of multi-lib, earlier normalize can resolve this issue.
gcc/ChangeLog:
* config/riscv/riscv.h (DRIVER_SELF_SPECS): New.
---
g
(not a reviewer)
It looks fine to me. Do we already handle the related (x|y)^y and (x|y)&~y ?
On Fri, 19 Jun 2020, Przemyslaw Wirkus wrote:
Hi all,
Pattern "(x | y) - y" can be optimized to simple "(x & ~y)" andn pattern.
Bootstrapped and tested on aarch64-none-linux-gnu.
OK for master ?
C
Hi all,
Pattern "(x | y) - y" can be optimized to simple "(x & ~y)" andn pattern.
Bootstrapped and tested on aarch64-none-linux-gnu.
OK for master ?
Cheers,
Przemyslaw
gcc/ChangeLog:
PR tree-optimization/94880
* match.pd (A | B) - B -> (A & ~B): New simplification.
gcc/testsu
There is a second case where Expand_N_Assignment_Statement was applying
range checks for allocators and it is also obsolete.
No functional changes.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Eric Botcazou
gcc/ada/
* exp_ch5.adb (Expand_N_Assignment_Statement): Do n
This patch fixes the compiler whereby a project with manually specified
Naming for subunits such that several of the subunits exist in the same
file as the unit they are defined in.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Justin Squirek
gcc/ada/
* lib.adb (Check_
It is permitted to put very large size clauses on enumeration types
so we need to deal with them in Get_Integer_Type.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Eric Botcazou
gcc/ada/
* exp_attr.adb (Get_Integer_Type): Return the largest supported
unsigned i
The procedure Hide_Public_Entities is responsible for (conservatively)
attempting to hide entities that have been previously made public by
the semantic analyzer in package bodies. But it effectively does not
run on nested instance bodies because instantiations are still pending
by the time the en
...and replace it with an explicit check, so it is enabled whether or
not assertions are enabled.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Bob Duff
gcc/ada/
* libgnat/a-ststbo.adb (Write): Replace pragma Assert with "if
... raise Constraint_Error".--- gcc/
Attribute Update only makes sense with named component associations. The
positional component associations were silently ignored by both
analysis, resolution and expansion; now they are rejected as illegal.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Piotr Trojanek
gcc/ada/
The predicate function In_Place_Assign_OK is responsible for finding
out whether the in-place assignment of an aggregate is possible; for
array aggregates, it checks among other things whether sliding will
occur during the assignment.
But, in an allocator context, it does so by comparing the bound
This fixes a Program_Error raised by Analyze_Selected_Component because
it didn't manage to find the proper selector for a selected component
applied to a parameter of class-wide type in an instance body.
The problem is that the tagged type is derived in the private part of
the generic spec from a
The removal of the obsolete code path originally implemented for ASIS
has exposed a latent issue for components of discriminated tagged types
in instance bodies: Is_Visible_Component can wrongly return false for
them even though the ancestor type is perfectly visible in the instance.
No functional
This patch fixes the compiler whereby a conversion to Interfaces.C.Bool
within a return statement may cause a spurious "condition always X"
warning.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Justin Squirek
gcc/ada/
* sem_warn.adb (Warn_On_Known_Condition): Add gene
The procedure Apply_Range_Check is the only caller of the procedure
Apply_Selected_Range_Checks and always passes Do_Static as False,
which means that the True path is unreachable in the latter, so this
change merges the latter in the former.
Moveover, it adds a new parameter Insert_Node to Apply_
Resolve_Qualified_Expression propagates the type of the operand into
the node itself if the original type of the node is unconstrained,
but this is not needed for an allocator and might be problematic,
e.g. for the CCG compiler which expects unconstrained array types.
No functional changes.
Teste
The compiler rejects an expression function declared in a generic
package with Ghost aspect, when the expression of the function includes
a reference to a private type declared outside of the package, whose
full view has not yet been analyzed, and the Ghost mode is Ignore.
Tested on x86_64-pc-linu
This patch fixes the compiler whereby style checks for extranious
whitespace (under the flag -gnatyb) may crash the compiler when a
manually specified UTF character is present directly before such an
extranious whitespace.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Justin Squir
This AI changes the API to move the validity checks to a subtype
Valid_Big_Integer/Real with a dynamic predicate.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Arnaud Charlet
gcc/ada/
* libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
libgnat/a-nbnbin__gmp.adb, libg
The qualified expressions present in allocators use a specific circuitry
during type resolution and, therefore, escape the new static predicate
check required by AI12-0100 and present in Resolve_Qualified_Expression.
This removes the specific circuitry, as well as makes small adjustments
to Resolv
It turns out that there are legitimate cases now flagged by the warning.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Eric Botcazou
gcc/ada/
* sem_prag.adb (Process_Convention): Revert previous change.--- gcc/ada/sem_prag.adb
+++ gcc/ada/sem_prag.adb
@@ -8304,7 +8304,
For any object Foo, Foo'Access can never be passed as a parameter of a
call to the equality op for Universal_Access, so add this check and do
some code cleanup on recent changes at the same time.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Arnaud Charlet
gcc/ada/
* s
For a record delta aggregate like "(X with delta C => 1)" the component
choice identifier "C" had empty Entity and Etype fields.
For GNAT this was fine, because it expands delta aggregates into
assignments using component names alone; for GNATprove this was
troublesome, because it keeps delta aggr
Attribute 'Valid_Scalars on private tagged types doesn't work as it
should on private tagged types. Fix most likely needs to modify three
routines. This patch document the problem with a ??? comment.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Piotr Trojanek
gcc/ada/
When applying 'Valid_Scalars attribute to a class-wide object (either
explicitly or as a result of a command line switch like -gnateV), we
must strip away type privacy.
Note: this is just a minimal fix to avoid a crash. Attribute
'Valid_Scalars is not really working as expected on tagged types,
es
When calling routine Build_Array_VS_Func that expands attribute
Valid_Scalars on array objects we tested Scalar_Part_Present on the
array's component type. This was unnecessary, because
Build_Array_VS_Func is only called after checking Scalar_Part_Present on
the array's type, which internally Scala
Validity checks for 'Old prefixes (enabled by the -gnatVo switch) are
now executed when the 'Old prefix is evaluated, i.e. at the very
beginning of a subprogram and not when evaluating the postcondition.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Piotr Trojanek
gcc/ada/
Routine Apply_Parameter_Validity_Checks is only called when flag
Check_Validity_Of_Parameters is true, so repeated testing of this flag
within that routine itself was unnecessary.
Tested on x86_64-pc-linux-gnu, committed on trunk
2020-06-19 Piotr Trojanek
gcc/ada/
* checks.adb (Apply
Please find attached a fix for PR95708.
OK for commit and backport?
Commit message:
Fortran : ICE in resolve_fl_procedure PR95708
Now issues an error "Intrinsic procedure 'num_images' not
allowed in PROCEDURE" instead of an ICE.
2020-06-19 Steven G. Kargl
gcc/fortran/
PR fortran/PR9
- g++ will complain too few arguments for frflags builtin like bellow
message:
error: too few arguments to function 'unsigned int
__builtin_riscv_frflags(void)'
- However it's no arguments needed, it because we declare the function
type with VOID arguments, that seems like requir
64 matches
Mail list logo