Debugger for Register Allocation

Hi guys,

     I have been using a debugger for my register allocator. The debugger happened to be very useful at catching register assignment errors. I've put the debugger on-line, if anyone who is working with register allocation wants to use. The debugger itself has nothing to do with LLVM, but I've coded a spiller that prints the code in a format that the debugger can read. The page is:

http://compilers.cs.ucla.edu/fernando/projects/debugger/

all the best,

Fernando

Hi guys,

     I have been using a debugger for my register allocator. The debugger
happened to be very useful at catching register assignment errors. I've
put the debugger on-line, if anyone who is working with register
allocation wants to use. The debugger itself has nothing to do with LLVM,
but I've coded a spiller that prints the code in a format that the
debugger can read. The page is:

http://compilers.cs.ucla.edu/fernando/projects/debugger/

Hi Fernando,

This looks quite useful. Do you think you can incorporate the code output the debugging info in smira to tot?

Also, it seems to make more sense to dump the info at the end of the register allocation pass. Is there any particular reason for you to add it to the spiller instead?

Thanks,

Evan

Also, it seems to make more sense to dump the info at the end of the
register allocation pass. Is there any particular reason for you to
add it to the spiller instead?

I think so. The problem is that any value in smira format is a binding (physical-location, virtual-variable) and this information is always available for the spiller. After the spiller runs, you only have physical registers in each instruction.

Fernando