On Fri, Nov 13, 2015 at 02:46:52PM +0100, Hans de Goede wrote: > Hi All, > > So as discussed I've started working on a TGSI backend for > llvm to use as a way to get compute going on nouveau (and other gpu-s). > > I'm still learning all the ins and outs of llvm so I do not have > much to show yet. > > I've rebased Francisco's (curro's) latest version on top of llvm > trunk, and added a commit on top to actual get it build with the > latest trunk. So currently I'm at the point where I've just > taken Francisco's code, and made it compile, no more and no less. > > I have a git repo with this work available here: > > http://cgit.freedesktop.org/~jwrdegoede/llvm/ > > So the next step would be to test this and see if it actually > does anything, questions: > > 1) Does anyone have a simple test case / command where I can > invoke just llvm and get TGSI asm output to check ? >
The easiest way to do this is with the llc tool which ships with llvm. It compiles LLVM IR to target code, which in this case is tgsi. I would recommend taking one of the simple examples from test/CodeGen/AMDGPU (you may need to get these from llvm trunk, not sure what llvm version you are using). To use llc: llc -march=tgsi input.ll -o - This will output TGSI. If you want to use clang to compile OpenCL C kernels to clang you will need to teach clang about the TGSI target by implementing the a sub-class of TargetInfo in lib/Basic/Targets.cpp. Look at the AMDGPU target for examples, but I recommend starting with llc. > 2) Assuming I get the above to (somewhat) work, is there a > way to make llvm show the output of the various intermediate > passes in a human readable form ? > You can pass -print-before-all or -print-after-all to dump the intermediate forms. > Regards, > > Hans > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev