> Am 24.08.2024 um 16:47 schrieb Alexander Monakov :
>
> Tie together the two functions that ensure tail padding with
> search_line_ssse3 via CPP_BUFFER_PADDING macro.
Ok
Richard
> libcpp/ChangeLog:
>
>* internal.h (CPP_BUFFER_PADDING): New macro; use it ...
>* charset.cc (_cpp_co
> Am 24.08.2024 um 13:33 schrieb pan2...@intel.com:
>
> From: Pan Li
>
> This patch would like to add strict check for imm operand of .SAT_ADD
> matching. We have no type checking for imm operand in previous, which
> may result in unexpected IL to be catched by .SAT_ADD pattern.
>
> Howev
> Am 24.08.2024 um 06:59 schrieb Alexandre Oliva :
>
> Hello, Richi,
>
> Thanks for the review and the feedback.
>
> On Aug 22, 2024, Richard Biener wrote:
>
>>> + /* If the object is small enough to go in registers, and it's
>>> +
> Am 23.08.2024 um 16:49 schrieb Jeff Law :
>
>
>
>> On 8/23/24 6:02 AM, Georg-Johann Lay wrote:
>>
>> Hi, this fails on machines that don't support scheduling:
>> cc1: warning: instruction scheduling not supported on this target machine
>> FAIL: gcc.dg/torture/pr116343.c -O0 (test for e
On Fri, Aug 23, 2024 at 2:36 PM H.J. Lu wrote:
>
> obj.found is the number of LTO symbols. We should include the offload
> section when it is used by linker even if there are no LTO symbols.
OK.
> PR lto/116361
> * lto-plugin.c (claim_file_handler_v2): Don't check obj.found
>
Complex lowering generally replaces existing complex defs with
COMPLEX_EXPRs but those might be dead when it can always refer to
components from the lattice. This in turn can pessimize followup
transforms like forwprop and reassoc, the following makes sure to
get rid of dead COMPLEX_EXPRs generate
On Fri, Aug 23, 2024 at 2:16 PM Georg-Johann Lay wrote:
>
> This patch overhauls the avr-ifelse mini-pass that optimizes
> two cbranch insns to one comparison and two branches.
>
> More optimization opportunities are realized, and the code
> has been refactored.
>
> No new regressions. Ok for tru
wise.
>> > * crc-CCIT-data8-pmul.c: Likewise.
>> > * crc-coremark-16bitdata-pmul.c: Likewise.
>> > * crc-crc32-data16.c: Likewise.
>> > * crc-crc32-data32.c: Likewise.
>> > * crc-crc32-data8.c: Likewise.
>> > * crc-c
On Fri, Aug 23, 2024 at 9:18 AM Gerald Pfeifer wrote:
>
> On Thu, 22 Aug 2024, Andrew Pinski wrote:
> > With newer ld, the default search library path does not include /usr/lib
> > nor /lib but the driver decides to not pass -L down to the link for
> > these and then in some/most cases libc is not
On Thu, Aug 22, 2024 at 8:36 PM Jakub Jelinek wrote:
>
> On Tue, Aug 20, 2024 at 01:52:35PM +0200, Richard Biener wrote:
> > On Sat, Aug 17, 2024 at 11:18 PM Jakub Jelinek wrote:
> > >
> > > On Sat, Aug 17, 2024 at 05:03:14AM +, Li, Pan2 wrote:
> > &g
On Thu, Aug 22, 2024 at 8:25 PM Alexander Monakov wrote:
>
> The recently introduced search_line_fast_ssse3 raised padding
> requirement from 16 to 64, which was adjusted in read_file_guts,
> but the corresponding ' + 16' in _cpp_convert_input was overlooked.
OK
> libcpp/ChangeLog:
>
> P
On Thu, Aug 22, 2024 at 5:04 PM Tom Tromey wrote:
>
> >>>>> "Richard" == Richard Biener writes:
>
> >> While working on a patch to the Ada compiler, I found a spot in
> >> dwarf2out.cc that calls add_name_attribute where a call to
> >>
> Am 23.08.2024 um 06:42 schrieb Bernd Edlinger :
>
> Apparently due to slightly different optimization levels
> not always both subroutines have multiple subranges,
> but having at least one such, and no lexical blocks
> is sufficient to prove that the fix worked. Q.E.D.
> So reduce the test
b08057b2b
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr116024.c
> @@ -0,0 +1,74 @@
> +/* PR tree-optimization/116024 */
> +/* { dg-do compile } */
> +/* { dg-options "-O1 -fdump-tree-forwprop1-details" } */
> +
> +#include
> +#include
> +
> +uint32_t f(void);
> +
> +int32_t i1(void)
> +{
> + int32_t l = 2;
> + l = 10 - (int32_t)f();
> + return l <= 9; // f() > 0
> +}
> +
> +int32_t i1a(void)
> +{
> + int32_t l = 2;
> + l = 20 - (int32_t)f();
> + return l <= INT_MIN; // return 0
> +}
> +
> +int32_t i1b(void)
> +{
> + int32_t l = 2;
> + l = 30 - (int32_t)f();
> + return l <= INT_MIN + 31; // f() == INT_MAX
> +}
> +
> +int32_t i1c(void)
> +{
> + int32_t l = 2;
> + l = INT_MAX - 40 - (int32_t)f();
> + return l <= -38; // f() > INT_MAX - 3
> +}
> +
> +int32_t i1d(void)
> +{
> + int32_t l = 2;
> + l = INT_MAX - 50 - (int32_t)f();
> + return l <= INT_MAX - 1; // f() != -50
> +}
> +
> +int32_t i1e(void)
> +{
> + int32_t l = 2;
> + l = INT_MAX - 60 - (int32_t)f();
> + return l != INT_MAX - 90; // f() != 30
> +}
> +
> +int32_t i1f(void)
> +{
> + int32_t l = 2;
> + l = INT_MIN + 70 - (int32_t)f();
> + return l <= INT_MAX - 2; // return 0
> +}
> +
> +int32_t i1g(void)
> +{
> + int32_t l = 2;
> + l = INT_MAX/2 + 30 - (int32_t)f();
> + return l <= INT_MIN/2 - 30; // return 1
> +}
> +
> +
> +/* { dg-final { scan-tree-dump-times "Removing dead stmt:.*?- _" 5
> "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "return 0" 2 "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "return 1" 1 "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* > 0" 1
> "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* == 2147483647"
> 1 "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* > 2147483644" 1
> "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* != 4294967246"
> 1 "forwprop1" } } */
> +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* != 30" 1
> "forwprop1" } } */
> diff --git a/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c
> b/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c
> index 81c536c90af..bfcec6719de 100644
> --- a/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c
> +++ b/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c
> @@ -10,4 +10,4 @@ f1 (int x, int t)
>return t;
> }
>
> -/* { dg-final { scan-assembler-times "cmn\\tw\[0-9\]+, #2" 1 } } */
> +/* { dg-final { scan-assembler-times "cmn\\tw\[0-9\]+, #3" 1 } } */
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Fri, Aug 16, 2024 at 4:24 PM Konstantinos Eleftheriou
wrote:
>
> From: kelefth
>
> In expressions like (a != b || ((a ^ b) & CST0) == CST1) and
> (a != b || (a ^ b) == CST), (a ^ b) is folded to false.
> In the equivalent expressions (((a ^ b) & CST0) == CST1 || a != b) and
> ((a ^ b) == CST,
Richard.
> Edwin
>
> On 7/24/2024 12:03 PM, Edwin Lu wrote:
> >
> > On 7/24/2024 3:52 AM, Richard Biener wrote:
> >> On Wed, Jul 24, 2024 at 1:31 AM Edwin Lu wrote:
> >>>
> >>> On 7/23/2024 11:20 AM, Richard Sandiford wrote:
> >>>>
On Wed, Aug 21, 2024 at 12:08 PM Kugan Vivekanandarajah
wrote:
>
> Hi Richard,
>
> > On 20 Aug 2024, at 6:09 pm, Richard Biener
> > wrote:
> >
> > External email: Use caution opening links or attachments
> >
> >
> > On Fri, Aug 9
0 with save_expr when it is not COMPLEX_EXPR.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/torture/pr116454-1.c: New test.
> * gcc.dg/torture/pr116454-2.c: New test.
>
> Signed-off-by: Andrew Pinski
> Co-Authored-By: Richard Biener
> ---
> gcc/fold-
On Thu, Aug 22, 2024 at 1:35 PM John Paul Adrian Glaubitz
wrote:
>
> On Thu, 2024-08-22 at 13:05 +0200, Richard Biener wrote:
> > > I'm not sure that bisecting works here as I suspect the issue is a result
> > > of the LRA switch.
> >
> > For sure. Still
t; +
> >> + oprnd0 = gimple_assign_rhs1 (last_stmt);
> >> + oprnd1 = gimple_assign_rhs2 (last_stmt);
> >> + itype = TREE_TYPE (oprnd0);
> >> + if (TREE_CODE (oprnd0) != SSA_NAME
> >> + || TREE_CODE (oprnd1) != SSA_NAME
> >> + || TREE_CODE (it
On Thu, Aug 22, 2024 at 12:54 PM John Paul Adrian Glaubitz
wrote:
>
> Hi Richard,
>
> On Thu, 2024-08-22 at 12:49 +0200, Richard Biener wrote:
> > If this is stage2 or stage3 it hints at a miscompile of the stage2/3
> > compiler. I'd concentrate on other
> &
On Thu, Aug 22, 2024 at 12:32 PM John Paul Adrian Glaubitz
wrote:
>
> (Please CC me in the replies, I am not subscribed to the list)
>
> Hi,
>
> I am currently trying to switch the SH backend to use the LRA register
> allocater
> by default with the help of patches by Oleg and Kaz (CC'ed) to addr
On Tue, Aug 20, 2024 at 9:52 AM wrote:
>
> From: Pan Li
>
> This patch would like to support the form 4 of the unsigned integer
> .SAT_TRUNC. Aka below example:
>
> Form 4:
> #define DEF_SAT_U_TRUC_FMT_4(NT, WT) \
> NT __attribute__((noinline)) \
> sat_u_truc_##W
iew_support))
> dwarf2out_as_locview_support = dwarf2out_default_as_locview_support ();
> + if (dwarf2out_as_locview_support && !dwarf2out_as_loc_support)
> + {
> + if (OPTION_SET_P (dwarf2out_as_locview_support))
> + warning_at (UNKNOWN_LOCATION, 0,
> + "%<-gas-loc
On Wed, Aug 7, 2024 at 11:31 AM wrote:
>
> From: Pan Li
>
> This patch would like to support the form 1 of the scalar signed
> integer .SAT_ADD. Aka below example:
>
> Form 1:
> #define DEF_SAT_S_ADD_FMT_1(T, MIN, MAX) \
> T __attribute__((noinline)) \
> sat_s_add_##T##_fmt_1
On Fri, Aug 16, 2024 at 6:05 AM Alexandre Oliva wrote:
>
> On Aug 15, 2024, Alexandre Oliva wrote:
>
> > I can't quite envision what to check for in a target-independent test.
>
> Got it. Also dropped some occurrences of CONST_CAST_TREE that I added,
> then changed function signatures but failed
On Thu, Aug 15, 2024 at 10:46 AM Victor Do Nascimento
wrote:
>
> Given the shift from modeling dot products as direct optabs to
> treating them as conversion optabs, we make necessary changes to the
> autovectorizer code to ensure that given the relevant tree code,
> together with the input and ou
On Fri, Aug 2, 2024 at 6:15 PM Mariam Arutunian
wrote:
>
> After the loop exit an internal function call (CRC, CRC_REV) is added,
> and its result is assigned to the output CRC variable (the variable where the
> calculated CRC is stored after the loop execution).
> The removal of the loop is left
On Thu, 22 Aug 2024, Bernd Edlinger wrote:
> On 8/22/24 09:11, Richard Biener wrote:
> > On Thu, 22 Aug 2024, Bernd Edlinger wrote:
> >> --- a/gcc/dwarf2out.cc
> >> +++ b/gcc/dwarf2out.cc
> >> @@ -10374,7 +10374,7 @@ dwarf2out_maybe_output_loclist_v
On Wed, Aug 21, 2024 at 4:25 PM H.J. Lu wrote:
>
> This hook allows the BFD linker plugin to distinguish calls to
> claim_file_handler that know the object is being used by the linker
> (from ldmain.c:add_archive_element), from calls that don't know it's
> being used by the linker (from elf_link_i
On Wed, Aug 21, 2024 at 4:24 PM Richard Sandiford
wrote:
>
> Richard Biener writes:
> > On Wed, Aug 21, 2024 at 8:37 AM Robin Dapp wrote:
> >>
> >> Hi,
> >>
> >> in get_best_extraction_insn we use smallest_int_mode_for_size with
> >> str
quot; 6 } } */
> +/* { dg-final { scan-assembler-times "uleb128\[^\n\]*LVU\[^\n\]* View list
> (begin|end)" 0 } } */
> +/* { dg-final { scan-assembler-times "uleb128\[^\n\]*0x\[^\n\]* View
> list (begin|end)" 0 } } */
>
> /* There are 3 DW_AT_inline attributes: one per abstract inline instance.
> The value of the attribute must be 0x3, meaning the function was
> diff --git a/gcc/toplev.cc b/gcc/toplev.cc
> index eee4805b504..292948122de 100644
> --- a/gcc/toplev.cc
> +++ b/gcc/toplev.cc
> @@ -1475,9 +1475,7 @@ process_options ()
> = (flag_var_tracking
> && debug_info_level >= DINFO_LEVEL_NORMAL
> && dwarf_debuginfo_p ()
> -&& !dwarf_strict
> -&& dwarf2out_as_loc_support
> -&& dwarf2out_as_locview_support);
> +&& !dwarf_strict);
> }
>else if (debug_variable_location_views == -1 && dwarf_version != 5)
> {
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
} } */
> +/* { dg-final { scan-assembler-times "\\(DIE \\(\[^\n\]*\\)
> DW_TAG_lexical_block" 0 } } */
> +
> +static int foo (int i)
> +{
> + volatile int j = i + 3;
> + if (j == 3)
> +return 0;
> + return j - 2;
> +}
> +int main()
> +{
> + volatile int z = foo (-2) && foo (-1);
> + return z;
> +}
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
The following does away with the idea to use non-symmetrical
testing of mode_can_transfer_bits in hash-table equality testing.
It isn't feasible to always control query order to maintain
consistency.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/116406
On Wed, Aug 21, 2024 at 2:27 PM H.J. Lu wrote:
>
> On Wed, Aug 21, 2024 at 2:38 AM Richard Biener
> wrote:
> >
> > On Tue, Aug 20, 2024 at 3:24 PM H.J. Lu wrote:
> > >
> > > On Tue, Aug 20, 2024 at 2:03 AM Richard Biener
> > > wrote:
> &g
On Thu, Aug 15, 2024 at 12:14 AM Sam James wrote:
>
> intermodule supported was dropped in r0-103106-gde6ba7aee152a0 with some
> remaining bits for Fortran removed in r14-1696-gecc96eb5d2a0e5.
OK
> Remove some small leftovers.
>
> * Makefile.in: Regenerate.
> * Makefile.tpl (STAG
On Tue, Aug 13, 2024 at 7:34 PM Andi Kleen wrote:
>
> Andi Kleen writes:
>
> I wanted to ping this patch. I believe Richard ok'ed most of it earlier
> but need an ok for the changes resulting from his review too
> (but they were mostly only test suite and comment fixes
> apart from some minor twe
When updating LC PHIs after copying loops we have to handle defs
defined outside of the loop appropriately (by not setting them to
NULL ...). This mimics how we handle this in the SSA updating
code of the vectorizer.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
Richard.
On Wed, 21 Aug 2024, Bernd Edlinger wrote:
> On 8/21/24 10:45, Richard Biener wrote:
> > On Wed, 21 Aug 2024, Richard Biener wrote:
> >
> >> On Tue, 20 Aug 2024, Bernd Edlinger wrote:
> >>
> >>> On 8/20/24 13:00, Richard Biener wrote:
> >
On Wed, 21 Aug 2024, Prathamesh Kulkarni wrote:
>
>
> > -Original Message-
> > From: Richard Biener
> > Sent: Tuesday, August 20, 2024 10:36 AM
> > To: Richard Sandiford
> > Cc: Prathamesh Kulkarni ; Thomas Schwinge
> > ; gcc-patches@gcc.gnu
On Wed, 21 Aug 2024, Robin Dapp wrote:
> > > > > _Bool iftmp.0_113;
> > > > > _Bool iftmp.0_114;
> > > > > iftmp.0_113 = .MASK_LOAD (_170, 8B, _169, _171(D));
> > > > > iftmp.0_114 = _47 | iftmp.0_113;
>
> > > _BoolD.2746 _47;
> > > iftmp.0_114 = _47 ? 1 : iftmp.0_113;
> > > which is
On Tue, Aug 20, 2024 at 3:35 PM Juergen Christ wrote:
>
> Am Tue, Aug 20, 2024 at 02:51:02PM +0200 schrieb Richard Biener:
> > On Tue, Aug 20, 2024 at 11:16 AM Juergen Christ
> > wrote:
> > >
> > > Am Tue, Aug 20, 2024 at 10:15:22AM +0200 schrieb Richard Bien
cycle,
otherwise I don't see how we'd run into this for example when we have
a vectorizable induction based on the same IV and stored into a
SLP memory group?
>From reading both above eventually hybrid detection should ignore
!STMT_VINFO_RELEVANT loop_vect uses ... (luckily hybrid d
t;
> Ok, I was already pretty sure we don't need - and glad to hear it confirmed.
> I was just thinking for consistency reasons we might want a masked
> load to always look like
> foo123 = .MASK_..._LOAD (mask, ..., else)
> foo124 = COND_EXPR (mask, foo123, 0);
> where foo124 would be optimized away (or not even emitted) for zeroing
> targets). That way subsequent code could always rely on zero.
> But as this requirement seems very rare it doesn't look like a useful
> invariant to enforce.
>
> All in all, it seems we don't need major changes to the approach.
> I'm going to work on the comments for the other patches.
>
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Tue, Aug 20, 2024 at 3:24 PM H.J. Lu wrote:
>
> On Tue, Aug 20, 2024 at 2:03 AM Richard Biener
> wrote:
> >
> > On Wed, Aug 14, 2024 at 3:15 PM H.J. Lu wrote:
> > >
> > > The new hook allows the linker plugin to distinguish calls to
> > > claim
-3127,7 +3151,9 @@ propagate_subaccesses_from_rhs (struct access *lacc,
> struct access *racc)
> ret = true;
> subtree_mark_written_and_rhs_enqueue (lacc);
> }
> - if (!lacc->first_child && !racc->first_child)
> + if (!lacc->first_child
> + && !racc->first_child
> + && !types_risk_mangled_binary_repr_p (racc->type, lacc->type))
> {
> /* We are about to change the access type from aggregate to scalar,
>so we need to put the reverse flag onto the access, if any. */
>
--
Richard Biener
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
On Sun, 11 Aug 2024, Robin Dapp wrote:
> This patch adds an else operand to vectorized masked load calls.
> The current implementation adds else-value arguments to the respective
> target-querying functions that is used to supply the vectorizer with the
> proper else value.
>
> Right now, the onl
> default:
>return -1;
> }
> @@ -4857,6 +4893,12 @@ internal_fn_else_index (internal_fn fn)
> case IFN_COND_LEN_SHR:
>return 3;
>
> +case IFN_MASK_LOAD:
> +case IFN_MASK_LEN_LOAD:
> +case IFN_MASK_LOAD_LANES:
> +case
On Wed, Aug 21, 2024 at 8:37 AM Robin Dapp wrote:
>
> Hi,
>
> in get_best_extraction_insn we use smallest_int_mode_for_size with
> struct_bits as size argument. In PR115495 struct_bits = 256 and we
> don't have a mode for that. This patch just bails for such cases.
>
> This does not happen on th
On Wed, Aug 21, 2024 at 7:40 AM liuhongt wrote:
>
> When none of mprefer-vector-width, avx256_optimal/avx128_optimal,
> avx256_store_by_pieces/avx512_store_by_pieces is specified, GCC will
> set ix86_{move_max,store_max} as max available vector length except
> for AVX part.
>
> if (T
On Wed, 21 Aug 2024, Richard Biener wrote:
> On Tue, 20 Aug 2024, Bernd Edlinger wrote:
>
> > On 8/20/24 13:00, Richard Biener wrote:
> > > On Fri, Aug 16, 2024 at 12:49 PM Bernd Edlinger
> > > wrote:
> > >>
> > >> While thi
On Tue, Aug 20, 2024 at 3:41 PM Qing Zhao wrote:
>
>
>
> > On Aug 20, 2024, at 05:58, Richard Biener
> > wrote:
> >
> > On Tue, Aug 13, 2024 at 5:34 PM Qing Zhao wrote:
> >>
> >> With the addition of the 'counted_by' attribute and i
On Wed, Aug 21, 2024 at 2:01 AM David Malcolm wrote:
>
> On Tue, 2024-08-20 at 11:49 +0200, Richard Biener wrote:
> > On Thu, Aug 15, 2024 at 8:13 PM David Malcolm
> > wrote:
> > >
> > > Here's v3 of my patch kit for "libdiagnostics", which mak
On Wed, 21 Aug 2024, Robin Dapp wrote:
> > > > When predicating a load we implicitly assume that the else value is
> > > > zero. In order to formalize this this patch queries the target for
> > > > its supported else operand and uses that for the maskload call.
> > > > Subsequently, if the else o
On Tue, 20 Aug 2024, Bernd Edlinger wrote:
> On 8/20/24 13:00, Richard Biener wrote:
> > On Fri, Aug 16, 2024 at 12:49 PM Bernd Edlinger
> > wrote:
> >>
> >> While this already works correctly for the case when an inlined
> >> subrouti
es);
> > - gsi_replace (&gsi, new_stmt, true);
> > + gsi_replace_with_seq (&gsi, call_seq, true);
> > + }
> > + else
> > + {
> > + new_stmt = predicate_rhs_code (stmt, mask, cond,
> > &
ct-patterns.cc | 17 +-
> gcc/tree-vect-slp.cc | 22 +-
> gcc/tree-vect-stmts.cc| 218 ++
> gcc/tree-vectorizer.h | 11 +-
> 29 files changed, 848 insertions(+), 261 deletions(-)
> create mode 1
def maybe? Encoding this in relevancy doesn't look right.
Note we also get testcases from time to time where invariant motion
failed to move invariant code.
We could possibly simply leave SLP scheduling to code-generate in the
preheader (as said, that worked at some point).
Richard.
> This would
On Tue, Aug 20, 2024 at 12:04 PM Tamar Christina
wrote:
>
> > -Original Message-
> > From: Richard Biener
> > Sent: Tuesday, August 20, 2024 10:37 AM
> > To: Victor Do Nascimento
> > Cc: gcc-patches@gcc.gnu.org; Tamar Christina ;
> > claz
On Tue, Aug 20, 2024 at 11:16 AM Juergen Christ wrote:
>
> Am Tue, Aug 20, 2024 at 10:15:22AM +0200 schrieb Richard Biener:
> > On Fri, Aug 9, 2024 at 2:58 PM Juergen Christ wrote:
> > >
> > > Am Thu, Aug 08, 2024 at 02:06:44PM +0200 schrieb Richard Biener:
> >
On Mon, Aug 19, 2024 at 8:38 PM Andrew Pinski wrote:
>
> Currently maybe_push_res_to_seq does not handle non-const builtins (it does
> handle internal
> functions though).
I think it simply assumes they are const ... if we can indeed verify
this we should
make it match the builtin behavior.
> S
On Mon, Aug 19, 2024 at 8:38 PM Andrew Pinski wrote:
>
> After the conversion to use maybe_push_res_to_seq, sometimes (REALPART_EXPR
> and IMAGPART_EXPR and VCE) the argument will not be a gimple value and
> then phiopt here would create an invalid PHI.
> Just add a check for gimple val is the way
On Sat, Aug 17, 2024 at 11:18 PM Jakub Jelinek wrote:
>
> On Sat, Aug 17, 2024 at 05:03:14AM +, Li, Pan2 wrote:
> > Please feel free to let me know if there is anything I can do to fix this
> > issue. Thanks a lot.
>
> There is no bug. The operands of .{ADD,SUB,MUL}_OVERFLOW don't have to ha
On Fri, Aug 16, 2024 at 7:58 PM Jakub Jelinek wrote:
>
> Hi!
>
> Here it is in patch form, at the same time I've turned it into bit-fields.
> On x86_64-linux, this reduced .rodata by 532 bytes (so 5.75x reduction
> of the variable) and grew the cpp_set_lang function by 26 bytes (8.4%
> growth).
>
On Fri, Aug 16, 2024 at 4:33 PM Jeff Law wrote:
>
>
>
> On 8/12/24 5:13 AM, Matevos Mehrabyan wrote:
> >
> > On Fri, Aug 2, 2024, 14:25 Richard Biener
> > mailto:richard.guent...@gmail.com>> wrote:
> > > On Wed, Jul 31, 2024 at 12:42 PM Ma
On Fri, Aug 16, 2024 at 4:30 PM Torbjorn SVENSSON
wrote:
>
>
>
> On 2024-08-16 16:07, Jeff Law wrote:
> >
> >
> > On 8/16/24 4:12 AM, Torbjörn SVENSSON wrote:
> >> Ok for trunk and releases/gcc-14?
> >>
> >> Verified this on x86_64 and arm-none-eabi.
> >> Don't know if the other "truth type" dg-li
On Fri, Aug 16, 2024 at 12:49 PM Bernd Edlinger
wrote:
>
> While this already works correctly for the case when an inlined
> subroutine contains only one subrange, a redundant DW_TAG_lexical_block
> is still emitted when the subroutine has multiple blocks.
Huh. The point is that the inline conte
On Tue, Aug 13, 2024 at 5:34 PM Qing Zhao wrote:
>
> With the addition of the 'counted_by' attribute and its wide roll-out
> within the Linux kernel, a use case has been found that would be very
> nice to have for object allocators: being able to set the counted_by
> counter variable without knowi
On Thu, Aug 15, 2024 at 8:13 PM David Malcolm wrote:
>
> Here's v3 of my patch kit for "libdiagnostics", which makes GCC's
> diagnostics subsystem available as a shared library; see:
> https://gcc.gnu.org/wiki/libdiagnostics
So this is to make use of this from gas? Is the plan to move
sources
On Thu, Aug 15, 2024 at 4:57 PM Jeff Law wrote:
>
>
>
> On 8/15/24 2:50 AM, Richard Sandiford wrote:
> > The PR points out that, for an address like:
> >
> >(plus (zero_extend X) Y)
> >
> > decompose_normal_address doesn't establish a strong preference
> > between treating X as the base or Y a
On Thu, Aug 15, 2024 at 10:46 AM Victor Do Nascimento
wrote:
>
> From: Victor Do Nascimento
>
> Given the novel treatment of the dot product optab as a conversion, we
> are now able to targe different relationships between output modes and
> input modes.
>
> This is made clearer by way of example
On Sun, Aug 11, 2024 at 5:46 AM Peter Damianov wrote:
>
> Currently, if a warning references a cloned function, the name of the cloned
> function will be emitted in the "In function 'xyz'" part of the diagnostic,
> which users aren't supposed to see. This patch follows the DECL_ORIGIN link
> to ge
On Wed, Jul 24, 2024 at 9:32 PM Tom Tromey wrote:
>
> While working on a patch to the Ada compiler, I found a spot in
> dwarf2out.cc that calls add_name_attribute where a call to
> add_name_and_src_coords_attributes would be better, because the latter
> respects DECL_NAMELESS.
If the point is DEC
On Wed, Aug 14, 2024 at 3:15 PM H.J. Lu wrote:
>
> The new hook allows the linker plugin to distinguish calls to
> claim_file_handler that know the object is being used by the linker
> (from ldmain.c:add_archive_element), from calls that don't know it's
> being used by the linker (from elf_link_is
On Tue, Aug 13, 2024 at 6:31 AM Andrew Pinski wrote:
>
> r13-4620-g4d9db4bdd458 Added a few patterns and some of them can be extended
> to support XOR and PLUS.
> This extends the patterns to support XOR and PLUS instead of just IOR.
>
> Bootstrapped and tested on x86_64-linux-gnu.
OK.
>
On Tue, Aug 13, 2024 at 6:31 AM Andrew Pinski wrote:
>
> IOR part of the bug report was fixed by r13-4620-g4d9db4bdd458 but
> that added only aarch64 specific testcases. This adds 4
> generic testcases for this to check to make sure they are optimized.
> The C++ testcases are the vector type versi
On Tue, Aug 13, 2024 at 6:31 AM Andrew Pinski wrote:
>
> This adds a pattern to convert `(a ? b : 0) | (a ? 0 : c)` into `a ? b : c`
> which is simplier. It adds both for cond and vec_cond; even though vec_cond is
> handled via a different pattern currently but requires extra steps for
> matching
On Fri, Aug 9, 2024 at 2:58 PM Juergen Christ wrote:
>
> Am Thu, Aug 08, 2024 at 02:06:44PM +0200 schrieb Richard Biener:
> > On Mon, Aug 5, 2024 at 4:02 PM Juergen Christ wrote:
> > >
> > > Am Mon, Aug 05, 2024 at 01:00:31PM +0200 schrieb Richard Biener:
> >
On Fri, Aug 9, 2024 at 2:39 AM Kugan Vivekanandarajah
wrote:
>
> Thanks for the comments.
>
> > On 2 Aug 2024, at 8:36 pm, Richard Biener
> > wrote:
> >
> > External email: Use caution opening links or attachments
> >
> >
> > On Fri, Aug 2,
On Fri, Aug 9, 2024 at 2:03 AM Joern Wolfgang Rennecke
wrote:
>
> In the previous patch to reduce iteration counts, I have overlooked
> that, in the inner loop of s176, the array index i+m-j-1
> turns negativeat for higher iterations of the middle loop for small m.
> m and the iteration end of the
On Thu, Aug 8, 2024 at 7:44 PM Alexander Monakov wrote:
>
>
> > On Wed, 7 Aug 2024, Richard Biener wrote:
> >
> > > OK with that change.
> > >
> > > Did you think about a AVX512 version (possibly with 32 byte vectors)?
> > > In case there
> Am 19.08.2024 um 20:56 schrieb Richard Sandiford :
>
> Prathamesh Kulkarni writes:
>> diff --git a/gcc/lto-streamer-in.cc b/gcc/lto-streamer-in.cc
>> index cbf6041fd68..0420183faf8 100644
>> --- a/gcc/lto-streamer-in.cc
>> +++ b/gcc/lto-streamer-in.cc
>> @@ -44,6 +44,7 @@ along with GCC; se
+ return svdiv_z (pg, op1, svdup_u64 (0));
> > +}
> > +
> > +/*
> > +** u64_m_pg_op2:
> > +** mov (z[0-9]+)\.b, #0
> > +** udiv(z[0-9]+\.d), p[0-7]/m, \2, \1\.d
> > +** ret
> > +*/
> > +svuint64_t u64_m_pg_op2 (svbool_t pg, svuint64
> Does the patch look in the right direction ?
+/* Compute TYPE_MODE for TYPE (which is ARRAY_TYPE). */
+
+void compute_array_mode (tree type)
+{
newline after 'void'
Otherwise LGTM, please leave time for others to comment though.
Thanks,
Richard.
> Signed-off-by: Prathamesh Kulkarn
On Mon, 19 Aug 2024, Prathamesh Kulkarni wrote:
>
>
> > -Original Message-
> > From: Richard Biener
> > Sent: Tuesday, August 13, 2024 12:52 PM
> > To: Andrew Pinski
> > Cc: Prathamesh Kulkarni ; gcc-
> > patc...@gcc.gnu.org; Thomas Schwinge
On Fri, 9 Aug 2024, Alex Coplan wrote:
> On 09/08/2024 13:12, Richard Biener wrote:
> >
> >
> > > Am 09.08.2024 um 11:30 schrieb Alex Coplan :
> > >
> > > When #pragma GCC unroll is processed in
> > > tree-cfg.cc:replace_loop_annotate_in_blo
nrecognized command line option error),
> and is set to 1 for x86_64 host.
>
> Does the patch look OK ?
The patch looks reasonable to me.
Thanks,
Richard.
> Signed-off-by: Prathamesh Kulkarni
>
> Thanks,
> Prathamesh
>
--
Richard Biener
SUSE Software Solutio
> Am 18.08.2024 um 00:57 schrieb Andrew Pinski :
>
> This extends r14-3982-g9ea74d235c7e78 to also include the newly added
> statements
> since some of them might be dead too (due to the way match and simplify
> works).
> This was noticed while working on adding a new match and simplify patt
> Am 13.08.2024 um 17:48 schrieb Thomas Schwinge :
>
> Hi Prathamesh!
>
> On 2024-08-12T07:50:07+, Prathamesh Kulkarni
> wrote:
>>> From: Thomas Schwinge
>>> Sent: Friday, August 9, 2024 12:55 AM
>
>>> On 2024-08-08T06:46:25-0700, Andrew Pinski wrote:
On Thu, Aug 8, 2024 at 6:11
> Am 13.08.2024 um 08:37 schrieb Andrew Pinski :
>
> On Mon, Aug 12, 2024 at 10:36 PM Prathamesh Kulkarni
> wrote:
>>
>> Hi,
>> As mentioned in:
>> https://gcc.gnu.org/pipermail/gcc/2024-August/244581.html
>>
>> AArch64 cl_optimization_stream_out streams out target-specific optimization
>>
> Am 09.08.2024 um 19:19 schrieb Richard Sandiford :
>
> This patch is an attempt to gauge opinion on one way of fixing PR30920.
>
> The PR points out that the libiberty splay tree implementation does
> not implement the algorithm described by Sleator and Tarjan and has
> unclear complexity b
> Am 09.08.2024 um 11:30 schrieb Alex Coplan :
>
> When #pragma GCC unroll is processed in
> tree-cfg.cc:replace_loop_annotate_in_block, we set both the loop->unroll
> field (which is currently streamed out and back in during LTO) but also
> the cfun->has_unroll flag.
>
> cfun->has_unroll, ho
> Am 08.08.2024 um 15:12 schrieb Richard Sandiford :
>
> Richard Biener writes:
>> The following tries to address that the vectorizer fails to have
>> precise knowledge of argument and return calling conventions and
>> views some accesses as loads and stores that
On Tue, Aug 6, 2024 at 12:38 PM Manolis Tsamis wrote:
>
> Pinging this for a review and/or further feedback.
>
> Thanks,
> Manolis
>
> On Wed, Jun 26, 2024 at 3:06 PM Manolis Tsamis
> wrote:
> >
> > This change checks when a two_operators SLP node has multiple occurrences of
> > the same stateme
On Mon, Aug 5, 2024 at 4:02 PM Juergen Christ wrote:
>
> Am Mon, Aug 05, 2024 at 01:00:31PM +0200 schrieb Richard Biener:
> > On Fri, Aug 2, 2024 at 2:43 PM Juergen Christ wrote:
> > >
> > > Do not convert floats to ints in multiple step if trapping math is
> &
On Sat, Aug 3, 2024 at 2:42 PM Feng Xue OS wrote:
>
> >> 1. Background
> >>
> >> For loop reduction of accumulating result of a widening operation, the
> >> preferred pattern is lane-reducing operation, if supported by target.
> >> Because
> >> this kind of operation need not preserve intermediat
The following tries to address that the vectorizer fails to have
precise knowledge of argument and return calling conventions and
views some accesses as loads and stores that are not.
This is mainly important when doing basic-block vectorization as
otherwise loop indexing would force such arguments
On Thu, Aug 8, 2024 at 4:55 AM Peter Damianov wrote:
>
> Currently, if a warning references a cloned function, the name of the cloned
> function will be emitted in the "In function 'xyz'" part of the diagnostic,
> which users aren't supposed to see. This patch follows the DECL_ORIGIN link
> to get
On Thu, Aug 8, 2024 at 4:03 AM Wentao Zhang wrote:
>
> The referenced page contains more explanation of auxname.gcda produced
> by gcov profiler, which is a continuation of -fprofile-arcs's
> description.
OK
> gcc/ChangeLog:
>
> * doc/invoke.texi (Instrumentation Options): Move the cross
On Thu, Aug 8, 2024 at 12:17 AM Vineet Gupta wrote:
>
> On 8/7/24 12:28, Jeff Law wrote:
> > On 8/7/24 11:47 AM, Richard Sandiford wrote:
> >> I should probably start by saying that the "model" heuristic is now
> >> pretty old and was originally tuned for an in-order AArch32 core.
> >> The aim was
701 - 800 of 3807 matches
Mail list logo