Last few days I’ve added my comments/patches into almost all
modulo-scheduler PRs appeared in the last two years. Here I want to
discuss five PRs. First of all, I have four patches which fix
regressions, so technically I can ask about applying them right now on
stage4. But we don’t have a ma
Martin Sebor wrote 2019-03-28 22:44:
On 3/28/19 11:49 AM, Roman Zhuykov wrote:
Ping
A week ago I decided it is so minor that I can report here with a
patch without creating bugzilla PR.
Technically it is a "9 regression" in new functionality added back in
summer.
Patch was succesfully bootst
This patch should be applied only after pending patches by Revital. This patch
significantly enhances the existing implementation of the SMS. Patch adds
support of scheduling loops without doloop pattern. The loop should meet the
following requirements.
First three are the same as for loop with
This patch eliminates fake doloop_end pattern for ARM platform. The problem
with such a pattern is that it slows down the loop when SMS doesn't create good
schedule. So, i suppose fake pattern is no longer needed with new loop forms
supported.
2011-07-20 Roman Zhuykov
* config/arm/thu
This patch moves the pass_sms before the pass_partition_blocks. There
is no doloop_end pattern on x86_64. That's why current SMS
implementation can't schedule any loops. But regtesting trunk with SMS
on x86_64 shows an ICE on gcc.dg/tree-prof/bb-reorg.c. The problem is
in an unconditional edge
This patch adds a multiply-and-add instruction expression to
simple_rhs_p function. When debugging my sms patches, the following
situation was found. Imagine a loop, with constant step > 1, where "n"
and "fin" is unknown at compile time.
for (c = n * step + fin; c != fin; c -= step) ...;
c is a
This patch adds an assertion in function rtl_lv_add_condition_to_bb.
It allows me to find mistakes easier while writing code which creates
complex loop versioning condition in previous patch.
2011-07-20 Roman Zhuykov
* cfgrtl.c (rtl_lv_add_condition_to_bb): New assertion.
---
gcc/cfgrt
All the work described in next emails was done while trying to improve SMS
functionality. The main idea is to remove requrement of doloop_end instruction
pattern. This allows SMS to work on more platforms, for example x86-64 and
ARM.
All job was done on top of the following patch. This patch is
This patch should be applied only after previous patch. This patch allows SMS
to schedule loops with non-NULL condition under which the loop is infinite.
Infinite condition is an expression list and all of them should be false if we
want to use niter_expr. So, if each of expressions is a simple c
This patch fixes the compiler segfault found while regtesting trunk with SMS on
IA64 platform. Segfault happens on test gcc.dg/pr45259.c with -fmodulo-sched
enabled. The following jump instruction is given as argument for
doloop_condition_get function:
(jump_insn 86 85 88 7 (set (pc)
(reg
While building a data dependency graph for loop a ddg edge for some pair
of instructions with inter-loop dependency should be created only if
there is no edge for intra-loop dependency between these instructions.
Creating both of edges leads sometimes to the fact that function
generate_reg_moves cr
This obvious patch just removes unused tree_ssa_loop_version function
declaration from tree-flow.h. Will be committed in 24 hours if no objection.
2011-07-20 Roman Zhuykov
* tree-flow.h (tree_ssa_loop_version): Remove unused
declaration.
---
gcc/tree-flow.h |2 --
1 files
12 matches
Mail list logo