Martin J. O'Riordan
2013-Apr-26 10:53 UTC
[LLVMdev] Instruction Scheduling - migration from v3.1 to v3.2
I am migrating the llvm/clang derived compiler for our processor from the v3.1 to v3.2 codebase. This has mostly gone well except that instruction latency scheduling is no longer happening. The people who implemented this previously sub-classed 'ScheduleDAGInstrs' and implemented the virtual methods 'computeLatency' and 'computeOperandLatency'. However, these methods have been removed from 'ScheduleDAG' and 'ScheduleDAGInstrs' so are no longer invoked on our implementation. Instead, the correct approach seems to implement a sub-class of 'TargetSchedModel'. When I had a look at how other targets dealt with this transition I found that none of them had implemented the latency scheduler the way we had, so I couldn't just mimic a strategy used by other targets moving from v3.1 to v3.2. Unfortunately the people who implemented the existing solution are no longer with the organization so I am trying to determine how to fix this without their experience. Is there any preferred or recommended approach for rewriting our existing implementation to fit the 'TargetSchedModel' mechanism? Thanks, MartinO ______________________________________________ Martin J. ORiordan http://www.movidius.com Movidius Ltd. martin.oriordan at movidius.com 19 Mountjoy Square, Dublin 1, Ireland