<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 9, 2015 at 10:31 AM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">----- Original Message -----<br>
> From: "Rail Shafigulin via llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br>
> To: "llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br>
> Sent: Monday, November 9, 2015 10:09:07 AM<br>
> Subject: Re: [llvm-dev] Is there a way to convert between SchedMachineModel   and Itineraries?<br>
><br>
><br>
> Anybody? Does anyone at all know how to do it?<br>
<br>
</span>There is no direct conversion. Although they are similar models, they are different. The strength of Itineraries lies in modeling pipelines with complex hazards (especially those that are not fully pipelined, or have other similar ordering constraints). SchedMachineModel can't do that. Unless you need to represent those kinds of constraints, SchedMachineModel is preferred. We'd like to move toward using SchedMachineModel for most things.<br>
<br>
 -Hal<br></blockquote><div><br></div><div>Thanks for the reply Hal. I thought my thread was dead. </div><div><br></div><div>I was recommended to use SchedMachineModel for my VLIW, which is what I've done (it took me a month to learn tblgen and write the scheduling model and one more month do get my head around LLVM. My experience with compilers is limited to a class I took in college a year ago). The scheduling part seems to be working (at least this is what my limited testing shows). However current DFAPacketizer is based on itineraries (DFAPacketizer.cpp, lines 66-73). I was hoping there is a way to convert between these two representations so that I wouldn't have to rewrite the packetizer. Unfortunately my experience with compilers is very limited and I still have a lot to learn. </div><div><br></div><div>Right now I have two options. In both of the cases there are significant drawbacks.</div><div>1. Rewrite the scheduling model using itineraries. Unfortunately there is very little help available on this topic, I even asked on the IRC channel and nobody seems to know how it is done, since everyone is moving towards the SchedMachineModel.</div><div>2. Write a new packetizer which will use the SchedMachineModel, however, as I said before, I have a very limited experience with compilers and this looks like some major work. I'm not afraid of it, it is just there is not much information and help available.</div><div><br></div><div>I would greatly appreciate any help on this</div><div><br></div><div>Rail</div></div><div><br></div>
</div></div>