Displaying 13 results from an estimated 13 matches for "convergingscheduler".
2013 Jan 11
1
[LLVMdev] Arguments to setLatencyPolicy calls swapped by accident in ConvergingScheduler::checkResourceLimits?
Hi,
In ConvergingScheduler::checkResourceLimits on line 1535 of
MachineScheduler.cpp setLatencyPolicy is called as follows:
// Set ReduceLatency to true if needed.
Bot.setLatencyPolicy(TopCand.Policy);
Top.setLatencyPolicy(BotCand.Policy);
So the Bot scheduling boundary is used to set the latency policy of the
T...
2013 Jul 23
0
[LLVMdev] Questions about MachineScheduler
...ons at the same time.
> In the TableGen definitions, should I do:
>
> def HWVMEM : ProcResource<15>;
> or
>
> let BufferSize = 15 in {
> def HWVMEM : ProcResource<1>;
> }
For in-order processors you always want BufferSize=0. In the current generic scheduler (ConvergingScheduler) it's effectively a boolean that specifies inorder vs OOO. (I have code that models the buffers in an OOO processor, but I think it’s too heavy-weight to go in the scheduler. Maybe someday it can be an analysis tool.)
let BufferSize = 0 {
def HWVMEM : ProcResource<15>;
}
Now since you...
2013 Jul 22
2
[LLVMdev] Questions about MachineScheduler
Hi,
I'm working on defining a SchedMachineModel for the Southern Islands
family of GPUs, and I have two questions related to the
MachineScheduler.
1. I have a resource that can process 15 instructions at the same time.
In the TableGen definitions, should I do:
def HWVMEM : ProcResource<15>;
or
let BufferSize = 15 in {
def HWVMEM : ProcResource<1>;
}
2. Southern Islands has
2012 Aug 28
0
[LLVMdev] Assert in LiveInterval update
...for top-down scheduling. If the instruction was in multiple ready Q's, then you may attempt to schedule it multiple times. You can avoid this by checking Su->isScheduled in your Strategy's pickNode. See InstructionShuffler::pickNode for an example. I don't see an equivalent check in ConvergingScheduler, but there probably should be.
Another possibility to consider is something strange with DebugValues, which I haven't tested much.
I reproduced the same assert on arm and filed PR13719. I'm not sure yet if it's exactly the same issue, but we can move the discussion there.
We need a b...
2012 Aug 28
5
[LLVMdev] Assert in LiveInterval update
...ling. If the instruction was in multiple ready Q's, then you
> may attempt to schedule it multiple times. You can avoid this by
> checking Su->isScheduled in your Strategy's pickNode. See
> InstructionShuffler::pickNode for an example. I don't see an equivalent
> check in ConvergingScheduler, but there probably should be.
>
> Another possibility to consider is something strange with DebugValues,
> which I haven't tested much.
>
> I reproduced the same assert on arm and filed PR13719. I'm not sure yet
> if it's exactly the same issue, but we can move the...
2012 Aug 30
0
[LLVMdev] Assert in LiveInterval update
...tion was in multiple ready Q's, then you
> > may attempt to schedule it multiple times. You can avoid this by
> > checking Su->isScheduled in your Strategy's pickNode. See
> > InstructionShuffler::pickNode for an example. I don't see an equivalent
> > check in ConvergingScheduler, but there probably should be.
> >
> > Another possibility to consider is something strange with DebugValues,
> > which I haven't tested much.
> >
> > I reproduced the same assert on arm and filed PR13719. I'm not sure yet
> > if it's exactly the same...
2012 Aug 28
2
[LLVMdev] Assert in LiveInterval update
Andy,
I've described that issue (see below) when you were out of town... I think
I am getting more context on it. Please take a look...
So, in short, when the new MI scheduler performs move of an instruction, it
does something like this:
// Move the instruction to its new location in the instruction stream.
MachineInstr *MI = SU->getInstr();
if (IsTopNode) {
2012 Aug 31
2
[LLVMdev] Assert in LiveInterval update
...ling. If the instruction was in multiple ready Q's, then you
> may attempt to schedule it multiple times. You can avoid this by
> checking Su->isScheduled in your Strategy's pickNode. See
> InstructionShuffler::pickNode for an example. I don't see an equivalent
> check in ConvergingScheduler, but there probably should be.
>
> Another possibility to consider is something strange with DebugValues,
> which I haven't tested much.
>
> I reproduced the same assert on arm and filed PR13719. I'm not sure yet
> if it's exactly the same issue, but we can move the di...
2012 Aug 30
0
[LLVMdev] MC Register mapping question (MCRegUnitIterator )
...was in multiple ready Q's,
> > then you may attempt to schedule it multiple times. You can avoid
> this
> > by checking Su->isScheduled in your Strategy's pickNode. See
> > InstructionShuffler::pickNode for an example. I don't see an
> > equivalent check in ConvergingScheduler, but there probably should
> be.
> >
> > Another possibility to consider is something strange with
> DebugValues,
> > which I haven't tested much.
> >
> > I reproduced the same assert on arm and filed PR13719. I'm not sure
> > yet if it's exactl...
2012 Aug 31
0
[LLVMdev] Assert in LiveInterval update
...ling. If the instruction was in multiple ready Q's, then you
> may attempt to schedule it multiple times. You can avoid this by
> checking Su->isScheduled in your Strategy's pickNode. See
> InstructionShuffler::pickNode for an example. I don't see an equivalent
> check in ConvergingScheduler, but there probably should be.
>
> Another possibility to consider is something strange with DebugValues,
> which I haven't tested much.
>
> I reproduced the same assert on arm and filed PR13719. I'm not sure yet
> if it's exactly the same issue, but we can move the di...
2012 Aug 30
2
[LLVMdev] MC Register mapping question (MCRegUnitIterator )
...y Q's,
>> > then you may attempt to schedule it multiple times. You can avoid
>> this
>> > by checking Su->isScheduled in your Strategy's pickNode. See
>> > InstructionShuffler::pickNode for an example. I don't see an
>> > equivalent check in ConvergingScheduler, but there probably should
>> be.
>> >
>> > Another possibility to consider is something strange with
>> DebugValues,
>> > which I haven't tested much.
>> >
>> > I reproduced the same assert on arm and filed PR13719. I'm not sure
>...
2012 Aug 30
0
[LLVMdev] MC Register mapping question (MCRegUnitIterator )
...> then you may attempt to schedule it multiple times. You can avoid
> >> this
> >> > by checking Su->isScheduled in your Strategy's pickNode. See
> >> > InstructionShuffler::pickNode for an example. I don't see an
> >> > equivalent check in ConvergingScheduler, but there probably should
> >> be.
> >> >
> >> > Another possibility to consider is something strange with
> >> DebugValues,
> >> > which I haven't tested much.
> >> >
> >> > I reproduced the same assert on arm and f...
2012 Sep 03
2
[LLVMdev] Assert in LiveInterval update
...tion was in multiple ready Q's, then you
> > may attempt to schedule it multiple times. You can avoid this by
> > checking Su->isScheduled in your Strategy's pickNode. See
> > InstructionShuffler::pickNode for an example. I don't see an equivalent
> > check in ConvergingScheduler, but there probably should be.
> >
> > Another possibility to consider is something strange with DebugValues,
> > which I haven't tested much.
> >
> > I reproduced the same assert on arm and filed PR13719. I'm not sure yet
> > if it's exactly the same...