List Scheduling on LLVM Instructions

Hi All,

I am planning to use list scheduling on LLVM instructions.

Any recommendation on how to start ? As in which codes in LLVM that I need to look at.

Since I am still a newbie, any readings recommended? :slight_smile:

Thanks a lot for the help.

Regards,
Kiat

I am planning to use list scheduling on LLVM instructions.
Any recommendation on how to start ? As in which codes in LLVM that I need
to look at.

We don't currently have a list scheduler in the target-independent code generator, but we do have the infrastructure needed to implement one. Check out the lib/CodeGen/SelectionDAG/ScheduleDAG.cpp file.

If you have questions about the file, Jim can help.

Since I am still a newbie, any readings recommended? :slight_smile:

There are several decent compiler books out there. I believe the Muchnick book (Advanced Compiler Design?) has a detailed section on scheduling.

-Chris

Didn't SparcV9 backend implement list scheduling?

Didn't SparcV9 backend implement list scheduling?

Yes, but its scheduler cannot be used by the target-independent code generators: the V9 backend uses a different representation of machine instructions.

-Chris