Attached are two patches that must be applied together but are separated for clarity. The first patch adds two attributes, MBlazeInterruptHandler and MBlazeSaveVolatiles, that map to the Microblaze function attributes “interrupt_handler” and “save_volatiles”. The second patch adds some ABI information for the Microblaze to lib/CodeGen/TargetInfo.cpp and lowers the two attributes from the first patch to the correct LLVM calling conventions.
These patches pair with the LLVM commits 121888 and 121891 to lower the attributes into the correct machine code. Please let me know if it is OK to commit these changes.
mblaze-abi.patch (4.32 KB)
mblaze-attrs.patch (2.87 KB)