search for: insertcsrspillsandrestor

Displaying 3 results from an estimated 3 matches for "insertcsrspillsandrestor".

2013 Aug 01
2
[LLVMdev] can i avoid saving CSRs for functions with noreturn
...bool PEI::runOnMachineFunction(MachineFunction &Fn) { placeCSRSpillsAndRestores(Fn); // Add the code to save and restore the callee saved registers - if (!F->hasFnAttr(Attribute::Naked)) + if (!F->hasFnAttr(Attribute::Naked) && !F->hasFnAttr(Attribute::NoReturn)) insertCSRSpillsAndRestores(Fn); // Allow the target machine to make final modifications to the function thanks, --lx -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130801/e2a7b414/attachment.html>
2013 Aug 01
0
[LLVMdev] Fwd: can i avoid saving CSRs for functions with noreturn
Hi (Adding the list back in). On 1 August 2013 08:44, Liu Xin <navy.xliu at gmail.com> wrote: > i know where to calculate CSRs. the additional stack space is calculated in > PEI::calculateCalleeSavedRegisters. the real instructions are inserted in > insertCSRSpillsAndRestores. > my point is why llvm code honor 'naked' but does not 'noreturn' for CSR. And to me it sounds like a good point, but it should probably be done carefully so that LLVM's internal data structures remain consistent with reality. It looks like other parts of the backends rel...
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...in libLLVMCodeGen.a(LLVMTargetMachine.cpp.o) "llvm::TargetRegisterInfo::getMinimalPhysRegClass(unsigned int, llvm::EVT) const", referenced from: llvm::PEI::calculateCalleeSavedRegisters(llvm::MachineFunction&) in libLLVMCodeGen.a(PrologEpilogInserter.cpp.o) llvm::PEI::insertCSRSpillsAndRestores(llvm::MachineFunction&) in libLLVMCodeGen.a(PrologEpilogInserter.cpp.o) llvm::PEI::insertCSRSpillsAndRestores(llvm::MachineFunction&) in libLLVMCodeGen.a(PrologEpilogInserter.cpp.o) llvm::PEI::insertCSRSpillsAndRestores(llvm::MachineFunction&) in libLLVMCodeGen.a(...