aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/PrologEpilogInserter.cpp
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2010-04-29 19:32:19 +0000
committerDale Johannesen <dalej@apple.com>2010-04-29 19:32:19 +0000
commit6feac8a39b6607c5be2a9284711b2a9da0feea8f (patch)
tree66554a856215c41f6b252ffb7b661d29123e8c1f /llvm/lib/CodeGen/PrologEpilogInserter.cpp
parent080e4fb2f046cfde37e6cccb65429731f35cbe8e (diff)
downloadllvm-6feac8a39b6607c5be2a9284711b2a9da0feea8f.zip
llvm-6feac8a39b6607c5be2a9284711b2a9da0feea8f.tar.gz
llvm-6feac8a39b6607c5be2a9284711b2a9da0feea8f.tar.bz2
Make naked functions work on PPC.
llvm-svn: 102657
Diffstat (limited to 'llvm/lib/CodeGen/PrologEpilogInserter.cpp')
-rw-r--r--llvm/lib/CodeGen/PrologEpilogInserter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
index 365a84a..16bf6ea 100644
--- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp
@@ -197,6 +197,10 @@ void PEI::calculateCalleeSavedRegisters(MachineFunction &Fn) {
if (CSRegs == 0 || CSRegs[0] == 0)
return;
+ // In Naked functions we aren't going to save any registers.
+ if (Fn.getFunction()->hasFnAttr(Attribute::Naked))
+ return;
+
// Figure out which *callee saved* registers are modified by the current
// function, thus needing to be saved and restored in the prolog/epilog.
const TargetRegisterClass * const *CSRegClasses =