diff options
author | Chris Lattner <sabre@nondot.org> | 2004-08-16 21:56:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-08-16 21:56:15 +0000 |
commit | 5a6074053d458159953f83dad078cbe315318314 (patch) | |
tree | 535e53918df69e2d3fdcc443825a710bc9d2e853 /include/llvm/CodeGen/MachineFunctionInfo.h | |
parent | 85015a0891d4d23d0215511c7b302747e1438ad2 (diff) |
These files now live in lib/Target/SparcV9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15831 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineFunctionInfo.h')
-rw-r--r-- | include/llvm/CodeGen/MachineFunctionInfo.h | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/include/llvm/CodeGen/MachineFunctionInfo.h b/include/llvm/CodeGen/MachineFunctionInfo.h deleted file mode 100644 index 8afdc719e2..0000000000 --- a/include/llvm/CodeGen/MachineFunctionInfo.h +++ /dev/null @@ -1,124 +0,0 @@ -//===-- llvm/CodeGen/MachineFunctionInfo.h ----------------------*- C++ -*-===// -// -// 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 class keeps track of information about the stack frame and about the -// per-function constant pool. -// -// FIXME: This class is completely SparcV9 specific. Do not use it for future -// targets. This file will be eliminated in future versions of LLVM. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CODEGEN_MACHINEFUNCTIONINFO_H -#define LLVM_CODEGEN_MACHINEFUNCTIONINFO_H - -#include "llvm/CodeGen/MachineCodeForInstruction.h" -#include "Support/HashExtras.h" -#include "Support/hash_set" - -namespace llvm { - -class MachineFunction; -class Constant; -class Type; - -class MachineFunctionInfo { - hash_set<const Constant*> constantsForConstPool; - hash_map<const Value*, int> offsets; - - unsigned staticStackSize; - unsigned automaticVarsSize; - unsigned regSpillsSize; - unsigned maxOptionalArgsSize; - unsigned maxOptionalNumArgs; - unsigned currentTmpValuesSize; - unsigned maxTmpValuesSize; - bool compiledAsLeaf; - bool spillsAreaFrozen; - bool automaticVarsAreaFrozen; - - MachineFunction &MF; -public: - hash_map<const Instruction*, MachineCodeForInstruction> MCFIEntries; - - MachineFunctionInfo(MachineFunction &mf) : MF(mf) { - staticStackSize = automaticVarsSize = regSpillsSize = 0; - maxOptionalArgsSize = maxOptionalNumArgs = currentTmpValuesSize = 0; - maxTmpValuesSize = 0; - compiledAsLeaf = spillsAreaFrozen = automaticVarsAreaFrozen = false; - } - - /// CalculateArgSize - Call this method to fill in the maxOptionalArgsSize & - /// staticStackSize fields... - /// - void CalculateArgSize(); - - // - // Accessors for global information about generated code for a method. - // - bool isCompiledAsLeafMethod() const { return compiledAsLeaf; } - unsigned getStaticStackSize() const { return staticStackSize; } - unsigned getAutomaticVarsSize() const { return automaticVarsSize; } - unsigned getRegSpillsSize() const { return regSpillsSize; } - unsigned getMaxOptionalArgsSize() const { return maxOptionalArgsSize;} - unsigned getMaxOptionalNumArgs() const { return maxOptionalNumArgs;} - const hash_set<const Constant*> &getConstantPoolValues() const { - return constantsForConstPool; - } - - // - // Modifiers used during code generation - // - void initializeFrameLayout (); - - void addToConstantPool (const Constant* constVal) { - constantsForConstPool.insert(constVal); - } - - void markAsLeafMethod() { compiledAsLeaf = true; } - - int computeOffsetforLocalVar (const Value* local, - unsigned& getPaddedSize, - unsigned sizeToUse = 0); - int allocateLocalVar (const Value* local, - unsigned sizeToUse = 0); - - int allocateSpilledValue (const Type* type); - int pushTempValue (unsigned size); - void popAllTempValues (); - - void freezeSpillsArea () { spillsAreaFrozen = true; } - void freezeAutomaticVarsArea () { automaticVarsAreaFrozen=true; } - -private: - void incrementAutomaticVarsSize(int incr) { - automaticVarsSize+= incr; - staticStackSize += incr; - } - void incrementRegSpillsSize(int incr) { - regSpillsSize+= incr; - staticStackSize += incr; - } - void incrementTmpAreaSize(int incr) { - currentTmpValuesSize += incr; - if (maxTmpValuesSize < currentTmpValuesSize) - { - staticStackSize += currentTmpValuesSize - maxTmpValuesSize; - maxTmpValuesSize = currentTmpValuesSize; - } - } - void resetTmpAreaSize() { - currentTmpValuesSize = 0; - } - int allocateOptionalArg(const Type* type); -}; - -} // End llvm namespace - -#endif |