Displaying 20 results from an estimated 8000 matches similar to: "getScalarizationOverhead()"
2017 Jan 20
3
getScalarizationOverhead()
On 2017-01-20 14:31, Hal Finkel wrote:
>
> On 01/20/2017 06:11 AM, Jonas Paulsson via llvm-dev wrote:
>> Hi,
>>
>> I wonder why getScalarizationOverhead() does not take into account
>> the number of operands of the instruction? This should influence the
>> number of extracts needed, so instead of
>>
>> Scalarization cost = NumEls * (insert +
2015 Apr 22
2
[LLVMdev] Multiple connected components in live interval
I looked at SplitKit, but I am not sure how to best do it, so it would
be great if you could take a look.
/Jonas
On 2015-04-21 19:35, Quentin Colombet wrote:
>> On Apr 21, 2015, at 7:40 AM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>>
>>
>>> On Apr 21, 2015, at 05:39, Jonas Paulsson <jonas.paulsson at ericsson.com> wrote:
>>>
>>>
2015 Apr 24
2
[LLVMdev] Multiple connected components in live interval
Hi Jonas,
I won’t have time to look at it this week after all.
I’ll try to do that next week.
If you do not hear back from me by end of next, do not hesitate to ping me!
Cheers,
-Quentin
> On Apr 22, 2015, at 9:32 AM, Quentin Colombet <qcolombet at apple.com> wrote:
>
>>
>> On Apr 21, 2015, at 11:49 PM, Jonas Paulsson <jonas.paulsson at ericsson.com
2015 Apr 21
2
[LLVMdev] Multiple connected components in live interval
> On Apr 21, 2015, at 05:39, Jonas Paulsson <jonas.paulsson at ericsson.com> wrote:
>
> Could it then be that the RegisterCoalescer should split live ranges when LIS->shrinkToUses() return true? Why does it not do that, when the verifier demands this?
I think it should. That's an oversight.
2015 Apr 20
2
[LLVMdev] Multiple connected components in live interval
Hi Jonas,
> On Apr 20, 2015, at 4:03 AM, Jonas Paulsson <jonas.paulsson at ericsson.com> wrote:
>
> Hi Quentin,
>
> After Simple Register Coalescing.
Is the code you have pasted with the PHIs feed to the register coalescer?
I am trying to understand the setting to help debugging the problem.
Also, what does -debug-only=regalloc tell you?
Thanks,
-Quentin
>
>
2017 Mar 17
3
LoopVectorizer with ifconversion
On 17 March 2017 at 16:34, Hal Finkel <hfinkel at anl.gov> wrote:
> In general, this is true everywhere. In a large vectorized loop, this cost
> may well be worthwhile. The idea is that the cost model should account for
> all of these costs. If it doesn't properly, we should fix that.
Isn't this only worth when the SIMD instructions can be
conditionalised per lane? I
2015 Feb 11
2
[LLVMdev] [PATCH] Bugfix for missed dependency from store to load in buildSchedGraph().
Hi,
I would be happy to give it a try :-)
The fact that AA was added at a later point explains the situation a bit, as much fewer SUs should end up in RejectMemNodes without it.
RejectMemNodes is bad in that it mixes all the SUs together again, after having gone through the work of separating them by analyzing their underlying objects.
It is also very confusing to have two "stages" of
2015 Mar 06
2
[LLVMdev] PBQP spilling
Hi,
I have worked a little on the PBQP register allocator, and it is quite clear (at least to me) that it is not even a serious alternative to RegAllocGreedy at the moment, due to the poor handling of spilling. As Arnaud wrote below, it is not optimizing spilling at all, but rather just spills anything that does not get an assignment. The result is a lot more spill/reload instructions than
2013 Apr 18
2
[LLVMdev] alias analysis in backend
On Apr 17, 2013, at 2:33 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> ----- Original Message -----
>> From: "Jonas Paulsson" <jonas.paulsson at ericsson.com>
>> To: "Hal Finkel" <hfinkel at anl.gov>
>> Cc: llvmdev at cs.uiuc.edu
>> Sent: Wednesday, April 17, 2013 12:22:49 AM
>> Subject: RE: [LLVMdev] alias analysis in backend
2015 Apr 17
2
[LLVMdev] Multiple connected components in live interval
Hi Jonas,
When is the MachineVerifier complaining?
I mean after which pass?
Thanks,
-Quentin
> On Apr 17, 2015, at 7:17 AM, Jonas Paulsson <jonas.paulsson at ericsson.com> wrote:
>
> Hi,
>
> thanks for answering, but the COPY is there already from after isel. It is a copy of a subreg, after a a call returning 64 bits.
>
> call
2013 Apr 17
2
[LLVMdev] alias analysis in backend
Hi Hal,
Thanks. How about a symbol with two different immediate offsets - the Value* would be the same, right? I don't see how AliasAnalysis::Location would handle this... And BasicAliasAnalysis does
if (V1 == V2) return MustAlias;
, so I'm not sure how this would be done .. ?
/Jonas
> -----Original Message-----
> From: Hal Finkel [mailto:hfinkel at anl.gov]
> Sent:
2013 Feb 21
2
[LLVMdev] hazard scheduling nodes
Hi,
I am trying to add Hazard scheduling nodes after buildSchedGraph(), with a scheduler derived from ScheduleDAGInstrs. I get weird errors, so I wonder what I am doing wrong?
What I am doing right now is:
I have a created MI with opcode HAZARD that does not have parent, and I greate a SUnit(HazardMI). I use this one HazardMI for all hazard nodes.
I remove all edges using removePred.
I insert
2015 Mar 09
2
[LLVMdev] PBQP spilling
Hi Quentin, Jonas,
Splitting fits in with PBQP reasonably well, at least conceptually. The
PBQP graph is designed to be mutable, so there is no problem with updating
it when splitting.
As I see it, there are two logical places to integrate splitting into PBQP:
1) Split during spilling -- If a PBQP solution selects the spill option for
a node, rather than spill immediately, split the interval
2017 Mar 24
2
SLP regression on SystemZ
Hi,
I have come across a major regression resulting after SLP vectorization
(+18% on SystemZ, just for enabling SLP). This all relates to one
particular very hot loop.
Scalar code:
%conv252 = zext i16 %110 to i64
%conv254 = zext i16 %111 to i64
%sub255 = sub nsw i64 %conv252, %conv254
... repeated
SLP output:
%101 = zext <16 x i16> %100 to <16 x i64>
%104 = zext
2013 Feb 12
2
[LLVMdev] DFAPacketizer
Hi Jonas,
> It is interesting to find this in the ARM backend, considering your
answer.
The ARM backend doesn't use the DFA packetizer. It's only used by
Hexagon. At this point, there is no plan to address thisin the DFA
packetizer since none of the supported targets needthe functionality.
Thanks
-Anshu
---
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
2016 Apr 27
2
phys reg liveness during foldMemoryOperandImpl()
I would expect that it shouldn't be too hard to pass around a reference to LiveIntervalAnalysis*. Patches welcome :)
- Matthias
> On Apr 27, 2016, at 11:38 AM, Jonas Paulsson via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> ping.
>
> Either this can be implemented easily, or the current SystemZ optimization LAY -> AGSI in foldMemoryOperandImpl() should be
2015 Mar 10
2
[LLVMdev] PBQP spilling
Both approaches are not exclusive. I would even think it makes sense to have a pre-split pass to prepare the graph, with a global view, and later on use use trySplit (or an equivalent) to handle the local coloring issues.
From: Quentin Colombet [mailto:qcolombet at apple.com]
Sent: 09 March 2015 23:08
To: Lang Hames
Cc: Jonas Paulsson; llvmdev at cs.uiuc.edu; Arnaud De Grandmaison
Subject:
2014 Dec 09
2
[LLVMdev] InlineSpiller.cpp bug?
Hi Jonas,
Thanks for your patience.
After spending some time looking at the additional output you gave me, I agree that your fix is the right one.
I was worried that this problem may arise because we were spilling not real user, but in fact what I thought was the problem is an optimization we could do :).
See my comments inlined for a few nitpicks before you commit.
Thanks again,
-Quentin
On
2014 Dec 05
2
[LLVMdev] InlineSpiller.cpp bug?
Hi Quentin,
I have rerun the test case on a recent commit, so the numbers have changed. There are also now a few more basic blocks very small basic blocks in the function, and therefore there are some slight differences. I tried to go back to earlier commits, without success for some reason... This is however very similar, except that there becomes two COPYs back to sibling value after the loop.
2013 Mar 12
1
[LLVMdev] hazard scheduling nodes
Hi Andy,
The thing is that I was trying to build a sched graph in other places than these two standard scheduling passes. For instance, in pre-emit. I would like to reschedule a basic block on my vliw target just before assembly emission.
I tried to add SUnits for hazards in an experiment, but this gave very weird errors... even while allocating extra space in SUnits vector. For some function, I