I think, Ilya, wants to run his pass, say, in 208r.split4 only. Seems
both split2, split3 and split4 all run under `reload_complete` set to
true.
Any ideas?
--
Thanks, K
On Tue, Aug 16, 2011 at 8:47 PM, Andrew Pinski wrote:
> On Tue, Aug 16, 2011 at 6:32 AM, Ilya Enkovich wrote:
>> Hello,
>>
>
On Tue, Aug 16, 2011 at 6:32 AM, Ilya Enkovich wrote:
> Hello,
>
> Is there any way to specify in define_split predicate that it should
> work in some particular pass only? I need to create split which works
> in pass_split_before_sched2 only.
So split before RA? try conventionalizing it on !rel
On 09/11/10 22:54, Michael Meissner wrote:
The split pass would then break this back into three insns:
(insn ... (set (reg:SF ACC_REGISTER)
(mult:SF (reg:SF 124)
(reg:SF 125
(insn ... (set (reg:SF ACC_REGISTER)
On 11/10/2010 12:47 AM, Joern Rennecke wrote:
I remember that it has been there even before the GNU GCC project started
using cvs. Fortunately, we still have the translated history from RCS
going backeven further... but the earliest mention of find_split_point
in combine.c is shown as having
Quoting Michael Meissner :
Generally you need to tighten the pattern conditions to make sure it doesn't
match.
Sometimes the only sane and effective way of tightening the pattern conditions
is to have an insn condition of "0".
At which point the define_insn_and_split becomes syntactic sugar
(p
Quoting Michael Meissner :
So whether the passes in between combine and the split pass care, is a
different question. I didn't recall that combine had this split feature.
I remember that it has been there even before the GNU GCC project started
using cvs. Fortunately, we still have the tran
On Tue, Nov 09, 2010 at 01:38:17PM -0500, Joern Rennecke wrote:
> Quoting Paolo Bonzini :
>
> >On 11/09/2010 05:38 PM, Joern Rennecke wrote:
> >>A define_insn will be recognized in all contexts.
> >>Having an insn pattern for an insn that does not actually exist can cause
> >>all kinds of unintend
On Tue, Nov 09, 2010 at 09:38:28AM +0200, roy rosen wrote:
> I still don't understand the difference between your two examples:
> If you write a define_split then whenever during combine it gets into
> a pattern which matches the define_split then it splits.
>
> What is the difference when writing
Quoting Paolo Bonzini :
On 11/09/2010 05:38 PM, Joern Rennecke wrote:
A define_insn will be recognized in all contexts.
Having an insn pattern for an insn that does not actually exist can cause
all kinds of unintended consequences as the optimizers try to generate
and recognize 'optimized' patt
On 11/09/2010 05:38 PM, Joern Rennecke wrote:
A define_insn will be recognized in all contexts.
Having an insn pattern for an insn that does not actually exist can cause
all kinds of unintended consequences as the optimizers try to generate
and recognize 'optimized' patterns, or when reload does
Quoting Paolo Bonzini :
As I understand it, this will also give combine the ability to do
two->two (and two->N) transformations, though indirectly through the
temporary insn. Given this, could you explain further the benefits of
combiner-split define_split vs. define_insn_and_split.
A define_
On 11/09/2010 10:22 AM, Joern Rennecke wrote:
Quoting roy rosen :
What is the difference when writing define_insn_and_split?
From what I understood from the docs then if there is such an insn
then the split does not occur so it would simply match it as an insn
without splitting and at the end w
Quoting roy rosen :
What is the difference when writing define_insn_and_split?
From what I understood from the docs then if there is such an insn
then the split does not occur so it would simply match it as an insn
without splitting and at the end would print the #?
Can you please elaborate?
T
2010/11/8 Michael Meissner :
> On Thu, Oct 28, 2010 at 09:11:44AM +0200, roy rosen wrote:
>> Hi all,
>>
>> I am trying to use define_split, but it seems to me that I don't
>> understand how it is used.
>> It says in the gccint.pdf (which I use as my tutorial (is there
>> anything better or more up
On Thu, Oct 28, 2010 at 09:11:44AM +0200, roy rosen wrote:
> Hi all,
>
> I am trying to use define_split, but it seems to me that I don't
> understand how it is used.
> It says in the gccint.pdf (which I use as my tutorial (is there
> anything better or more up to date?)) that the combiner only us
Quoting Ian Lance Taylor :
Can you give us some examples of useful combine-split patterns?
sh.md:
;; combiner splitter for test-and-branch on single bit in register. This
;; is endian dependent because the non-paradoxical subreg looks different
;; on big endian.
(define_split
[(set (pc)
Joern Rennecke writes:
> Quoting Ian Lance Taylor :
>
>> That said, this is not a very interesting use of splits these days and
>> it could probably be removed without doing any noticeable harm. These
>> days most people just write the complex pattern using define_insn, and
>> then write a defin
Quoting Ian Lance Taylor :
That said, this is not a very interesting use of splits these days and
it could probably be removed without doing any noticeable harm. These
days most people just write the complex pattern using define_insn, and
then write a define_split (or a define_insn_and_split) w
roy rosen writes:
> How are they split before register allocation or scheduling. We've
> said that in any case only the combiner does the splitting.
No, we haven't said that. Or, if we did, we made a mistake. The
documentation I see says "There are two cases where you should specify
how to spl
2010/10/29 Ian Lance Taylor :
> roy rosen writes:
>
>> I am trying to use define_split, but it seems to me that I don't
>> understand how it is used.
>> It says in the gccint.pdf (which I use as my tutorial (is there
>> anything better or more up to date?))
>
> Assuming you built gccint.pdf from t
roy rosen writes:
> I am trying to use define_split, but it seems to me that I don't
> understand how it is used.
> It says in the gccint.pdf (which I use as my tutorial (is there
> anything better or more up to date?))
Assuming you built gccint.pdf from the gcc sources that you are using
for d
21 matches
Mail list logo