diff options
Diffstat (limited to 'llvm/lib/Target/Sparc/StackSlots.cpp')
-rw-r--r-- | llvm/lib/Target/Sparc/StackSlots.cpp | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/llvm/lib/Target/Sparc/StackSlots.cpp b/llvm/lib/Target/Sparc/StackSlots.cpp deleted file mode 100644 index 5fd0ba19271..00000000000 --- a/llvm/lib/Target/Sparc/StackSlots.cpp +++ /dev/null @@ -1,54 +0,0 @@ -//===- StackSlots.cpp - Specialize LLVM code for target machine ----------===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This pass adds 2 empty slots at the top of function stack. These two slots -// are later used during code reoptimization for spilling the register values -// when rewriting branches. -// -//===----------------------------------------------------------------------===// - -#include "SparcInternals.h" -#include "llvm/Constant.h" -#include "llvm/DerivedTypes.h" -#include "llvm/Function.h" -#include "llvm/CodeGen/MachineFunctionInfo.h" -#include "llvm/CodeGen/MachineFunctionPass.h" - -namespace llvm { - -namespace { - class StackSlots : public MachineFunctionPass { - const TargetMachine &Target; - public: - StackSlots(const TargetMachine &T) : Target(T) {} - - const char *getPassName() const { - return "Stack Slot Insertion for profiling code"; - } - - virtual void getAnalysisUsage(AnalysisUsage &AU) const { - AU.setPreservesCFG(); - } - - bool runOnMachineFunction(MachineFunction &MF) { - const Type *PtrInt = PointerType::get(Type::IntTy); - unsigned Size = Target.getTargetData().getTypeSize(PtrInt); - - Value *V = Constant::getNullValue(Type::IntTy); - MF.getInfo()->allocateLocalVar(V, 2*Size); - return true; - } - }; -} - -Pass *createStackSlotsPass(const TargetMachine &Target) { - return new StackSlots(Target); -} - -} // End llvm namespace |