Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] [RFC] Bundling support in the PostRA Scheduler"
2012 Aug 06
0
[LLVMdev] [RFC] Bundling support in the PostRA Scheduler
On Jul 31, 2012, at 8:37 AM, Ivan Llopard <ivanllopard at gmail.com> wrote:
> Hi,
>
> I'm working on a custom top-down post RA scheduler which builds bundles
> at the same time for our VLIW processor. I've borrowed most of the
> implementation from the resource priority queue implemented for the
> existent VLIW scheduler but applied to the context of MI
2012 Aug 13
1
[LLVMdev] [RFC] Bundling support in the PostRA Scheduler
Hi all,
Thanks for your feed-backs :-)
@Andrew: In fact, I've reused most of the postRA list scheduler code and
the resource priority queue. Every time it needs to move forward, either
because of a res hazard (HazardRec) or an invalid combination of
instructions in the current packet (DFA), it closes the current bundle
and advances to the next cycle. The non-interlocked nature of our
2012 Aug 09
0
[LLVMdev] [RFC] Bundling support in the PostRA Scheduler
Ivan,
IMHO the current bundle infrastructure is in need of some additional
features - not only bundle handling utilities, but also support for liveness
computation, several (key) code transformation passes etc. (see my recent
post for conditional defs for instance). Does your back-end perform any
substantial transformations to the code _after_ the second pass (postRA)
scheduler and bundle
2013 Sep 26
1
[LLVMdev] Enabling MI Scheduler on x86 (was Experimental Evaluation of the Schedulers in LLVM 3.3)
Hi,
Thanks for your explanations!
How is the big picture for supporting in-order VLIW architectures and
the like though?
I am asking because I am currently implementing instruction scheduling
in our own backend for our custom Patmos processor, for which I need to
support both branch delay slots and bundles, some restrictions regarding
bundles.
For the moment, I am quite happy with a simple
2012 Mar 29
2
[LLVMdev] VLIWPacketizerList: failing to schedule terminators
On Thu, Mar 29, 2012 at 02:57:27PM -0500, Sergei Larin wrote:
> Tom,
>
> I do not have your call stack, but packetizer calls
> ScheduleDAGInstrs::buildSchedGraph to create dependency model. If this is
> the first time you use the new MI sched infrastructure (like your target has
> not implemented misched yet) there might be some work needed to implement
> couple target
2012 Mar 29
0
[LLVMdev] VLIWPacketizerList: failing to schedule terminators
On Mar 29, 2012, at 1:18 PM, Tom Stellard <thomas.stellard at amd.com> wrote:
> On Thu, Mar 29, 2012 at 02:57:27PM -0500, Sergei Larin wrote:
>> Tom,
>>
>> I do not have your call stack, but packetizer calls
>> ScheduleDAGInstrs::buildSchedGraph to create dependency model. If this is
>> the first time you use the new MI sched infrastructure (like your
2012 May 11
2
[LLVMdev] Scheduler Roadmap
On Thu, 10 May 2012 20:33:53 -0700
Andrew Trick <atrick at apple.com> wrote:
> On May 9, 2012, at 8:34 AM, dag at cray.com wrote:
>
> > Andrew Trick <atrick at apple.com> writes:
> >
> >>> When I asked about enhancing scheduler heuristics a month or so
> >>> ago, I got a response about a MachineInstr scheduler and that
> >>> that
2012 May 11
0
[LLVMdev] Scheduler Roadmap
On May 10, 2012, at 9:06 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>> - Target pass configuration: DONE
>> - MachineScheduler pass framework: DONE
>> - MI Scheduling DAG: DONE
>> - AliasAnalysis aware DAG option: In review (Sergei)
>> - Bidirectional list scheduling: DONE
>> - LiveInterval Update: WIP (simple instruction reordering is
>> supported)
2012 Aug 10
2
[LLVMdev] [RFC] Bundling support in the PostRA Scheduler
Hi,
On 08/09/2012 10:03 PM, Sergei Larin wrote:
> I also tried to mess with PostRA scheduler to achieve similar goals, only
> to find out that all the additional dependencies after RA make it virtually
> impossible to produce high quality schedule, and obviously it is too late at
> that point to address reg pressure via scheduling techniques, so I have put
> that project on the
2012 May 11
3
[LLVMdev] Scheduler Roadmap
My 2c...
Even though I understand it might be way off in the future, but we are
talking about long term plans here anyway. Also as a VLIW backend
maintainer, I just have to say it :)
- We do need to have a way to assign bundles much earlier than we do now.
And it needs to be intertwined with scheduling (Bundler currently reuses a
good chunk of scheduler infrastructure). It is also obvious
2011 Nov 29
2
[LLVMdev] [llvm-commits] Bottom-Up Scheduling?
On Nov 29, 2011, at 10:47 AM, Hal Finkel wrote:
> Andy,
>
> I should have been more clear, the ARM implementation has:
> void ARMHazardRecognizer::RecedeCycle() {
> llvm_unreachable("reverse ARM hazard checking unsupported");
> }
>
> How does that work?
>
> Thanks again,
> Hal
Hal,
My first answer was off the top of my head, so missed the subtle
2011 Nov 29
4
[LLVMdev] [llvm-commits] Bottom-Up Scheduling?
ARM can reuse all the default scoreboard hazard recognizer logic such as recede cycle (naturally since its the primary client). If you can do the same with PPC that's great.
Andy
On Nov 29, 2011, at 8:51 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>> Thanks! Since I have to change PPCHazardRecognizer for bottom-up support
>> anyway, is there any reason not to have it
2013 Sep 24
0
[LLVMdev] Enabling MI Scheduler on x86 (was Experimental Evaluation of the Schedulers in LLVM 3.3)
In my last message, I explained the goals of the generic MI scheduler and current status. This week, I'll see if we can enable MI scheduling by default for x86. I'm not sure which flags you're using to test it now. But by making it default and enabling the corresponding coalescer changes, we can be confident that benchmarking efforts are improving on the same baseline. At that point, I
2014 Mar 04
2
[LLVMdev] Question about per-operand machine model
On Mar 4, 2014, at 10:05 AM, Pete Cooper <peter_cooper at apple.com> wrote:
>
> On Mar 3, 2014, at 2:21 PM, Andrew Trick <atrick at apple.com> wrote:
>
>>
>> On Mar 3, 2014, at 8:53 AM, Pierre-Andre Saulais <pierre-andre at codeplay.com> wrote:
>>
>>> Hi Andrew,
>>>
>>> We are currently using a custom model where
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.
2012 Aug 13
0
[LLVMdev] [RFC] Bundling support in the PostRA Scheduler
Hi Pekka,
> Has anyone studied how much work it would be to implement an integrated
> allocator/scheduler in LLVM now?
Not to my knowledge.
> Another solution (which we use in TCE) is to use register renaming.
You do it in LLVM? Do you plan to upstream it?
Also, I do not know your target/goal, but do you look at global scheduling
at all?
Thanks.
Sergei
--
Qualcomm Innovation
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 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
2012 Mar 30
1
[LLVMdev] VLIWPacketizerList: failing to schedule terminators
On Thu, Mar 29, 2012 at 03:51:10PM -0700, Andrew Trick wrote:
>
> On Mar 29, 2012, at 1:18 PM, Tom Stellard <thomas.stellard at amd.com> wrote:
>
> > On Thu, Mar 29, 2012 at 02:57:27PM -0500, Sergei Larin wrote:
> >> Tom,
> >>
> >> I do not have your call stack, but packetizer calls
> >> ScheduleDAGInstrs::buildSchedGraph to create
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