Re: [PATCH] contrib: git descr/undescr aliases

2020-01-14 Thread Roman Zhuykov
13.01.2020 14:37, Jakub Jelinek wrote: The following patch adds the descr/undescr aliases (for converting to monotonically increasing revision numbers and back) there next to svn-rev. Both have been changed to use basepoints/gcc-* tags instead of branchpoints/gcc-*, the first one now supports --f

[PATCH] issues with configure --enable-checking option

2020-01-29 Thread Roman Zhuykov
we silently add 'assert' and 'runtime' into that set? I haven't tried to find additional issues with related '--enable-stage1-checking' option. Roman PS. I see some lines have more than 80 chars in install.texi, few of them were added recently while cleanin

Re: [PATCH] issues with configure --enable-checking option

2020-02-03 Thread Roman Zhuykov
Ping with CCing Jeff and Joseph. I think patch is rather obvious, but hopefully other items will also get some attention. 29.01.2020 16:32, Roman Zhuykov wrote: > Hi! > I've investigated a bit, because some of the following confused me > while working with some local 9.

Re: [PATCH 0/4 GCC11] IVOPTs consider step cost for different forms when unrolling

2020-02-11 Thread Roman Zhuykov
11.02.2020 11:01, Richard Biener wrote: > On Tue, 11 Feb 2020, Segher Boessenkool wrote: > >> On Tue, Feb 11, 2020 at 08:34:15AM +0100, Richard Biener wrote: >>> On Mon, 10 Feb 2020, Segher Boessenkool wrote: Yes, we should decide how often we want to unroll things somewhere before ivopts

Re: [PATCH] issues with configure --enable-checking option

2020-02-11 Thread Roman Zhuykov
07.02.2020 20:20, Richard Sandiford writes: > Roman Zhuykov writes: >> Hi! >> I've investigated a bit, because some of the following confused me while >> working with some local 9.2-based branch. >> >> Documentation issues: >> (0) See patch for install

Re: [PATCH] [arm] Implement Armv8.1-M low overhead loops

2020-02-12 Thread Roman Zhuykov
Hello! 11.02.2020 16:40, Andrea Corallo wrote: > Hi Richard, > > "Richard Earnshaw (lists)" writes: > >>> gcc/ChangeLog: >>> 2020-??-?? Andrea Corallo >>> 2020-??-?? Mihail-Calin Ionescu >>> 2020-??-?? Iain Apreotesei >>> * config/arm/arm.c (TARGET_INVALID_WITHIN_DOLOOP): >>>

Re: [PATCH] issues with configure --enable-checking option

2020-02-17 Thread Roman Zhuykov
Ping.  Proposed patch is docs-only (install.texi), and IMHO it's better to push it into 8.4 and 9.3. 11.02.2020 17:46, Roman Zhuykov wrote: > 07.02.2020 20:20, Richard Sandiford writes: >> Roman Zhuykov writes: >>> Hi! >>> I've investigated a bit, because so

[modulo-sched][PATCH] Fix PR92591

2019-12-12 Thread Roman Zhuykov
-10 Roman Zhuykov * modulo-sched.c (ps_add_node_check_conflicts): Improve checking for history > 0 case. gcc/testsuite/ChangeLog: 2019-12-10 Roman Zhuykov * gcc.dg/pr92951-1.c: New test. * gcc.dg/pr92951-2.c: New test. diff --git a/gcc/modulo-sched.c b/gcc/m

Re: [modulo-sched][PATCH] Fix PR92591

2019-12-17 Thread Roman Zhuykov
Richard, is it OK ? Roman Backport from mainline gcc/ChangeLog: 2019-12-17 Roman Zhuykov * modulo-sched.c (ps_add_node_check_conflicts): Improve checking for history > 0 case. * params.def (sms-dfa-history): Limit to 16. gcc/testsuite/ChangeLog: 2019-12-17 Roma

Re: [PATCH, AArch64 v4 4/6] aarch64: Add out-of-line functions for LSE atomics

2019-12-23 Thread Roman Zhuykov
This caused: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93053 -- Roman Richard Henderson wrote 18.09.2019 04:58: This is the libgcc part of the interface -- providing the functions. Rationale is provided at the top of libgcc/config/aarch64/lse.S. * config/aarch64/lse-init.c: New fil

