I'm trying to understand the ISA and IL dumps, in order to understand how the compiler has generated my programs. Unfortunately, I haven't been able to find good tutorials or information. I understand that the IL and ISA have documentation available, and I have looked at them. What is missing, however, is an understanding of the way that data is passed into the kernels for the initial call. If this were a CPU, I would expect function arguments to be on the stack. I don't have a good way of connecting the arguments to the kernel with the setup code that appears to be required for a kernel to run. This makes it very hard for me to trace my program.
Are there any good tutorials on the ISA and IL to understand what is going on? For the purposes of understanding register allocation, I think that the ISA is preferable to the IL.