Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] DFAPacketizer"
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 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
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
2013 Feb 11
0
[LLVMdev] DFAPacketizer
Hi,
I am having problems writing the ProcessorItineraries list. As instructions on my VLIW target have varying size I want to model both cpu units and bundle bits as FUs. The following does not work, to my surprise:
InstrItinData<ALU, [InstrStage<1, [BITS1,BITS2, BITS3, BITS4], 0>,
InstrStage<1, [ALU1, ALU2]>]>
I want to express that there are
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]>]>,
2012 Jun 12
0
[LLVMdev] DFAPacketizer with StateTrans != 0 Assertion
Hi Sam,
On 12/06/2012 15:33, sam wrote:
> Hi,
>
> I'm trying to get the DFAPacketizer to work for my target but with any
> instruction I get the
> 'Assertion `CachedTable.count(StateTrans) != 0' failed' error and it crashes
> out before packeting a single instruction.
Do you reserve some resource without verification?
Note that reserveResources() should be
2012 Jun 12
3
[LLVMdev] DFAPacketizer with StateTrans != 0 Assertion
Hi Ivan,
The assertion was happening because I wasn't checking after the first
attempt failed. The first packet was failing and so it was ended, and
then the packetizer attempted to add it to the next packet without
checking for available resources. However this highlights probably the
real problem - my packetizer is unable to find resources for the first
instruction, or any of my
2012 Jun 12
2
[LLVMdev] DFAPacketizer with StateTrans != 0 Assertion
Hi,
I'm trying to get the DFAPacketizer to work for my target but with any
instruction I get the
'Assertion `CachedTable.count(StateTrans) != 0' failed' error and it crashes
out before packeting a single instruction.
I have a *GenDFAPacketizer.inc file and my packetizer pass checks that the
table is not empty before proceeding. I also have a schedule file with my
functional
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
2015 Nov 16
2
DFAPacketizer assert failure
For some reason on my VLIW target DFAPacketizer fails at
assert(CachedTable.count(StateTrans) != 0);
in the following function:
// reserveResources - Reserve the resources occupied by a MCInstrDesc and
// change the current state to reflect that change.
void DFAPacketizer::reserveResources(const llvm::MCInstrDesc *MID) {
unsigned InsnClass = MID->getSchedClass();
const llvm::InstrStage
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 12
0
[LLVMdev] DFAPacketizer with StateTrans != 0 Assertion
Hi sam,
On 12/06/2012 17:30, sam wrote:
> Hi Ivan,
>
> The assertion was happening because I wasn't checking after the first
> attempt failed. The first packet was failing and so it was ended, and
> then the packetizer attempted to add it to the next packet without
> checking for available resources. However this highlights probably the
> real problem - my packetizer
2012 Apr 19
0
[LLVMdev] Target Dependent Hexagon Packetizer patch
Sure I will split it and put it in two patches.
Give me few hours. I need to test those patches.
Sirish
On 4/19/2012 8:40 AM, Tom Stellard wrote:
> On Wed, Apr 18, 2012 at 11:18:05PM -0500, Sirish Pande wrote:
>> Hi,
>>
>> Here's a patch for Hexagon Packetizer for review. This patch does
>> not yield any warnings.
>>
> Would it be possible to split this
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 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
2020 Apr 20
2
ORC JIT Weekly #12
Hi All,
There was only one interesting ORC-specific commit this week: A new example
showing how to initialize and de-initialize JITDylibs has been added in
llvm/examples/OrcV2Examples/LLJITWithInitializers.
The Extensible RTTI system (https://reviews.llvm.org/D39111) that I posted
a while back has landed. While this is not ORC specific, I expect it to be
used in upcoming patches to allow ORC
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
2012 Jun 11
3
[LLVMdev] scoreboard hazard det. and instruction groupings
I'm considering writing more-detailed itineraries for some PowerPC CPUs
that use the 'traditional' instruction grouping scheme. In essence,
this means that multiple instructions will stall in some pipeline stage
until a complete group is formed, then all will continue.
I expect to provide CPU-specific code to help determine when the
currently-waiting instructions would form a group.
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
2020 Oct 01
2
OrcV1 removal
Hi,
On 2020-10-01 15:29:12 -0700, Lang Hames wrote:
> 24bytes / object -- Looks like I managed module ownership correctly but
> leaked the ThreadSafeModule container. This should be fixed in 5044196b412f.
That helped a bit, but not yet fully. Looks like it might be still
reachable memory, so leakcheck isn't that helpful.
Oooh. I think I see. For various reasons the symbol names we