Displaying 20 results from an estimated 1000 matches similar to: "Get basic-block cycle cost from LLVM"
2013 Apr 30
1
[LLVMdev] Instruction Scheduling - migration from v3.1 to v3.2
On Apr 26, 2013, at 3:53 AM, Martin J. O'Riordan <Martin.ORiordan at movidius.com> wrote:
> I am migrating the llvm/clang derived compiler for our processor from the
> v3.1 to v3.2 codebase. This has mostly gone well except that instruction
> latency scheduling is no longer happening.
>
> The people who implemented this previously sub-classed 'ScheduleDAGInstrs'
2016 Jun 08
2
Instruction Itineraries: question about operand latencies
I overrode getInstrLatency and did some printing to see what is available
there. It looks like the registers are still virtual at that point when
getInstrLatency is called - is that correct? (we needed to make some
decisions based on actual registers that have been assigned since some
registers are reserved as address space pointers and we could vary the
latency based on which address space
2016 Jun 06
2
Instruction Itineraries: question about operand latencies
In our architecture loads from certain memory locations take a long time to
complete (on the order of 150 clock cycles). Since we don't have a way to
tell at compile time if the address being loaded from lies in slow or fast
memory, I've gone ahead and made all of the load numbers high, such as:
InstrItinData< II_LOAD1, [InstrStage<150, [AGU]>]>,
However, I see that
2016 Jan 04
2
variable instruction latency using itineraries
It it possible to specify an instruction latency in the itinerary through a
command line option? We have several options for a hardware divider which
have different latencies and it would be nice if I could specify it through
a compiler option rather than changing the value in the code and
recompiling llvm every time?
Any help is appreciated.
--
Rail Shafigulin
Software Engineer
Esencia
2015 Nov 09
2
Is there a way to convert between SchedMachineModel and Itineraries?
----- Original Message -----
> From: "Rail Shafigulin via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "llvm-dev" <llvm-dev at lists.llvm.org>
> Sent: Monday, November 9, 2015 10:09:07 AM
> Subject: Re: [llvm-dev] Is there a way to convert between SchedMachineModel and Itineraries?
>
>
> Anybody? Does anyone at all know how to do it?
There is
2015 Nov 07
2
Is there a way to convert between SchedMachineModel and Itineraries?
Is there a way to convert between SchedMachineModel and Itineraries?
I was trying to write a very simple VLIW packetizer (Hexagon was my
starting point). It turns out that current DFAPacketizer is using
itineraries, but my schedule is based on SchedMachineModel (I was
recommended to use it since the itineraries are being phased out). I was
wondering if there is an automated tool that would
2016 Apr 20
2
How to get started with instruction scheduling? Advice needed.
So if I use the SchedMachineModel method, can I just skip itineraries?
Phil
On Wed, Apr 20, 2016 at 12:29 PM, Sergei Larin <slarin at codeaurora.org>
wrote:
> Target does make a difference. VLIW needs more hand-holding. For what you
> are describing it should be fairly simple.
>
>
>
> Best strategy – see what other targets do. ARM might be a good start for
> generic
2016 Apr 26
3
How to get started with instruction scheduling? Advice needed.
Hi Phil.
You more or less answered your own question, but let me give you some more info. Maybe it is of use.
>From what I understand the SchedMachineModel is the future, although it is not as powerful as itineraries at present. The mi-scheduler is mostly developed around out-of-orders cores, I believe (I love to hear arguments on the contrary). Some of the constraints that can be found in
2015 Nov 09
4
Is there a way to convert between SchedMachineModel and Itineraries?
> On Nov 9, 2015, at 10:49 AM, Rail Shafigulin <rail at esenciatech.com> wrote:
>
> On Mon, Nov 9, 2015 at 10:31 AM, Hal Finkel <hfinkel at anl.gov <mailto:hfinkel at anl.gov>> wrote:
> ----- Original Message -----
> > From: "Rail Shafigulin via llvm-dev" <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
> > To:
2013 Nov 13
2
[LLVMdev] SchedMachineModel clarifications
Dear Andrew and the Group,
I’m trying come up with a SchedMachineModel for the AMD bulldozer
http://en.wikipedia.org/wiki/Bulldozer_(microarchitecture).
The model is not exist for the same .Please correct me if am i wrong here.
I was going through your reference @
https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/Target/TargetSchedule.td
.
But I couldn’t model some of the
2013 May 19
1
Generate positive definite matrix with constraints
Hi, I have a question for my simulation problem:
I would like to generate a positive (or semi def positive) covariance
matrix, non singular, in wich the spectral decomposition returns me the same
values for all dimensions but differs only in eigenvectors.
Ex.
sigma
[,1] [,2]
[1,] 5.05 4.95
[2,] 4.95 5.05
> eigen(sigma)
$values
[1] 10.0 0.1
$vectors
[,1]
2016 Jan 06
2
DFAPacketizer, Scheduling and LoadLatency
On Tue, Nov 17, 2015 at 11:15 AM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:
> On 11/17/2015 12:26 PM, Rail Shafigulin wrote:
>
>>
>> I tried setting
>> let mayLoad = 1 {
>> class InstrLD .... {
>> }
>> }
>>
>> But that didn't seem to work. When I looked at the debug output the
>> latency for the load
2012 Jun 08
2
[LLVMdev] Build error fails at MachineInstr const* for the past two days
I keep getting this error upon building:
> Linking CXX executable ../../bin/opt
> ../../lib/libLLVMTarget.so: error: undefined reference to
> 'llvm::TargetInstrInfo::getNumMicroOps(llvm::InstrItineraryData
> const*, llvm::MachineInstr const*) const'
> ../../lib/libLLVMTarget.so: error: undefined reference to
>
2016 Mar 08
2
Head at revision #262824 - breaks Movidius Out-of-Tree target
[I tweaked the subject, #262824 did not introduce the problem, it is just the version I am first seeing this problem]
A quick update - I have added 'Sched<[]>' as a base class for all instructions, and also:
let hasNoSchedulingInfo = 1;
to all the Pseudos, but while most of the errors have gone, I still get the diagnostic for 'COPY' thus:
error : No schedule
2016 Jun 13
2
Is addrspace info available during instruction scheduling?
We'd like to be able to vary the latency of our load instructions based on
what address space is being loaded from. I was thinking I could do this by
overriding getOperandLatency in our target, but I'm wondering if the
addrspace info is available when instructions are scheduled?
For example, I have this in our llvm IR:
%0 = load i32 addrspace(4)* @answer, align 4
store i32 %0, i32*
2018 Oct 02
2
Reordering of load/stores using MemorySSA
Hello all,
It seems that it is insufficient to
rely on MemorySSA to correctly reorder load/stores.
For example, we have this following code:
v = load q
store 10, p
=>
store 10, p
v = load q // This is incorrect if p and q may alias
In the MemorySSA representation however,
there's no syntactic dependency between load/store,
because MemorySSA before transformation would look like this:
2013 Mar 22
1
Trouble embedding functions (e.g., deltaMethod) in other functions
Dear R community,
I've been writing simple functions for the past year and half and have come
across a similar problem several times. The execution of a function within
my own function produces NaN's or fails to execute as intended. My conundrum
is that I can execute the function outside of my function without error, so
it's difficult for me, as a novice functioneer, to figure out
2017 Apr 03
2
Scheduler: modelling long register reservations?
Hello,
My out-of-tree target features some high latency instructions (let's call them FXLV). When an FXLV issues, it reserves its destination register and execution continues; if a subsequent instruction attempts to read or write that register, the pipline will stall until the FXLV completes. I have attempted to encode this constraint in the machine scheduler (excerpt at bottom of email).
2013 Oct 11
3
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
Hi,
I am trying to cross compile code for ARM Cortex m0, m3, and m4.
For m0, I use:
-target armv6--eabi -mcpu=cortex-m0
That seems to work. For m3 and m4, I use the following which does not work
(fatal error: error in backend: CPU: 'cortex-m3' does not support ARM mode):
-target armv7m--eabi -mcpu=cortex-m3
and
-target armv7em--eabi -mcpu=cortex-m4
Who can help me with the
2011 Jul 09
3
Confusing piece of R code
m0<-epxression((4*theta1*theta2-theta3^2)/(2*x*theta3^2)-0.5*theta1*x)
params<-all.vars(m0) this reads all the params
from m0 so theta1,2 and 3 correct?
params<-params[-which(params=="x")] checks which params are multiplied
by x?
np<-length(params)
for(i in 1:6){
esp<-get(sprintf("m%d",i-1))