Re: [C++ PATCH] -Wsizeof-pointer-memaccess warning (take 2)

2012-10-26 Thread Roman Zhuykov
This caused http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55081 -- Roman Zhuykov

Re: [PATCH] [arm] Implement Armv8.1-M low overhead loops

2020-02-21 Thread Roman Zhuykov
Andrea Corallo writes: > With this patch the first insn of the low loop overhead 'doloop_begin' > is expanded by 'doloop_modify' in loop-doloop.c. The same does not > happen with SMS. That certainly works correct as in your first patch, doloop_begin pattern also have "!flag_modulo_sched" conditi

Re: [PATCH] [arm] Implement Armv8.1-M low overhead loops

2020-02-21 Thread Roman Zhuykov
11.02.2020 14:00, Richard Earnshaw (lists) wrote: > +(define_insn "*doloop_end" > +  [(parallel [(set (pc) > +   (if_then_else > +   (ne (reg:SI LR_REGNUM) (const_int 1)) > + (label_ref (match_operand 0 "" "")) > + (pc))) >

Re: [PATCH] issues with configure --enable-checking option

2020-02-25 Thread Roman Zhuykov
Hi all! 22.02.2020 6:25, Sandra Loosemore wrote: > On 2/11/20 7:46 AM, Roman Zhuykov wrote: >> Since I have to ask again about backports, I've decided to make few more >> steps and with Alexander's help created new patch which rewords the >> whole option descriptio

Re: [PATCH] issues with configure --enable-checking option

2020-02-25 Thread Roman Zhuykov
Hi, Jakub! Jakub Jelinek writes: >> +When the option is not specified, the active set of checks depends on >> context. >> +Namely, bootstrap stage 1 defaults to @samp{--enable-checking=yes}, builds >> +from release archives default to @samp{--enable-checking=release}, and > Is archives the right w

Re: [mid-end] Add notes to dataflow insn info when re-emitting (PR92410)

2020-02-26 Thread Roman Zhuykov
Hi all! Does anybody considered backporting this? Given https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92410#c3 "Confirmed also with r247015 (GCC 7 branch point)." For example, we may apply it without an assertion in release branches. Roman 12.11.2019 12:11, Matthew Malcomson wrote: > In schedul

Re: [PATCH] issues with configure --enable-checking option

2020-03-10 Thread Roman Zhuykov
Hi! 25.02.2020 13:36, Roman Zhuykov wrote: > So, IMHO the best next step is to improve the behavior rather then docs :) I want to add one more point into this discussion.  I have recently decided to test some stuff on old branches, e.q gcc-4.9, 5 and 6. On modern systems there are some iss

Fix modulo-scheduler -fcompare-debug issues

2020-03-10 Thread Roman Zhuykov
This patch fixes bootstrap comparison failure on powerpc64le when running it with -fmodulo-sched enabled. When applying the schedule we have to move debug insns in the same way as we move note insns. Also we have to discard adding debug insns to SCCs in DDG graph. 20YY-MM-DD Roman

[PATCH, RFC] Wrong warning message fix for gcc 9

2019-03-21 Thread Roman Zhuykov
x27;-fabi-version=' should be a non-negative integer When UInteger option value string is not a number, but it's first char is a digit, integral_argument function returns -1 without setting *err. Proposed untested patch attached. -- Best Regards, Roman Zhuykov gcc/ChangeLog:

Re: [PATCH, RFC] Wrong warning message fix for gcc 9

2019-03-28 Thread Roman Zhuykov
ive integer > $ g++-8 -fabi-version=2-O2 -c empty.cpp > g++: error: argument to '-fabi-version=' should be a non-negative integer > > When UInteger option value string is not a number, but it's first char > is a digit, integral_argument function returns -1 without s

[1/4][PATCH] Fix PR84032

2019-04-16 Thread Roman Zhuykov
. This patch solves this totally preventing other instructions to be scheduled after branch in the same row. I’ve described patch testing in cover letter. Ok for trunk? gcc/ChangeLog: 2019-04-09 Roman Zhuykov PR rtl-optimization/84032 * modulo-sched.c (ps_insn_find_column

[2/4][PATCH] Fix PR87979

2019-04-16 Thread Roman Zhuykov
): gcc.dg/torture/pr82762.c gcc.c-torture/execute/20170419-1.c I’ve described patch testing in cover letter. Ok for trunk? gcc/ChangeLog: 2019-04-08 Roman Zhuykov PR rtl-optimization/87979 * modulo-sched.c (sms_schedule): Start ii value "mii" should not equal

[3/4][PATCH] Fix PR90001

2019-04-16 Thread Roman Zhuykov
ribed patch testing in cover letter. Ok for trunk? gcc/ChangeLog: 2019-04-08 Roman Zhuykov PR rtl-optimization/90001 * ddg.c (create_ddg): Init max_dist array for each node. (free_ddg): Free max_dist array. (create_ddg_edge): Use bool field instead of aux

[4/4][PATCH] Discussing PR83507

2019-04-16 Thread Roman Zhuykov
p;& MEM_VOLATILE_P (extract_asm_operands + (PATTERN (insn + fprintf (dump_file, "SMS loop-with-volatile-asm\n"); else if ((NONDEBUG_INSN_P (insn) && !JUMP_P (insn) && !singl

Re: Roman Zhuykov appointed Modulo Scheduler maintainer

2019-04-22 Thread Roman Zhuykov
Hello! > I am pleased to announce that the GCC Steering Committee has > appointed Roman Zhuykov as Modulo Scheduler maintainer. Thanks to David and SC for the trust! I'm pleased to become SMS maintainer. > Please join me in congratulating Roman on his new role. > Roman, p

Re: [4/4][PATCH] Discussing PR83507

2019-04-22 Thread Roman Zhuykov
> > This issue unfortunately was not solved correctly. In that example we > > don’t have -fmodulo-sched-allow-regmoves enabled and we should not > > create any register moves at all. > > Yes, but if we do for whatever reason, we should never create register > moves of hard registers. Because that

Re: [0/4] Addressing modulo-scheduling bugs

2019-04-22 Thread Roman Zhuykov
As a freshly appointed maintainer I’m ready to commit my own modulo-sched patches, but decide to ask here if there are any objections. Maybe I should ask any additional approval at this stage? If no, I’ll start tomorrow with committing patches 1/4 and 2/4 which are well-formed regression fixe

Re: [0/4] Addressing modulo-scheduling bugs

2019-04-26 Thread Roman Zhuykov
Hello, Jeff > > As a freshly appointed maintainer I’m ready to commit my own > > modulo-sched patches, but decide to ask here if there are any > > objections. Maybe I should ask any additional approval at this stage? > > If no, I’ll start tomorrow with committing patches 1/4 and 2/4 which are > >

Re: [3/4][PATCH] Fix PR90001

2019-04-26 Thread Roman Zhuykov
> So just an FYI. If ddg.c is only used by the modulo scheduler, then it > falls under your maintainership and you can decide when to install this > patch. Yes, I understand about ddg.c and ddg.h. I also studied everything about loop-doloop.c because it is connected. Will try to participate in do

Re: [4/4][PATCH] Discussing PR83507

2019-04-29 Thread Roman Zhuykov
Hi, Segher > > > > In pr84524.c we got a loop with an extended inline asm: > > > > asm volatile ("" : "+r" (v)) > > > > which also gives us a “surprising” situation Alexander predicts. > > > > > > > > For sched-deps scanner such volatile asm is a “true barrier” and we > > > > create dependencies t

Re: [4/4][PATCH] Discussing PR83507

2019-04-30 Thread Roman Zhuykov
> > > This code was added in 1997 (r14770). In 2004 the documentation was > > > changed to clarify how things really work (r88999): > > > > > > "Note that even a volatile @code{asm} instruction can be moved relative to > > > other code, including across jump instructions." > > > > > > (followed by

[PATCH][GCC 10][RFC] Fix PR testsuite/90113

2019-04-30 Thread Roman Zhuykov
Hello Two weeks ago I posted https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90113 We have some unnecessary torture runs for gfortran.dg tests. Full description inside PR. Regtested r270624 trunk on x86_64: Unpatched: === gfortran tests === Running target unix ===

[FYI] Various SMS (modulo scheduling) patches

2017-02-28 Thread Roman Zhuykov
also allow regmoves Only for bootstrap and regtest. -- Roman Zhuykov zhr...@ispras.ru

Re: [SMS] Schedule normalization after scheduling branch

2016-01-18 Thread Roman Zhuykov
are some special scan-assembler techniques. Ok for trunk with regtest? -- Roman Here is the whole old letter about the patch: 2011-12-29 17:04 GMT+03:00 Roman Zhuykov : > This week I investigated modulo scheduler on IA64. Enabling SMS by default > (-fmodulo-sched -fmodulo-sched-allow-regmoves) lead

Re: [PATCH][4/n] VRP and anti-range handling

2012-07-26 Thread Roman Zhuykov
2012/6/18 Richard Guenther : > On Fri, 15 Jun 2012, Richard Guenther wrote: > >> >> This tries to completely implement the intersect primitive for >> VRP (what extract_range_from_assert does at its end when merging >> new and old knowledge). >> >> Bootstrap and regtest pending on x86_64-unknown-lin

Re: [PATCH 0/9] [RFC] Expand SMS functionality

2011-09-30 Thread Roman Zhuykov
e x86-64 and > ARM. > -- > Roman Zhuykov > zhr...@ispras.ru >

Re: [PATCH 2/9] [doloop] Correct extracting loop exit condition

2011-09-30 Thread Roman Zhuykov
tion before >> extracting loop exit condition. >> >> 2011-07-20  Roman Zhuykov   >>       * loop-doloop.c (doloop_condition_get): Correctly check >>       the form of comparison instruction. >> --- >>  gcc/loop-doloop.c |    2 ++ >>  1 files changed, 2 i

CPU_NONE ix86_schedule cpu attribute for -march=nocona

2012-04-17 Thread Roman Zhuykov
a", PROCESSOR_NOCONA, CPU_NONE, + {"nocona", PROCESSOR_NOCONA, CPU_GENERIC64, PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_CX16 | PTA_NO_SAHF}, {"core2", PROCESSOR_CORE2_64, CPU_CORE2, -- Roman Zhuykov

Re: [SMS] Support new loop pattern

2011-12-07 Thread Roman Zhuykov
gt;> use get_simple_loop_desc>>> function which gives a structure with loop >>>>>> characteristics, some of them helps>>> to find iteration number:>>>>>> >>>>>> rtx niter_expr - The number of iterations of the loop;>>&

Re: [SMS] Support new loop pattern

2011-12-07 Thread Roman Zhuykov
t; >>> >>> But we can use these expressions only after looking through some other >>> fields >>> of returned structure: >>> >>> bool simple_p - True if we are able to say anything about number of >>> iterations >>> of the loo

[SMS, DDG] Additional edges to instructions with clobber

2011-12-07 Thread Roman Zhuykov
needed >>> dependencies.>>>>> seems like an overkill to me; we didn't draw an edge >>> between every> last use and every write, because writes are kept in order >>> by having> output dependences between them. So should be the case w

[SMS, DDG] Additional edges to instructions with clobber

2011-12-07 Thread Roman Zhuykov
tween them. So should be the case with >>> clobbers. Clobbers themselves aren't kept in order - there are no output dependencesbetween them. They may be scheduled in any order. > Presumably, the ddg already has all intra-iteration edges preventing> motion > of clobbering ins

[SMS, DDG] Additional edges to instructions with clobber

2011-12-07 Thread Roman Zhuykov
eems like an overkill to me; we didn't draw an edge between every > last use and every write, because writes are kept in order by having > output dependences between them. So should be the case with clobbers. Clobbers themselves aren't kept in order - there are no output dep

[SMS, DDG] Correctly delete anti-dep edges for renaming

2011-12-07 Thread Roman Zhuykov
er it can be renamed). Currently, SMS simply attempts to take the RHS of the second instruction (via single_set()), and if it's a register, SMS assumes it's a register causing the dependency. This breaks in a following scenario: insn1: ... (read flags) insn2: regA = regB - re

Re: [SMS] Support new loop pattern

2011-12-29 Thread Roman Zhuykov
Ping. Ayal, could you review this patch and these two patches too. http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00505.html http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00506.html Happy holidays. 2011/12/7 Roman Zhuykov : > Apologies for the messed up previous e-mail. > > 2011/10/12

[SMS] Schedule normalization after scheduling branch

2011-12-29 Thread Roman Zhuykov
tp://gcc.gnu.org/ml/gcc-patches/2011-12/msg00495.html OK for trunk or maybe 4.8? Happy holidays! -- Roman Zhuykov 2011-12-29 Roman Zhuykov * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new first stage. --- diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c

[PATCH, ARM] Properly count number of instructions emitted.

2012-02-10 Thread Roman Zhuykov
? 2012-02-10 Roman Zhuykov * config/arm/arm.c (output_move_double): In one case properly count number of instructions that will be emitted. --- gcc/config/arm/arm.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm

Re: [SMS] Support new loop pattern

2012-02-10 Thread Roman Zhuykov
Ping. Ayal, please review this patch and these three patches too: http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00505.html http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00506.html http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01800.html -- Roman Zhuykov zhr...@ispras.ru

Re: [PATCH 5/9] [SMS] Support new loop pattern

2011-07-27 Thread Roman Zhuykov
needed. > I think we'd need to handle that too before getting rid of the > ARM doloop_end pattern. I think all three ways are complicated enough and decide to begin with implementing SMS without such loops support. -- Roman Zhuykov zhr...@ispras.ru

[PATCH] modulo-sched: skip loops with strange register defs [PR100225]

2021-04-28 Thread Roman Zhuykov via Gcc-patches
Hi all! Situation from PR was already caught earlier locally. So, I've just extracted appropriate part, it also slightly modifies loop checks related to non-single-set instructions. Patch (attached) was successfully bootstrapped/regtested on aarch64-linux on all active branches (8-12) with mod

[committed] minor: fix indentation in ddg.c

2020-03-10 Thread Roman Zhuykov via Gcc-patches
This obvious patch fixes indentation in PR90001-related code. Committed as r10-7106. Roman -- gcc/ChangeLog: * ddg.c (create_ddg): Fix intendation. (set_recurrence_length): Likewise. (create_ddg_all_sccs): Likewise. diff --git a/gcc/ddg.c b/gcc/ddg.c index aae92adf89a..ca

[committed] loop-iv: make find_simple_exit static

2020-03-10 Thread Roman Zhuykov via Gcc-patches
This patch marks find_simple_exit function as static. Committed as r10-7107 after successful bootstrap on x86_64 and powerpc64le. Roman -- Function 'find_simple_exit' is used only from loop-iv.c In 2004-2006 it was also used in predict.c, but since r118694 (992c31e62304ed5d34247dbdef2db276d08fac0

Re: Fix modulo-scheduler -fcompare-debug issues

2020-03-20 Thread Roman Zhuykov via Gcc-patches
ary to scheduler itself, when building DDG graph we consider all debug instructions and their dependencies. This may sometimes lead to a different result in sms_order_nodes function, as it depends on SCCs in DDG. My previous ad-hoc solution was just to remove any "debug->non-debug"

Re: Fix modulo-scheduler -fcompare-debug issues

2020-03-28 Thread Roman Zhuykov via Gcc-patches
Hi, Christophe Lyon wrote 2020-03-27 19:53: Hi, On Fri, 20 Mar 2020 at 11:56, Roman Zhuykov via Gcc-patches wrote: Hi all! 12.03.2020 6:17, Jeff Law wrote: >> Current modulo-sched implementation is a bit faulty from -fcompile-debug >> perspective. >> >> But rig

[PATCH] modulo-sched: Carefully process loop counter initialization [PR97421]

2020-11-29 Thread Roman Zhuykov via Gcc-patches
Hi all! Same patch attached with commit message and inlined below. It was successfully reg-strapped on aarch64-linux. Planning also to briefly check amd64 build before push. Pushing in a few days if no objections. Any opinion about backports? Roman -- modulo-sched: Carefully process loop