forked from OSchip/llvm-project
Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
llvm-svn: 15830
This commit is contained in:
parent
491a52cf22
commit
9fb30a4257
|
@ -13,12 +13,12 @@
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "SchedPriorities.h"
|
#include "SchedPriorities.h"
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
|
||||||
#include "../../Target/SparcV9/LiveVar/FunctionLiveVarInfo.h"
|
|
||||||
#include "llvm/Target/TargetMachine.h"
|
|
||||||
#include "llvm/BasicBlock.h"
|
#include "llvm/BasicBlock.h"
|
||||||
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
|
#include "llvm/Target/TargetMachine.h"
|
||||||
|
#include "../../Target/SparcV9/MachineCodeForInstruction.h"
|
||||||
|
#include "../../Target/SparcV9/LiveVar/FunctionLiveVarInfo.h"
|
||||||
#include "Support/CommandLine.h"
|
#include "Support/CommandLine.h"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
#include "SchedGraph.h"
|
#include "SchedGraph.h"
|
||||||
#include "llvm/Function.h"
|
#include "llvm/Function.h"
|
||||||
#include "llvm/Instructions.h"
|
#include "llvm/Instructions.h"
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/Target/TargetInstrInfo.h"
|
#include "llvm/Target/TargetInstrInfo.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
|
#include "../../Target/SparcV9/MachineCodeForInstruction.h"
|
||||||
#include "../../Target/SparcV9/SparcV9RegInfo.h"
|
#include "../../Target/SparcV9/SparcV9RegInfo.h"
|
||||||
#include "Support/STLExtras.h"
|
#include "Support/STLExtras.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
|
@ -22,13 +22,13 @@
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
#include "../Target/SparcV9/MachineCodeForInstruction.h"
|
||||||
#include "llvm/Function.h"
|
#include "llvm/Function.h"
|
||||||
#include "llvm/Instructions.h"
|
#include "llvm/Instructions.h"
|
||||||
#include "llvm/Type.h"
|
#include "llvm/Type.h"
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
#include "../Target/SparcV9/MachineFunctionInfo.h"
|
||||||
#include "../Target/SparcV9/MachineInstrAnnot.h"
|
#include "../Target/SparcV9/MachineInstrAnnot.h"
|
||||||
#include "../Target/SparcV9/SparcV9TmpInstr.h"
|
#include "../Target/SparcV9/SparcV9TmpInstr.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
#include "llvm/CodeGen/SSARegMap.h"
|
#include "llvm/CodeGen/SSARegMap.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineFrameInfo.h"
|
#include "llvm/CodeGen/MachineFrameInfo.h"
|
||||||
#include "llvm/CodeGen/MachineConstantPool.h"
|
#include "llvm/CodeGen/MachineConstantPool.h"
|
||||||
#include "llvm/CodeGen/Passes.h"
|
#include "llvm/CodeGen/Passes.h"
|
||||||
|
@ -25,6 +24,7 @@
|
||||||
#include "llvm/Function.h"
|
#include "llvm/Function.h"
|
||||||
#include "llvm/Instructions.h"
|
#include "llvm/Instructions.h"
|
||||||
#include "llvm/Type.h"
|
#include "llvm/Type.h"
|
||||||
|
#include "../Target/SparcV9/MachineFunctionInfo.h" // FIXME
|
||||||
#include "Support/LeakDetector.h"
|
#include "Support/LeakDetector.h"
|
||||||
#include "Support/GraphWriter.h"
|
#include "Support/GraphWriter.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
|
@ -18,10 +18,8 @@
|
||||||
#include "llvm/Instructions.h"
|
#include "llvm/Instructions.h"
|
||||||
#include "llvm/Function.h"
|
#include "llvm/Function.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
|
||||||
#include "llvm/CodeGen/Passes.h"
|
#include "llvm/CodeGen/Passes.h"
|
||||||
#include "llvm/Support/CFG.h"
|
#include "llvm/Support/CFG.h"
|
||||||
#include "Support/Casting.h"
|
|
||||||
#include "llvm/Target/TargetSchedInfo.h"
|
#include "llvm/Target/TargetSchedInfo.h"
|
||||||
#include "Support/Debug.h"
|
#include "Support/Debug.h"
|
||||||
#include "Support/GraphWriter.h"
|
#include "Support/GraphWriter.h"
|
||||||
|
@ -31,6 +29,7 @@
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include "../../Target/SparcV9/MachineCodeForInstruction.h"
|
||||||
#include "../../Target/SparcV9/SparcV9TmpInstr.h"
|
#include "../../Target/SparcV9/SparcV9TmpInstr.h"
|
||||||
#include "../../Target/SparcV9/SparcV9Internals.h"
|
#include "../../Target/SparcV9/SparcV9Internals.h"
|
||||||
#include "../../Target/SparcV9/SparcV9RegisterInfo.h"
|
#include "../../Target/SparcV9/SparcV9RegisterInfo.h"
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
//===-- MachineCodeForInstruction.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.
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
//
|
||||||
|
// FIXME: This file is SparcV9 specific. Do not rely on this class for new
|
||||||
|
// targets, it will go away in the future.
|
||||||
|
//
|
||||||
|
// Representation of the sequence of machine instructions created for a single
|
||||||
|
// VM instruction. Additionally records information about hidden and implicit
|
||||||
|
// values used by the machine instructions: about hidden values used by the
|
||||||
|
// machine instructions:
|
||||||
|
//
|
||||||
|
// "Temporary values" are intermediate values used in the machine instruction
|
||||||
|
// sequence, but not in the VM instruction Note that such values should be
|
||||||
|
// treated as pure SSA values with no interpretation of their operands (i.e., as
|
||||||
|
// a TmpInstruction object which actually represents such a value).
|
||||||
|
//
|
||||||
|
// (2) "Implicit uses" are values used in the VM instruction but not in
|
||||||
|
// the machine instruction sequence
|
||||||
|
//
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#ifndef MACHINECODE_FOR_INSTRUCTION_H
|
||||||
|
#define MACHINECODE_FOR_INSTRUCTION_H
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace llvm {
|
||||||
|
|
||||||
|
class MachineInstr;
|
||||||
|
class Instruction;
|
||||||
|
class Value;
|
||||||
|
class CallArgsDescriptor;
|
||||||
|
|
||||||
|
class MachineCodeForInstruction {
|
||||||
|
std::vector<Value*> tempVec; // used by m/c instr but not VM instr
|
||||||
|
std::vector<MachineInstr*> Contents; // the machine instr for this VM instr
|
||||||
|
CallArgsDescriptor* callArgsDesc; // only used for CALL instructions
|
||||||
|
public:
|
||||||
|
MachineCodeForInstruction() : callArgsDesc(NULL) {}
|
||||||
|
~MachineCodeForInstruction();
|
||||||
|
|
||||||
|
static MachineCodeForInstruction &get(const Instruction *I);
|
||||||
|
static void destroy(const Instruction *I);
|
||||||
|
|
||||||
|
// Access to underlying machine instructions...
|
||||||
|
typedef std::vector<MachineInstr*>::iterator iterator;
|
||||||
|
typedef std::vector<MachineInstr*>::const_iterator const_iterator;
|
||||||
|
|
||||||
|
unsigned size() const { return Contents.size(); }
|
||||||
|
bool empty() const { return Contents.empty(); }
|
||||||
|
MachineInstr *front() const { return Contents.front(); }
|
||||||
|
MachineInstr *back() const { return Contents.back(); }
|
||||||
|
MachineInstr *&operator[](unsigned i) { return Contents[i]; }
|
||||||
|
MachineInstr *operator[](unsigned i) const { return Contents[i]; }
|
||||||
|
void pop_back() { Contents.pop_back(); }
|
||||||
|
|
||||||
|
iterator begin() { return Contents.begin(); }
|
||||||
|
iterator end() { return Contents.end(); }
|
||||||
|
const_iterator begin() const { return Contents.begin(); }
|
||||||
|
const_iterator end() const { return Contents.end(); }
|
||||||
|
|
||||||
|
template<class InIt>
|
||||||
|
void insert(iterator where, InIt first, InIt last) {
|
||||||
|
Contents.insert(where, first, last);
|
||||||
|
}
|
||||||
|
iterator erase(iterator where) { return Contents.erase(where); }
|
||||||
|
iterator erase(iterator s, iterator e) { return Contents.erase(s, e); }
|
||||||
|
|
||||||
|
|
||||||
|
// dropAllReferences() - This function drops all references within
|
||||||
|
// temporary (hidden) instructions created in implementing the original
|
||||||
|
// VM intruction. This ensures there are no remaining "uses" within
|
||||||
|
// these hidden instructions, before the values of a method are freed.
|
||||||
|
//
|
||||||
|
void dropAllReferences();
|
||||||
|
|
||||||
|
const std::vector<Value*> &getTempValues() const { return tempVec; }
|
||||||
|
std::vector<Value*> &getTempValues() { return tempVec; }
|
||||||
|
|
||||||
|
MachineCodeForInstruction &addTemp(Value *tmp) {
|
||||||
|
tempVec.push_back(tmp);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setCallArgsDescriptor(CallArgsDescriptor* desc) { callArgsDesc = desc; }
|
||||||
|
CallArgsDescriptor* getCallArgsDescriptor() const { return callArgsDesc; }
|
||||||
|
};
|
||||||
|
|
||||||
|
} // End llvm namespace
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,124 @@
|
||||||
|
//===-- 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 MACHINEFUNCTIONINFO_H
|
||||||
|
#define MACHINEFUNCTIONINFO_H
|
||||||
|
|
||||||
|
#include "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
|
|
@ -46,7 +46,7 @@
|
||||||
#include "llvm/Pass.h"
|
#include "llvm/Pass.h"
|
||||||
#include "llvm/Module.h"
|
#include "llvm/Module.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
#include "MachineCodeForInstruction.h"
|
||||||
#include "Support/StringExtras.h"
|
#include "Support/StringExtras.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include "RegAllocCommon.h"
|
#include "RegAllocCommon.h"
|
||||||
#include "RegClass.h"
|
#include "RegClass.h"
|
||||||
#include "../LiveVar/FunctionLiveVarInfo.h"
|
#include "../LiveVar/FunctionLiveVarInfo.h"
|
||||||
|
#include "../MachineCodeForInstruction.h"
|
||||||
|
#include "../MachineFunctionInfo.h"
|
||||||
#include "../SparcV9InstrInfo.h"
|
#include "../SparcV9InstrInfo.h"
|
||||||
#include "../SparcV9TmpInstr.h"
|
#include "../SparcV9TmpInstr.h"
|
||||||
#include "llvm/Constants.h"
|
#include "llvm/Constants.h"
|
||||||
|
@ -34,9 +36,7 @@
|
||||||
#include "llvm/Module.h"
|
#include "llvm/Module.h"
|
||||||
#include "llvm/Type.h"
|
#include "llvm/Type.h"
|
||||||
#include "llvm/Analysis/LoopInfo.h"
|
#include "llvm/Analysis/LoopInfo.h"
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
||||||
#include "../MachineInstrAnnot.h"
|
#include "../MachineInstrAnnot.h"
|
||||||
|
|
|
@ -25,12 +25,12 @@
|
||||||
#include "llvm/Assembly/Writer.h"
|
#include "llvm/Assembly/Writer.h"
|
||||||
#include "llvm/CodeGen/MachineConstantPool.h"
|
#include "llvm/CodeGen/MachineConstantPool.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
#include "llvm/Support/Mangler.h"
|
#include "llvm/Support/Mangler.h"
|
||||||
#include "Support/StringExtras.h"
|
#include "Support/StringExtras.h"
|
||||||
#include "Support/Statistic.h"
|
#include "Support/Statistic.h"
|
||||||
#include "SparcV9Internals.h"
|
#include "SparcV9Internals.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
|
|
|
@ -21,15 +21,14 @@
|
||||||
#include "SparcV9TmpInstr.h"
|
#include "SparcV9TmpInstr.h"
|
||||||
#include "SparcV9FrameInfo.h"
|
#include "SparcV9FrameInfo.h"
|
||||||
#include "SparcV9RegisterInfo.h"
|
#include "SparcV9RegisterInfo.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
#include "llvm/CodeGen/IntrinsicLowering.h"
|
#include "llvm/CodeGen/IntrinsicLowering.h"
|
||||||
#include "llvm/CodeGen/MachineConstantPool.h"
|
#include "llvm/CodeGen/MachineConstantPool.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
||||||
#include "llvm/Constants.h"
|
#include "llvm/Constants.h"
|
||||||
#include "llvm/DerivedTypes.h"
|
#include "llvm/DerivedTypes.h"
|
||||||
#include "llvm/GlobalValue.h"
|
|
||||||
#include "llvm/Instructions.h"
|
#include "llvm/Instructions.h"
|
||||||
#include "llvm/Intrinsics.h"
|
#include "llvm/Intrinsics.h"
|
||||||
#include "llvm/Module.h"
|
#include "llvm/Module.h"
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include "llvm/PassManager.h"
|
#include "llvm/PassManager.h"
|
||||||
#include "llvm/CodeGen/MachineCodeEmitter.h"
|
#include "llvm/CodeGen/MachineCodeEmitter.h"
|
||||||
#include "llvm/CodeGen/MachineConstantPool.h"
|
#include "llvm/CodeGen/MachineConstantPool.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||||
#include "llvm/CodeGen/MachineInstr.h"
|
#include "llvm/CodeGen/MachineInstr.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
|
@ -38,6 +37,7 @@
|
||||||
#include "SparcV9TargetMachine.h"
|
#include "SparcV9TargetMachine.h"
|
||||||
#include "SparcV9RegInfo.h"
|
#include "SparcV9RegInfo.h"
|
||||||
#include "SparcV9CodeEmitter.h"
|
#include "SparcV9CodeEmitter.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
#include "Config/alloca.h"
|
#include "Config/alloca.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/Target/TargetFrameInfo.h"
|
#include "llvm/Target/TargetFrameInfo.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
#include "SparcV9FrameInfo.h"
|
#include "SparcV9FrameInfo.h"
|
||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
|
@ -20,9 +20,9 @@
|
||||||
#include "SparcV9RegClassInfo.h"
|
#include "SparcV9RegClassInfo.h"
|
||||||
#include "SparcV9RegisterInfo.h"
|
#include "SparcV9RegisterInfo.h"
|
||||||
#include "SparcV9FrameInfo.h"
|
#include "SparcV9FrameInfo.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
|
#include "MachineCodeForInstruction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
|
||||||
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
||||||
#include "llvm/Pass.h"
|
#include "llvm/Pass.h"
|
||||||
#include "llvm/Function.h"
|
#include "llvm/Function.h"
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
#include "llvm/CodeGen/MachineInstrBuilder.h"
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
#include "MachineFunctionInfo.h"
|
||||||
|
#include "MachineCodeForInstruction.h"
|
||||||
#include "MachineInstrAnnot.h"
|
#include "MachineInstrAnnot.h"
|
||||||
#include "RegAlloc/LiveRangeInfo.h"
|
#include "RegAlloc/LiveRangeInfo.h"
|
||||||
#include "RegAlloc/LiveRange.h"
|
#include "RegAlloc/LiveRange.h"
|
||||||
|
|
|
@ -17,10 +17,9 @@
|
||||||
#include "llvm/Constant.h"
|
#include "llvm/Constant.h"
|
||||||
#include "llvm/DerivedTypes.h"
|
#include "llvm/DerivedTypes.h"
|
||||||
#include "llvm/Function.h"
|
#include "llvm/Function.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
namespace llvm {
|
using namespace llvm;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class StackSlots : public MachineFunctionPass {
|
class StackSlots : public MachineFunctionPass {
|
||||||
|
@ -47,8 +46,7 @@ namespace {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Pass *createStackSlotsPass(const TargetMachine &Target) {
|
Pass *llvm::createStackSlotsPass(const TargetMachine &Target) {
|
||||||
return new StackSlots(Target);
|
return new StackSlots(Target);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // End llvm namespace
|
|
||||||
|
|
|
@ -19,13 +19,13 @@
|
||||||
#include "llvm/CodeGen/InstrScheduling.h"
|
#include "llvm/CodeGen/InstrScheduling.h"
|
||||||
#include "llvm/CodeGen/IntrinsicLowering.h"
|
#include "llvm/CodeGen/IntrinsicLowering.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineFunctionInfo.h"
|
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
|
||||||
#include "llvm/CodeGen/Passes.h"
|
#include "llvm/CodeGen/Passes.h"
|
||||||
#include "llvm/Target/TargetOptions.h"
|
#include "llvm/Target/TargetOptions.h"
|
||||||
#include "llvm/Target/TargetMachineRegistry.h"
|
#include "llvm/Target/TargetMachineRegistry.h"
|
||||||
#include "llvm/Transforms/Scalar.h"
|
#include "llvm/Transforms/Scalar.h"
|
||||||
#include "MappingInfo.h"
|
#include "MappingInfo.h"
|
||||||
|
#include "MachineFunctionInfo.h"
|
||||||
|
#include "MachineCodeForInstruction.h"
|
||||||
#include "SparcV9Internals.h"
|
#include "SparcV9Internals.h"
|
||||||
#include "SparcV9TargetMachine.h"
|
#include "SparcV9TargetMachine.h"
|
||||||
#include "SparcV9BurgISel.h"
|
#include "SparcV9BurgISel.h"
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#define SPARCV9TMPINSTR_H
|
#define SPARCV9TMPINSTR_H
|
||||||
|
|
||||||
#include "llvm/Instruction.h"
|
#include "llvm/Instruction.h"
|
||||||
#include "llvm/CodeGen/MachineCodeForInstruction.h"
|
#include "MachineCodeForInstruction.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue