#include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineRegisterInfo.h" using namespace llvm; void saveCalleeSavedRegs(MachineFunction &MF) { MachineRegisterInfo &MRI = MF.getRegInfo(); const MCPhysReg *CSRegs = MF.getCalleeSavedRegs(); for (unsigned i = 0; CSRegs[i] != 0; ++i) { unsigned Reg = CSRegs[i]; if (MRI.isPhysRegUsed(Reg)) { // Save the value of the register. } } }In this example, the `saveCalleeSavedRegs` function takes a `MachineFunction` reference and saves the values of all callee-saved registers that are currently in use. This is done by iterating over the set of callee-saved registers returned by `getCalleeSavedRegs` and checking whether each register is currently in use by the function. Package/library: LLVM's `CodeGen` library