Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] how to detect data hazard in pre-RA-sched"
2013 Sep 24
0
[LLVMdev] how to detect data hazard in pre-RA-sched
On Sep 21, 2013, at 8:02 PM, Liu Xin <navy.xliu at gmail.com> wrote:
> hi, LLVM,
>
> I found there is a flag DisableHazardRecognizer in TargetInstrImpl.cpp. I still don't understand how llvm detects data hazard in pre-RA-sched. pre-RA-sched is based on SDNode and all operands are vregs. Even you can calculate the operators of SDNodes, the data hazard in vreg are not same as
2013 Sep 25
2
[LLVMdev] how to detect data hazard in pre-RA-sched
Hi, Andrew,
Thank you for answering my question.
What's the status of misched? is it experimental? I found it is disabled by
default for all architectures(3.4svn). I also don't understand the
algorithm. Could you point to me more papers or text materials about your
approach? it seems that you want to balance register pressure and ILP in
misched.
On Tue, Sep 24, 2013 at 4:07 PM,
2013 Sep 26
2
[LLVMdev] how to detect data hazard in pre-RA-sched
On Wed, Sep 25, 2013 at 1:15 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
> Hi, Andrew,
>
> Thank you for answering my question.
>
> What's the status of misched? is it experimental? I found it is disabled
> by default for all architectures(3.4svn). I also don't understand
2013 Sep 25
0
[LLVMdev] how to detect data hazard in pre-RA-sched
On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
> Hi, Andrew,
>
> Thank you for answering my question.
>
> What's the status of misched? is it experimental? I found it is disabled by default for all architectures(3.4svn). I also don't understand the algorithm. Could you point to me more papers or text materials about your approach? it seems
2013 Sep 26
0
[LLVMdev] how to detect data hazard in pre-RA-sched
On Sep 25, 2013, at 11:03 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
>
>
> On Wed, Sep 25, 2013 at 1:15 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Sep 24, 2013, at 7:59 PM, Liu Xin <navy.xliu at gmail.com> wrote:
>
>> Hi, Andrew,
>>
>> Thank you for answering my question.
>>
>> What's the status of
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
2013 Sep 19
2
[LLVMdev] Does Mips resolve hazard in pre-ra-sched or post-ra-sched?
Hi, LLVM,
I found LLVM codegen has 3 passes for instruction scheduling:
1) pre-ra sched
2) post-ra sched
3) mi sched.
for RISC machines, there are data hazard cases appear only after Register
Allocation(RA). for example, $t0 is used immediately after writing(RAW):
ld $t0, MEM
add $t2, $t0, $0
There may be one or more stall in pipeline. Instruction scheduler can
detect this kinds of conflict
2013 Sep 20
0
[LLVMdev] Does Mips resolve hazard in pre-ra-sched or post-ra-sched?
Hi, Akira,
I found you maintain mips MipsSchedule.td. does it correct? in
MipsSchedule.td, every InstrItinData only uses one InstrStage. there's no
ByPass info out there.
are you sure this reflects the real R4xxx/R5xxx processors.
why IILoad uses funcition unit ALU?
InstrItinData<IILoad , [InstrStage<3, [ALU]>]>
for my previous question, I have new input after
2013 Sep 19
0
[LLVMdev] Does Mips resolve hazard in pre-ra-sched or post-ra-sched?
Mips invokes the post-RA scheduler only when OptLevel > Aggressive, so you
will have to compile with -O3.
You can also invoke the MI (pre-RA) scheduler with llc option
"-enable-misched". As you have pointed out, the post-isel scheduler is
mandatory, and therefore you don't have to give any command line options.
Currently, mips has only one generic scheduling itinerary model in
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 Sep 25
1
[LLVMdev] Does Mips resolve hazard in pre-ra-sched or post-ra-sched?
On Fri, Sep 20, 2013 at 3:30 AM, Liu Xin <navy.xliu at gmail.com> wrote:
> Hi, Akira,
>
> I found you maintain mips MipsSchedule.td. does it correct? in
> MipsSchedule.td, every InstrItinData only uses one InstrStage. there's no
> ByPass info out there.
> are you sure this reflects the real R4xxx/R5xxx processors.
>
> why IILoad uses funcition unit ALU?
>
2012 Jun 11
0
[LLVMdev] scoreboard hazard det. and instruction groupings
On Jun 11, 2012, at 9:30 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> 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
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
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 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 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
2013 Mar 09
0
[LLVMdev] hazard scheduling nodes
On Feb 21, 2013, at 9:11 AM, Jonas Paulsson <jonas.paulsson at ericsson.com> wrote:
> 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
2016 May 27
1
How to make -enable-misched the default?
In order for our instruction itineraries to be considered by the
instruction scheduler we seem to have to pass -enable-misched to llvm:
clang -O3 -mllvm -enable-misched -c some.c .....
If -enable-misched isn't included there it doesn't seem to take our
instruction itineraries into account.
What's the best way to make '-enable-misched' the default?
Phil
-------------- next
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
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