Re: [PATCH] Port GCC documentation to Sphinx

2021-06-30 Thread Andrey Belevantsev via Gcc-patches
Hi Martin, On 29.06.2021 13:09, Martin Liška wrote: > On 6/28/21 5:33 PM, Joseph Myers wrote: >> Are formatted manuals (HTML, PDF, man, info) corresponding to this patch >> version also available for review? > > I've just uploaded them here: > https://splichal.eu/gccsphinx-final/ > > Martin I've

Fix PR 86979

2019-03-15 Thread Andrey Belevantsev
Hello, As explained in the PR trail, we incorrectly update the availability sets in the rare case of several successors and one of them having another fence. Fixed as follows. Ok for trunk? Best, Andrey 2019-03-15 Andrey Belevantsev PR middle-end/89676 * sel-sched.c

Re: [PATCH] sched-ebb.c: avoid moving table jumps (PR rtl-optimization/88423)

2019-01-23 Thread Andrey Belevantsev
Hi David, On 18.01.2019 19:58, David Malcolm wrote: > On Fri, 2019-01-18 at 12:32 -0500, David Malcolm wrote: > > [CCing Abel] > >> PR rtl-optimization/88423 reports an ICE within sched-ebb.c's >> begin_move_insn, failing the assertion at line 175, where there's >> no fall-through edge: >> >> 17

Fix PR 85423 (Re: Fix PRs 80463, 83972, 83480)

2018-04-23 Thread Andrey Belevantsev
dependencies. The straightforward fix works for all of four PRs, tested on x86-64. I have put the test in gcc.dg though it requires -march=nano. Do you want me to create an extra machine-dependent test? Best, Andrey 2018-04-23 Andrey Belevantsev PR rtl-optimization/85423

Add test from PR 83852 (was Re: Fix PR 83962)

2018-04-13 Thread Andrey Belevantsev
On 09.04.2018 12:16, Andrey Belevantsev wrote: > On 06.04.2018 18:59, Alexander Monakov wrote: >> On Tue, 3 Apr 2018, Andrey Belevantsev wrote: >> >>> Hello, >>> >>> This issues is about the correct order in which we need to call the >>> routines

Re: [PATCH] sel-sched: run cleanup_cfg just before loop_optimizer_init (PR 84659)

