diff options
author | Chris Lattner <sabre@nondot.org> | 2002-10-23 01:12:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-10-23 01:12:01 +0000 |
commit | 54b866b896d1b778961c8a582d9ad6a496341a67 (patch) | |
tree | f6cc2ee6319fb37a9f536c1afc1ca96dc62f95ab /lib/Target | |
parent | 37ae4056bb2cbebd27fa2c227d733ccf80a60c32 (diff) | |
download | external_llvm-54b866b896d1b778961c8a582d9ad6a496341a67.zip external_llvm-54b866b896d1b778961c8a582d9ad6a496341a67.tar.gz external_llvm-54b866b896d1b778961c8a582d9ad6a496341a67.tar.bz2 |
Minor cleanups
Make sure to have a pass name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4268 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/SparcV9/SparcV9StackSlots.cpp | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/lib/Target/SparcV9/SparcV9StackSlots.cpp b/lib/Target/SparcV9/SparcV9StackSlots.cpp index 053d501..c7584d2 100644 --- a/lib/Target/SparcV9/SparcV9StackSlots.cpp +++ b/lib/Target/SparcV9/SparcV9StackSlots.cpp @@ -1,41 +1,44 @@ //===- StackSlots.cpp - Specialize LLVM code for target machine ---------===// // -// This pass adds 2 empty slots at the top of function stack. -// These two slots are later used during code reoptimization -// for spilling the resgiter values when rewriting branches. +// 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 "llvm/CodeGen/StackSlots.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/MachineInstrInfo.h" -#include "llvm/Constants.h" +#include "llvm/Constant.h" #include "llvm/Function.h" #include "llvm/DerivedTypes.h" #include "llvm/Pass.h" #include "llvm/CodeGen/MachineCodeForMethod.h" -using std::map; -using std::cerr; +class StackSlots : public FunctionPass { + const TargetMachine &Target; +public: + StackSlots (const TargetMachine &T) : Target(T) {} + const char *getPassName() const { + return "Stack Slot Insertion for profiling code"; + } -class StackSlots : public FunctionPass{ -private: - const TargetMachine ⌖ -public: - StackSlots (const TargetMachine &T): target(T) {} + virtual void getAnalysisUsage(AnalysisUsage &AU) const { + AU.setPreservesCFG(); + } bool runOnFunction(Function &F) { - Value *v = ConstantSInt::get(Type::IntTy,0); + const Type *PtrInt = PointerType::get(Type::IntTy); + unsigned Size = Target.DataLayout.getTypeSize(PtrInt); + MachineCodeForMethod &mcInfo = MachineCodeForMethod::get(&F); - mcInfo.allocateLocalVar - (target, v, 2*target.DataLayout.getTypeSize(PointerType::get(Type::IntTy))); - + Value *V = Constant::getNullValue(Type::IntTy); + mcInfo.allocateLocalVar(Target, V, 2*Size); return true; } }; - -Pass* createStackSlotsPass(TargetMachine &T){ - return new StackSlots(T); +Pass *createStackSlotsPass(const TargetMachine &Target) { + return new StackSlots(Target); } - |