Displaying 20 results from an estimated 500 matches similar to: "Instruction Itineraries: question about operand latencies"
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
2013 Dec 20
1
[LLVMdev] extra one cycle of getOperandLatency
Hi llvm-dev,
I wonder why there is an extra cycle for getOperandLatency.
It doesn't seem intuitive.
UseCycle = DefCycle - UseCycle + 1;
When I read the comments in TargetItinerary.td, it said
OperandCycles are optional "cycle counts". They specify the cycle after
instruction issue the values which correspond to specific operand indices
are defined or read.
I thought if
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
2011 Aug 15
2
[LLVMdev] Question on instruction itineraries
Hi everyone
I'm fairly new with LLVM and I've been searching around but couldn't find
info on this subject.
I started working on a target for a new cpu and I realizing my initial
simple understanding of instruction itineraries may be completely off.
I'm trying to model a CPU that has a latency of 2 cycles for multiplications
fully pipelined (so it can start a new one after one
2015 Nov 12
2
Way to specify instruction latency in itinerary scheduling model
Does anybody know how to specify instruction latency in the itinerary
scheduling model? For some reason no matter what I do I get a latency of 1.
--
Rail
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151111/161bd6cb/attachment.html>
2015 Nov 16
3
DFAPacketizer, Scheduling and LoadLatency
I'm unclear how does DFAPacketizer and the scheduler know a given
instruction is a load.
Here is what I'm talking about
Let's assume my VLIW target is described as follows:
def MyTargetItineraries :
ProcessorItineraries<[Slot0, Slot1], [], [
..............................
InstrItinData<RI, [InstrStage<1, [Slot0, Slot1]>]>,
2013 Feb 11
2
[LLVMdev] DFAPacketizer
Jonas,
At this point, the DFA packetizer models a simple VLIW architecture and
does not accommodate multiple stages. That's the reason for the behavior
you're seeing.
-Anshu
---
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
*From:*llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
*On Behalf Of *Jonas
2011 Aug 16
0
[LLVMdev] Question on instruction itineraries
On Mon, Aug 15, 2011 at 4:03 PM, Miguel G <miguel at esenciatech.com> wrote:
> Hi everyone
> I'm fairly new with LLVM and I've been searching around but couldn't find
> info on this subject.
> I started working on a target for a new cpu and I realizing my initial
> simple understanding of instruction itineraries may be completely off.
> I'm trying to model a
2011 Oct 07
1
[LLVMdev] Multiple-Pipeline Itinerary
In the example provided:
// InstrItinData<IIC_iLoad_i , [InstrStage<1, [A9_Pipe1]>,
// InstrStage<1, [A9_AGU]>],
// [3, 1], [A9_LdBypass]>,
If there is an operand dependency, does the scheduler assume that the
instruction is held in A9_Pipe1 or in A9_AGU until the operand is ready?
Thanks again,
Hal
On Fri,
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,
2013 May 09
2
[LLVMdev] Scheduling with RAW hazards
I have an instruction that takes no operands, and produces two results,
in two consecutive cycles.
I tried both of the following to my Schedule.td file:
InstrItinData<IIMyInstr, [InstrStage<2, [FuncU]>], [1, 2]>,
InstrItinData<IIMyInstr, [InstrStage<1, [FuncU]>, InstrStage<1,
[FuncU]>], [1, 2]>,
From what I can see in examples, these say that the first
2015 Nov 17
2
DFAPacketizer, Scheduling and LoadLatency
> In particular, the LoadLatency is used in defaultDefLatency:
>
> /// Return the default expected latency for a def based on it's opcode.
> unsigned TargetInstrInfo::defaultDefLatency(
> const MCSchedModel &SchedModel, const MachineInstr *DefMI) const {
> if (DefMI->isTransient())
> return 0;
> if (DefMI->mayLoad())
> return
2013 Feb 12
0
[LLVMdev] DFAPacketizer
Hi,
I looked a bit through the mail archives, and found this question answered in Oct 2011 (see below). It is interesting to find this in the ARM backend, considering your answer. Can you give more information about for example is this a temporary deficiency in the DFAPacketizer? What is the IIC_iMOVi itinerary doing below?
Thanks,
Jonas
Thu Oct 6 15:11:25 CDT 2011:
Hello Hal.
> Is there
2011 Oct 06
2
[LLVMdev] Multiple-Pipeline Itinerary
Anton,
Thanks!
What is the difference between Reserved and Required?
-Hal
On Fri, 2011-10-07 at 00:11 +0400, Anton Korobeynikov wrote:
> Hello Hal.
>
> > Is there a way to express a multiple pipeline itinerary using the
> > current scheme
> Yes, surely
>
> > (maybe some trick with setting NextCycles = 0)?
> Yep!
>
> > Specifically, consider a case
2011 Oct 06
0
[LLVMdev] Multiple-Pipeline Itinerary
Hal,
> What is the difference between Reserved and Required?
Think about them like read/write locks.
E.g. if FU is Reserved (=read lock) is can be Reserved multiple times,
but never Required.
If FU is Required (=write lock) it cannot be neither Reserved nor Required.
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
2013 Feb 18
0
[LLVMdev] DFAPacketizer
Hi Anshu,
Would there be any interest in extending this algorithm to handling more extensive models, such as VLIW scheduling based on FU's and bundle space... ie handle multiple stages ?
I might do it and commit, if there is acceptance and guidance...
Jonas
________________________________
From: Anshuman Dasgupta [mailto:adasgupt at codeaurora.org]
Sent: Tuesday, February 12, 2013 4:47 PM
2016 Jan 15
2
Expanding a PseudoOp and accessing the DAG
On Thu, Jan 14, 2016 at 6:05 AM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:
> On 1/13/2016 4:47 PM, Phil Tomson wrote:
>
>>
>> First off, I got this idea from the LLVM Cookbook chapter 8: Writing an
>> LLVM Backend: Lowering to multiple instructions. (now I'm having my
>> doubts as to whether this is the right approach)
>>
>
>
2013 May 09
0
[LLVMdev] Scheduling with RAW hazards
On May 9, 2013, at 4:02 AM, Fraser Cormack <fraser at codeplay.com> wrote:
> I have an instruction that takes no operands, and produces two results, in two consecutive cycles.
>
> I tried both of the following to my Schedule.td file:
>
> InstrItinData<IIMyInstr, [InstrStage<2, [FuncU]>], [1, 2]>,
> InstrItinData<IIMyInstr, [InstrStage<1,
2013 May 13
1
[LLVMdev] Scheduling with RAW hazards
On 09/05/2013 18:25, Andrew Trick wrote:
>
> On May 9, 2013, at 4:02 AM, Fraser Cormack <fraser at codeplay.com
> <mailto:fraser at codeplay.com>> wrote:
>
>> I have an instruction that takes no operands, and produces two
>> results, in two consecutive cycles.
>>
>> I tried both of the following to my Schedule.td file:
>>
>>
2013 Sep 20
2
[LLVMdev] Does Mips resolve hazard in pre-ra-sched or post-ra-sched?
Akira,
Thanks you for response.
I understand Post-RA schedule make uses of scoreboardHazardRecognizer. But
I found mips codes are good enough by default. basically, I can not easily
eyeball any bubbles.
I don't understand how they can do that without post-RA-sched.
pre-ra-scheduler eg. (SelectionDAG/ScheduleDAGRRList.cpp) has little
information and they can only schedule node in topology