[LLVMdev] changing register classes on a per function basis

reed kotler rkotler at mips.com
Wed Mar 13 10:58:00 PDT 2013

Current ISelDagToDag is created once per module.

The TargetLowering class is allocated there and register classes are 
added and the computeRegisterProperties is called.

In order to switch back and forth between mips16 and mips32, I need to 
be able to reset what is done during computerRegisterProperties.

Has anyone else looked into this for another port?


Mips16 is an instruction decoding mode, akin to Thumb 1 and so functions 
of both mips16 and mips32 mode can exist side by side in the same module.



More information about the llvm-dev mailing list