[llvm-dev] Head at revision #262824 - breaks Movidius Out-of-Tree target

Matthias Braun via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 8 11:12:57 PST 2016


> On Mar 8, 2016, at 8:11 AM, Martin J. O'Riordan via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> [I tweaked the subject, #262824 did not introduce the problem, it is just the version I am first seeing this problem]
> 
> A quick update - I have added 'Sched<[]>' as a base class for all instructions, and also:
This should not be necessary if you have itinerary information for your instructions...

> 
>    let hasNoSchedulingInfo = 1;
> 
> to all the Pseudos, but while most of the errors have gone, I still get the diagnostic for 'COPY' thus:
> 
>    error : No schedule information for instruction 'COPY'
> 
> but I don't have an instruction called COPY (this is a target-independent default).  I also tried adding:

COPY instructions exist on any target (they are defined in include/llvm/Target/Target.td). They definitely occur at the scheduling phase so it makes sense to provide scheduling information for them. Usually they are matched with InstRW expressions. The simplest form would be:

def : InstRW<[], (instrs COPY)>


> 
>    let CompleteModel = 0;
> 
> to my base instruction type, but it is unrecognised.
This needs to go into your SchedMachineModel section (it is 1 by default, so you have to explicitely override it if you want to set it to 0).

- Matthias



More information about the llvm-dev mailing list