2018-04-12 Thread Andrey Belevantsev
On 12.04.2018 0:55, Alexander Monakov wrote: > As noted in PR 85354, we cannot simply invoke cfg_cleanup after dominators are > computed, because they may become invalid but neither freed nor recomputed, so > this trips checking in flow_loops_find. > > We can move cleanup_cfg earlier (and run it f

Re: [PATCH] sched-deps: respect deps->readonly in macro-fusion (PR 84566)

2018-04-11 Thread Andrey Belevantsev
On 10.04.2018 13:40, Alexander Monakov wrote: > Hi, > > this fixes a simple "regression" under the qsort_chk umbrella: sched-deps > analysis has deps->readonly flag, but macro-fusion code does not respect it > and mutates instructions. This breaks an assumption in sel_rank_for_schedule > and manif

Re: [PATCH] sched-rgn: run add_branch_dependencies for sel-sched (PR 84301)

2018-04-11 Thread Andrey Belevantsev
On 10.04.2018 14:09, Alexander Monakov wrote: > Hi, > > The add_branch_dependencies function is fairly unusual in that it creates > dependence edges "out of thin air" for all sorts of instructions preceding > BB end. I think that is really unfortunate (explicit barriers in RTL would > be more natu

Re: [PATCH] sel-sched: run cleanup_cfg just before loop_optimizer_init (PR 84659)

2018-04-10 Thread Andrey Belevantsev
Hello, On 10.04.2018 17:40, Alexander Monakov wrote: > Hi, > > We have this code in sel-sched.c sel_region_init(): > > 6918 /* Init correct liveness sets on each instruction of a single-block > loop. > 6919 This is the only situation when we can't update liveness when > calling > 6920

Re: Fix PRs 80463, 83972, 83480

2018-04-09 Thread Andrey Belevantsev
On 09.04.2018 21:23, Jakub Jelinek wrote: > On Mon, Apr 09, 2018 at 01:30:12PM +0300, Andrey Belevantsev wrote: >> I think that should be fine, that is, as long as the insn moved up through >> all those debug insns, the copy will do that as well. It's that >> proble

Re: Fix PRs 80463, 83972, 83480

2018-04-09 Thread Andrey Belevantsev
On 06.04.2018 19:18, Alexander Monakov wrote: > On Tue, 3 Apr 2018, Andrey Belevantsev wrote: > >> Hello, >> >> In these PRs we deal with the dependencies we are forced to make between a >> debug insn and its previous insn (unless bb head). In the latter case, if

Re: Fix PR 83913

2018-04-09 Thread Andrey Belevantsev
On 06.04.2018 19:10, Alexander Monakov wrote: > On Tue, 3 Apr 2018, Andrey Belevantsev wrote: > >> Hello, >> >> This issue ended up being fixed the way different from described in the PR. >> We do not want to walk away from the invariant "zero SCHED_TIMES --

Re: Fix PR 83962

2018-04-09 Thread Andrey Belevantsev
On 06.04.2018 18:59, Alexander Monakov wrote: > On Tue, 3 Apr 2018, Andrey Belevantsev wrote: > >> Hello, >> >> This issues is about the correct order in which we need to call the >> routines that fix up the control flow for us. > > OK with formatting both

Re: Fix PR 83530

2018-04-09 Thread Andrey Belevantsev
On 06.04.2018 18:55, Alexander Monakov wrote: > On Tue, 3 Apr 2018, Andrey Belevantsev wrote: > >> Hello, >> >> This issue is when we cannot correctly make insn tick data for the >> unscheduled code (but processed by the modulo scheduler). Fixed by closely >>

Re: Fix PR 83913

2018-04-03 Thread Andrey Belevantsev
On 03.04.2018 19:02, Alexander Monakov wrote: > On Tue, 3 Apr 2018, Andrey Belevantsev wrote: > >> Hello, >> >> This issue ended up being fixed the way different from described in the PR. >> We do not want to walk away from the invariant "zero SCHED_TIMES --

Fix PRs 80463, 83972, 83480

2018-04-03 Thread Andrey Belevantsev
we had a single debug insn left in the block. Best, Andrey 2018-04-03 Andrey Belevantsev PR rtl-optimization/80463 PR rtl-optimization/83972 PR rtl-optimization/83480 * sel-sched-ir.c (has_dependence_note_mem_dep): Take into account the correct producer for the

Fix PR 83913

2018-04-03 Thread Andrey Belevantsev
ging exprs in the way the larger sched-times wins. Best, Andrey 2018-04-03 Andrey Belevantsev PR rtl-optimization/83913 * sel-sched-ir.c (merge_expr_data): Choose the middle between two different sched-times when merging exprs. * gcc.dg/pr83913.c: New test.

Fix PR 83962

2018-04-03 Thread Andrey Belevantsev
Hello, This issues is about the correct order in which we need to call the routines that fix up the control flow for us. Best, Andrey 2018-04-03 Andrey Belevantsev PR rtl-optimization/83962 * sel-sched-ir.c (tidy_control_flow): Correct the order in which we call

Fix PR 83530

2018-04-03 Thread Andrey Belevantsev
Hello, This issue is when we cannot correctly make insn tick data for the unscheduled code (but processed by the modulo scheduler). Fixed by closely following usual scheduling process as described in the PR. Best, Andrey 2018-04-03 Andrey Belevantsev PR rtl-optimization/83530

Selective scheduling fixes

2018-04-03 Thread Andrey Belevantsev
Hello, I will post patches to various recent selective scheduling PRs as replies to this mail. The patches have been tested on x86-64 (default languages) and ia64 (c.c++), in case of ppc issues I've checked on the ppc cross compiler. I will also run the ia64 boostrap with enabled sel-sched but i

Re: [PATCH] sel-sched: fix zero-usefulness case in sel_rank_for_schedule (PR 83513)

2017-12-26 Thread Andrey Belevantsev
On 25.12.2017 19:47, Alexander Monakov wrote: Hello, we need the following follow-up fix for priority comparison in sel_rank_for_schedule as demonstrated by PR 83513. Checked on x86_64 by running a bootstrap and also checking for no regressions in make -k check-gcc RUNTESTFLAGS="--target_board

Re: [PATCH 6/9] sel-sched: Don't mess with register restores

2016-08-04 Thread Andrey Belevantsev
Hello, On 01.08.2016 4:42, Segher Boessenkool wrote: > If selective scheduling copies register restores it confuses dwarf2cfi. > > 2016-06-07 Segher Boessenkool > > * sel-sched-ir.c (init_global_and_expr_for_insn): Don't copy > instructions with a REG_CFA_RESTORE note. OK from se

Re: Various selective scheduling fixes

2016-04-01 Thread Andrey Belevantsev
Hi Christophe, On 01.04.2016 10:33, Christophe Lyon wrote: On 31 March 2016 at 16:43, Andrey Belevantsev wrote: Hello, On 14.03.2016 12:10, Andrey Belevantsev wrote: Hello, In this thread I will be posting the patches for the fixed selective scheduling PRs (except the one that was already

Re: [PATCH][PR rtl-optimization/69307] Handle hard registers in modes that span more than one register properly

2016-03-31 Thread Andrey Belevantsev
Hello, On 12.03.2016 20:13, Jeff Law wrote: As Andrey outlined in the PR, selective-scheduling was missing a check & handling of hard registers in modes that span more than one hard reg. This caused an incorrect register selection during renaming. I verified removing the printf call from the t

Re: Various selective scheduling fixes

2016-03-31 Thread Andrey Belevantsev
Hello, On 14.03.2016 12:10, Andrey Belevantsev wrote: Hello, In this thread I will be posting the patches for the fixed selective scheduling PRs (except the one that was already kindly checked in by Jeff). The patches were tested both on x86-64 and ia64 with the following combination: 1) the

[committed] Add patch for PR 70292

2016-03-31 Thread Andrey Belevantsev
og (revision 234627) *** *** 1,3 --- 1,8 + 2016-03-31 Andrey Belevantsev + + PR target/70292 + * gcc.c-torture/pr70292.c: New test. + 2016-03-31 Marek Polacek PR c/70297

Re: [PATCH][PR rtl-optimization/69307] Handle hard registers in modes that span more than one register properly

2016-03-21 Thread Andrey Belevantsev
On 14.03.2016 21:39, Jeff Law wrote: On 03/14/2016 03:56 AM, Andrey Belevantsev wrote: Thank you for checking this in. I've also tested this patch in the similar way (forcing selective scheduling for 2nd and both schedulers) both on x86-64 and ia64. I've posted the patches for rem

Re: [02/05] Fix PR 63384

2016-03-15 Thread Andrey Belevantsev
On 15.03.2016 20:44, Alexander Monakov wrote: On Tue, 15 Mar 2016, Marek Polacek wrote: This test fails for me due to cc1plus: warning: var-tracking-assignments changes selective scheduling Thanks for the heads-up Marek, and sorry for the trouble. Like I said in the adjacent reply, the warnin

Re: [05/05] Fix PR 69102

2016-03-15 Thread Andrey Belevantsev
Hello, On 14.03.2016 12:52, Andrey Belevantsev wrote: Hello, The problem here is readonly dependence contexts in selective scheduler. We're trying to cache the effect of initializing a dependence context with remembering that context and setting a readonly bit on it. When first movin

Re: [01/05] Fix PR 64411

2016-03-15 Thread Andrey Belevantsev
Hello, On 14.03.2016 19:45, Bernd Schmidt wrote: On 03/14/2016 05:23 PM, Alexander Monakov wrote: On Mon, 14 Mar 2016, Andrey Belevantsev wrote: In this case, we get an inconsistency between the sched-deps interface, saying we can't move an insn writing the si register through a vector

Re: [PATCH][PR rtl-optimization/69307] Handle hard registers in modes that span more than one register properly

2016-03-14 Thread Andrey Belevantsev
Hello Jeff, On 12.03.2016 20:13, Jeff Law wrote: As Andrey outlined in the PR, selective-scheduling was missing a check & handling of hard registers in modes that span more than one hard reg. This caused an incorrect register selection during renaming. I verified removing the printf call from

[05/05] Fix PR 69102

2016-03-14 Thread Andrey Belevantsev
at we should be able to lift the bookkeeping copy up the same way as we did with the original insn breaks. Fixed by the attached patch that makes us notice only deps with the current producer insn. Ok for trunk? gcc/ 2016-03-14 Andrey Belevantsev PR rtl-optimization/69102

[04/05] Fix PR 69032

2016-03-14 Thread Andrey Belevantsev
ill be to do what the patch intended and include both the initial insn and the bb head in the iteration. Ok for trunk? gcc/ 2016-03-14 Andrey Belevantsev PR rtl-optimization/69032 * sel-sched-ir.c (get_seqno_by_preds): Include both tmp and head when looping backwards over basic b

[03/05] Fix PR 66660

2016-03-14 Thread Andrey Belevantsev
speculation check in the resulting assembly but there is no way to force speculation to happen. Ok for trunk? gcc/ 2016-03-14 Andrey Belevantsev PR target/0 * sel-sched-ir.c (merge_expr): Do not propagate trap bits into speculative insns. Best, Andrey commit

[02/05] Fix PR 63384

2016-03-14 Thread Andrey Belevantsev
also need the same treatment for flag_var_tracking_assignments_toggle. Ok for trunk? gcc/ 2016-03-14 Andrey Belevantsev PR rtl-optimization/63384 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on DEBUG_INSN_P insns. testsuite/ 2016-03-14 Andrey Beleva

[01/05] Fix PR 64411

2016-03-14 Thread Andrey Belevantsev
sched-deps before register allocation. The solution is to reflect this set in our insn data (sets/uses/clobbers). Ok for trunk? gcc/ 2016-01-15 Andrey Belevantsev PR target/64411 * sched-deps.c (get_implicit_reg_pending_clobbers): New function, factore

Various selective scheduling fixes

2016-03-14 Thread Andrey Belevantsev
Hello, In this thread I will be posting the patches for the fixed selective scheduling PRs (except the one that was already kindly checked in by Jeff). The patches were tested both on x86-64 and ia64 with the following combination: 1) the usual bootstrap/regtest, which only utilizes sel-sched

Re: [PATCH 1/5] Fix asymmetric comparison functions

2015-12-17 Thread Andrey Belevantsev
On 17.12.2015 15:13, Yury Gribov wrote: On 12/17/2015 02:58 PM, Andrey Belevantsev wrote: Hello, On 17.12.2015 11:58, Yury Gribov wrote: Some obvious symmetry fixes. Cc-ing * Andrey (Belevantsev) for bb_top_order_comparator Here, as Jakub mentioned, we assume that the argument addresses

Re: [PATCH 1/5] Fix asymmetric comparison functions

2015-12-17 Thread Andrey Belevantsev
Hello, On 17.12.2015 11:58, Yury Gribov wrote: Some obvious symmetry fixes. Cc-ing * Andrey (Belevantsev) for bb_top_order_comparator Here, as Jakub mentioned, we assume that the argument addresses will never be equal, thus that would always be different basic blocks (the comparator is

Re: [PATCH] Fix -Wlogical-not-parentheses warning in sel-sched-ir.c (PR c/61271)

2014-08-26 Thread Andrey Belevantsev
On 26.08.2014 18:03, Marek Polacek wrote: Another wrongdoing detected by -Wlogical-not-parentheses. From my reading of the code it seems that simple "!=" was meant here. Bootstrapped/regtested on x86_64-linux, ok for trunk? OK. Heck, we traced this code back to the May 2007 commit :) Andrey

Re: [PATCH] Fix PR 60901

2014-05-14 Thread Andrey Belevantsev
On 14.05.2014 13:09, Uros Bizjak wrote: On Wed, May 14, 2014 at 10:57 AM, Andrey Belevantsev wrote: This ICE comes from the ix86_dependencies_evaluation_hook code assumption that any scheduling region will be connected. This assumption is not correct in case of the outer loops pipelining of

[PATCH] Fix PR 60866

2014-05-14 Thread Andrey Belevantsev
haven't heard otherwise. Bootstrapped and tested on x86-64, OK for trunk and branches? Branches should also be safe as we're fixing only very specific corner case (hey, we regressed four releases and nobody noticed until now). Yours, Andrey gcc/ 2014-05-14 Andrey Belevantsev

[PATCH] Fix PR 60901

2014-05-14 Thread Andrey Belevantsev
d and tested on x86-64, OK for trunk? Branches? The fix is low risk as the additional test should always be true for the regular scheduler. Yours, Andrey gcc/ 2014-05-14 Andrey Belevantsev PR rtl-optimization/60901 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check th

Re: [PATCH] Fix PR 60268

2014-02-25 Thread Andrey Belevantsev
On 25.02.2014 13:14, Andreas Schwab wrote: Andrey Belevantsev writes: Fixed by placing the initialization properly at the end of sched_rgn_init and also moving the check for sched_pressure != NONE outside of the if statement in schedule_region as discussed in the PR trail with Jakub

Print out final scheduling time for sel-sched

2014-02-24 Thread Andrey Belevantsev
) --- gcc/ChangeLog (revision 208110) *** *** 1,4 --- 1,11 2014-02-25 Andrey Belevantsev + + * sel-sched.c (calculate_new_fences): New parameter ptime. + Calculate it as a maximum over all fence cycles. + (sel_sched_region_2): Adjust the call to

[PATCH, committed] Fix PR 60292

2014-02-24 Thread Andrey Belevantsev
: gcc/ChangeLog === *** gcc/ChangeLog (revision 208108) --- gcc/ChangeLog (revision 208109) *** *** 1,3 --- 1,9 + 2014-02-25 Andrey Belevantsev + + PR rtl-optimization/60292 + * sel

[PATCH] Fix PR 60268

2014-02-20 Thread Andrey Belevantsev
statement in schedule_region as discussed in the PR trail with Jakub. Bootstrapped and tested on x86-64, ok? Andrey gcc/ 2014-02-21 Andrey Belevantsev PR rtl-optimization/60268 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial init to ... (sched_rgn_init

Re: [PATCH] Fix PR 58960

2014-02-06 Thread Andrey Belevantsev
On 30.01.2014 9:42, Andrey Belevantsev wrote: Hello, Ping. As detailed in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58960#c6, we fail to use the DF liveness info in the register pressure sensitive scheduling for the new blocks as we do not properly compute it in this case. The patch

Re: [PATCH] Fix PR 57662

2014-02-03 Thread Andrey Belevantsev
Hello, On 14.08.2013 17:12, Andrey Belevantsev wrote: Hello, As noted in Bugzilla, the problem is this PR is the rare case of removing the unconditional jump that is used for traversing CFG when simplifying control flow. We rescan the remaining successors when we know the flow below the

Re: PATCH: PR tree-optimization/60024: global-buffer-overflow in init_regs_for_mode

2014-02-03 Thread Andrey Belevantsev
Hello, On 01.02.2014 19:16, H.J. Lu wrote: Hi, init_regs_for_mode accesses global_regs before checking if regno is OK for a mode, which leads to buffer overflow. This patch moves HARD_REGNO_MODE_OK for checking global_regs. There is no functional change. OK for trunk? This is fine, you'd n

[PATCH] Reset INSN_DELETED_P when reusing insns in the selective scheduler

2014-01-31 Thread Andrey Belevantsev
LOCK_FOR_INSN (after))) so the bb parameter gets overwritten. Should that be fixed in line with add_insn_before code? Yours, Andrey 2013-01-31 Andrey Belevantsev * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INS

[PATCH] Fix PR 58960

2014-01-29 Thread Andrey Belevantsev
d and tested on ia64, also tested by Andreas Schwab on ia64 (see PR log). OK for trunk? Andrey 2013-01-30 Andrey Belevantsev PR rtl-optimization/58960 * haifa-sched.c (alloc_global_sched_pressure_data): New, factored out from ... (sched_init) ...

Re: [PATCH, committed] Fix PR 57422

2014-01-21 Thread Andrey Belevantsev
On 23.12.2013 10:52, Andrey Belevantsev wrote: Hello, As described in the PR, the ICE reason was the typo made when introducing calls to add_hard_reg_set. Fixed by the first attached patch, bootstrapped and tested on both ia64 and x86_64, committed as obvious. The test case is very sensitive

Re: [PATCH, committed] Fix PR 57422

2013-12-27 Thread Andrey Belevantsev
On 23.12.2013 16:24, H.J. Lu wrote: On Sun, Dec 22, 2013 at 10:52 PM, Andrey Belevantsev wrote: Hello, As described in the PR, the ICE reason was the typo made when introducing calls to add_hard_reg_set. Fixed by the first attached patch, bootstrapped and tested on both ia64 and x86_64

[PATCH, committed] Fix PR 57422

2013-12-22 Thread Andrey Belevantsev
2013-12-23 Andrey Belevantsev + + PR rtl-optimization/57422 + * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling + add_to_hard_reg_set. + 2013-12-20 Sharad Singhai * Makefile.in: Add optinfo.texi. Index: gcc/sel-sc

[PATCH] Fix PR 57662

2013-08-14 Thread Andrey Belevantsev
-08-14 Andrey Belevantsev PR rtl-optimization/57662 gcc/ * sel-sched.c (code_motion_process_successors): When the current insn is removed after the recursive traversal, break from the loop. Add comments and debug printouts. testsuite/ * gcc.dg/pr57662.c: New test

[PATCH] Fix PRs 56957 and 57105

2013-04-30 Thread Andrey Belevantsev
and x86-64, committed after offline approval from Alexander. Andrey 2013-04-30 Andrey Belevantsev gcc: PR rtl-optimization/56957 PR rtl-optimization/57105 * sel-sched.c (move_op_orig_expr_found): Remove insn_emitted variable. Use just INSN_UID for d

Re: Fix PR 56077

2013-04-05 Thread Andrey Belevantsev
On 05.04.2013 14:10, Olivier Hainque wrote: On Apr 5, 2013, at 10:13 , Eric Botcazou wrote: We do have regressions on the 4.7 branch in the scheduler (CCed Olivier who has more information). Right: we do see a SEGV while compiling the attached monitor.i (preprocessed output from a qemu tr

Re: Fix PR 56077

2013-04-04 Thread Andrey Belevantsev
On 01.04.2013 12:38, Andrey Belevantsev wrote: On 22.02.2013 17:30, Andrey Belevantsev wrote: Hello, As found by Jakub and explained in the PR audit trail by Alexander, this patch fixes the selective scheduler merge glitch of 2008 that added the unnecessary JUMP_P check to the

Re: [PATCH] Fix PR 55889

2013-04-01 Thread Andrey Belevantsev
On 19.02.2013 17:13, Andrey Belevantsev wrote: Hello, As we discussed in the PR, the problem here is that the selective scheduler does not expect that renaming a hard register to a pseudo would result in extra dependencies. The dependencies come from implicit clobbers code of sched-deps.c, so

Re: Fix PR 56077

2013-04-01 Thread Andrey Belevantsev
On 22.02.2013 17:30, Andrey Belevantsev wrote: Hello, As found by Jakub and explained in the PR audit trail by Alexander, this patch fixes the selective scheduler merge glitch of 2008 that added the unnecessary JUMP_P check to the flush_pending_lists call. I have removed the check and expanded

Re: [PATCH, committed] Fix PR 45472

2013-04-01 Thread Andrey Belevantsev
On 27.02.2013 13:03, Andrey Belevantsev wrote: Hello, For this volatile-related issue (no volatile bits on volatile fields of a non-volatile struct) AFAIU there is an agreement of fixing the front-ends if needed, but anyways the patch to the selective scheduler is required that properly merges

Re: [PATCH] Fix sel-sched memory leak (PR middle-end/56461)

2013-03-04 Thread Andrey Belevantsev
Hi Jakub, On 2013-03-05 01:20, Jakub Jelinek wrote: Hi! alloc_succs_info creates vectors up to and including succs_info_pool.max_top, so without the following fix we leak the last set of 3 vectors. Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? This is f

[PATCH, committed] Fix PR 45472

2013-02-27 Thread Andrey Belevantsev
Hello, For this volatile-related issue (no volatile bits on volatile fields of a non-volatile struct) AFAIU there is an agreement of fixing the front-ends if needed, but anyways the patch to the selective scheduler is required that properly merges expressions so that the may_trap_p bit is pres

Fix PR 56077

2013-02-22 Thread Andrey Belevantsev
K for trunk? Andrey 2012-02-22 Alexander Monakov Andrey Belevantsev PR middle-end/56077 * sched-deps.c (sched_analyze_insn): When reg_pending_barrier, flush pending lists also on non-jumps. Index: gcc/sched-d

[PATCH] Fix PR 55889

2013-02-19 Thread Andrey Belevantsev
ly by Steven's cleanups (now a pattern is expected where an insn was previously). I will commit is as obvious separately. Andrey 2012-02-19 Andrey Belevantsev PR middle-end/55889 * sel-sched.c: Include ira.h. (implicit_clobber_conflict_p): Ne

Re: [PATCH] PR 54472

2012-11-09 Thread Andrey Belevantsev
On 30.10.2012 12:09, Andrey Belevantsev wrote: Hello, This PR is due to the selective scheduling missing the dependencies with implicit_sets. From the sched-deps.c code it looks like implicit sets generate anti dependencies with either sets, uses or clobbers, so that's that I've don

[PATCH] PR 54472

2012-10-30 Thread Andrey Belevantsev
u've added implicit sets, does the above conclusion look correct? I will commit the patch then after bootstrapping and testing will complete. Yours, Andrey 2012-10-30 Andrey Belevantsev PR rtl-optimization/54472 * sel-sched-ir.c (has_dependence_note_reg_set): Handle

Re: Fix PR 53701

2012-10-22 Thread Andrey Belevantsev
On 16.10.2012 11:50, Andrey Belevantsev wrote: The below is the port of this patch to 4.7, took longer than expected but still. Will commit after retesting on x86-64 (testing on ia64 is already fine) and with the fix for PR 53975. Now the same patch is also committed to 4.6 after more wait

Re: Fix PR 53701

2012-10-16 Thread Andrey Belevantsev
Hello, On 09.08.2012 17:19, Alexander Monakov wrote: On Thu, 9 Aug 2012, Andrey Belevantsev wrote: Hello, The problem in question is uncovered by the recent speculation patch, it is in the handling of expressions blocked by bookkeeping. Those are expressions that become unavailable due to

Re: [PATCH] PR 53975

2012-10-16 Thread Andrey Belevantsev
Hello, On 31.07.2012 15:08, Andrey Belevantsev wrote: Hello, This PR is about wrong speculation of an insn that doesn't support storing NaT bits done by the selective scheduler (more details in the PR audit trail). The reason for this is the wrong one-liner patch committed last year, th

Re: [PATCH] Fix sel-sched ICE with asm goto (PR rtl-optimization/54455)

2012-09-05 Thread Andrey Belevantsev
Hello, On 05.09.2012 19:38, Jakub Jelinek wrote: Hi! As discussed in the PR, sel-sched doesn't handle correctly tidying of empty blocks if fallthru predecessor ends with asm goto that has some labels on the empty block in addition to the fallthru edge. cfgrtl.c can handle that, so this patch ju

Re: Scheduler: Save state at the end of a block

2012-08-13 Thread Andrey Belevantsev
On 13.08.2012 14:32, Bernd Schmidt wrote: This is a small patch for sched-rgn that attempts to save DFA state at the end of a basic block and re-use it in successor blocks. This was a customer-requested optimization; I've not seen it make much of a difference in any macro benchmarks. FWIW, this

Fix PR 53701

2012-08-09 Thread Andrey Belevantsev
x86-64, the PR testcase is minimized, too. OK for trunk? Also need to backport this to 4.7 with PR 53975, say on the next week. Yours, Andrey gcc: 2012-08-09 Andrey Belevantsev PR rtl-optimization/53701 * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment

Re: [patch] one more sched-vis fix

2012-08-06 Thread Andrey Belevantsev
Hi Steven, On 03.08.2012 12:02, Steven Bosscher wrote: Hello, I also need to handle SEQUENCE, of course, or slim dumping fails in targets with branch delay slots. But who knew SEQUENCE can also appear as a REG_NOTE value?! The cfgrtl.c fix is purely cosmetic and obvious. Bootstrapped&tested o

[PATCH] PR 53975

2012-07-31 Thread Andrey Belevantsev
Hello, This PR is about wrong speculation of an insn that doesn't support storing NaT bits done by the selective scheduler (more details in the PR audit trail). The reason for this is the wrong one-liner patch committed last year, the fix is to revert that patch and to clarify the comment bef

Re: [patch] un-#ifdef GATHER_STATISTICS

2012-07-24 Thread Andrey Belevantsev
On 24.07.2012 21:13, Steven Bosscher wrote: AFAIR the qsort is just for getting a stable ordering over two pools to find the leaked regsets afterwards, the type of ordering doesn't matter. What matters is that the compare function gives a reliable result. You can't subtract pointers like that f

Re: [patch] un-#ifdef GATHER_STATISTICS

2012-07-24 Thread Andrey Belevantsev
Hello, On 24.07.2012 18:56, Steven Bosscher wrote: On Tue, Jul 24, 2012 at 4:37 PM, Steven Bosscher wrote: On Tue, Jul 24, 2012 at 3:08 PM, Uros Bizjak wrote: This patch (r189803) regressed a bunch of tests on x86_64 [1], [2]. [1] http://gcc.gnu.org/ml/gcc-testresults/2012-07/msg02066.html

Re: [PATCH] Atom: Scheduler improvements for better imul placement

2012-04-13 Thread Andrey Belevantsev
On 13.04.2012 14:18, Igor Zamyatin wrote: On Thu, Apr 12, 2012 at 5:01 PM, Andrey Belevantsev wrote: On 12.04.2012 16:38, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2:36 PM, Igor Zamyatin wrote: On Thu, Apr 12, 2012 at 4:24 PM, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2

Re: [PATCH] Fix PR 52203 and 52715

2012-04-13 Thread Andrey Belevantsev
Hello, On 07.03.2012 15:46, Alexander Monakov wrote: On Wed, 7 Mar 2012, Andrey Belevantsev wrote: Hello, This PR is again about insns that are recog'ed as>=0 but do not change the processor state. As explained in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52203#c8, I&

Re: [PATCH] Atom: Scheduler improvements for better imul placement

2012-04-13 Thread Andrey Belevantsev
On 12.04.2012 18:22, Richard Guenther wrote: 2012/4/12 Andrey Belevantsev: On 12.04.2012 17:54, Richard Guenther wrote: 2012/4/12 Andrey Belevantsev: On 12.04.2012 16:38, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2:36 PM, Igor Zamyatin wrote: On Thu, Apr 12, 2012 at 4:24 PM

Re: [PATCH] Atom: Scheduler improvements for better imul placement

2012-04-12 Thread Andrey Belevantsev
On 12.04.2012 17:54, Richard Guenther wrote: 2012/4/12 Andrey Belevantsev: On 12.04.2012 16:38, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2:36 PM, Igor Zamyatin wrote: On Thu, Apr 12, 2012 at 4:24 PM, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2:00 PM, Alexander Monakov

Re: [PATCH] Atom: Scheduler improvements for better imul placement

2012-04-12 Thread Andrey Belevantsev
On 12.04.2012 16:38, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2:36 PM, Igor Zamyatin wrote: On Thu, Apr 12, 2012 at 4:24 PM, Richard Guenther wrote: On Thu, Apr 12, 2012 at 2:00 PM, Alexander Monakov wrote: Can atom execute two IMUL in parallel? Or what exactly is the pipeline be

Re: [SMS] Support new loop pattern

2012-04-10 Thread Andrey Belevantsev
introduced for handling this specific loop forms. But it seems that the distinction between doloop/non-doloop loops has to stay in the code. Yours, Andrey 2012/3/29 Andrey Belevantsev: Hello, I'd like to ping again those SMS patches once we're back to Stage 1. Ayal, maybe it woul

Re: [PATCH, RTL] Fix PR 51106

2012-04-04 Thread Andrey Belevantsev
On 03.04.2012 13:36, Jakub Jelinek wrote: On Mon, Apr 02, 2012 at 06:56:25PM +0400, Andrey Belevantsev wrote: After Richi's RTL generation related cleanups went it, the extra cleanup_cfg call was added so we are no longer lucky to have the proper fallthru edge in this case. The PR trai

Re: [PATCH, RTL] Fix PR 51106

2012-04-02 Thread Andrey Belevantsev
Hello, On 19.01.2012 18:40, Jakub Jelinek wrote: On Thu, Jan 19, 2012 at 06:13:58PM +0400, Andrey Belevantsev wrote: 2012-01-19 Andrey Belevantsev PR target/51106 * function.c (instantiate_virtual_regs_in_insn): Use delete_insn_and_edges when removing a wrong asm insn. This

Re: [SMS] Support new loop pattern

2012-03-29 Thread Andrey Belevantsev
Hello, I'd like to ping again those SMS patches once we're back to Stage 1. Ayal, maybe it would remove some burden for you if you'd review the general SMS functionality of those patches, and we'd ask RTL folks to look at the pieces related to RTL pattern matching and generation? Yours, Andr

[PATCH] Fix PR 52203

2012-03-07 Thread Andrey Belevantsev
, OK for trunk? No testcase again because of the amount of flags needed. Andrey 2012-03-07 Andrey Belevantsev PR rtl-optimization/52203 * sel-sched.c (estimate_insn_cost): New parameter pempty. Adjust all callers to pass NULL except ... (reset_sched_cycles_in_

[PATCH] [4.7?] Fix PR 52250

2012-03-05 Thread Andrey Belevantsev
case we will need an RC2, if you want one bug less in a release, but I would feel equally happy to postpone it until 4.7.1 as the problematic situation is quite rare (and probably requires pipelining outer loops to trigger which is disabled with ia64/-O3). Yours, Andrey 2012-03-05 Andrey

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

2012-02-10 Thread Andrey Belevantsev
Hello Richard, On 30.09.2011 19:21, Roman Zhuykov wrote: 2011/7/22 Richard Sandiford: That's pre-approved (independently of the other patches) if it works. ... Changed like the following. Will commit if no objections after a couple of days. We forgot to commit this patch back in September,

Re: [PATCH] Fix PR 51505

2012-01-30 Thread Andrey Belevantsev
On 30.01.2012 17:47, Paolo Bonzini wrote: On 01/30/2012 09:44 AM, Andrey Belevantsev wrote: Does this help? That would fix the problem of multiple notes per insn (as we wanted to do initially), but I didn't understand whether this is the real problem or the problem is the reload not

Re: [PATCH] Fix PR 51505

2012-01-30 Thread Andrey Belevantsev
On 30.01.2012 11:38, Paolo Bonzini wrote: On 01/29/2012 04:09 PM, Eric Botcazou wrote: As discussed in Bugzilla, this is the patch implementing Paolo's suggestion of killing REG_EQUAL/REG_EQUIV notes from df_kill_notes. The code assumes there is at most one such note per insn. That's wrong tho

Re: [PATCH] Fix PR 51389

2012-01-27 Thread Andrey Belevantsev
On 27.01.2012 13:19, Richard Guenther wrote: 2012/1/27 Andrey Belevantsev: On 25.01.2012 18:21, Richard Guenther wrote: 2012/1/25 Andrey Belevantsev: ... Sure, I've just had the impression that the datarefs vector is no use without the dependencies themselves. The possibility of m

Re: [PATCH] Fix PR 51389

2012-01-27 Thread Andrey Belevantsev
On 25.01.2012 18:21, Richard Guenther wrote: 2012/1/25 Andrey Belevantsev: ... Sure, I've just had the impression that the datarefs vector is no use without the dependencies themselves. The possibility of making find_data_references_in_loop static also kind of hints in this direction. An

Re: [PATCH] Fix PR 51389

2012-01-25 Thread Andrey Belevantsev
On 25.01.2012 16:38, Richard Guenther wrote: 2012/1/25 Andrey Belevantsev: Hello, In this PR data dependence analysis goes wild by trying to process>20k datarefs, so the patch limits the number of datarefs per loop we handle to 1000 via a param. On the way find_data_references_in_loop is m

[PATCH] Fix PR 48374

2012-01-25 Thread Andrey Belevantsev
committing this earlier (the patch in the audit trail was created in April 2011). What do release managers think? Andrey gcc/ 2012-01-25 Andrey Belevantsev PR rtl-optimization/48374 * sel-sched-ir.h (get_all_loop_exits): Check for zero successors. testsuite/ 2012-01

[PATCH] Fix PR 51389

2012-01-25 Thread Andrey Belevantsev
12-01-25 Andrey Belevantsev PR middle-end/51389 * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H). * tree-data-ref.c (find_data_references_in_loop): Make static. Bail out for too many datarefs in a loop. * tree-data-ref.h (find_data_references

[PATCH, RTL] Fix PR 51106

2012-01-19 Thread Andrey Belevantsev
/4.6/4.5? Andrey gcc/ 2012-01-19 Andrey Belevantsev PR target/51106 * function.c (instantiate_virtual_regs_in_insn): Use delete_insn_and_edges when removing a wrong asm insn. testsuite/ 2012-01-19 Jakub Jelinek PR target/51106 * gcc.c-torture/compile/pr51106.c

Re: [PATCH] Fix PR 51505

2012-01-18 Thread Andrey Belevantsev
On 18.01.2012 21:28, Paolo Bonzini wrote: On 01/18/2012 05:41 PM, Andrey Belevantsev wrote: Ok, thanks for working on this. Installed, do you want this for 4.6/4.5? Andrey

[PATCH] Fix PR 51505

2012-01-18 Thread Andrey Belevantsev
ndrey Belevantsev PR rtl-optimization/51505 * df-problems.c (df_kill_notes): New parameter live. Update comment. Remove REG_EQUAL/REG_EQUIV notes referring to dead registers. (df_note_bb_compute): Update the call to df_kill_notes. testsuite: 2012-01-18 Andrey Beleva

  1   2   >