aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-09-14 05:34:53 +0000
committerChris Lattner <sabre@nondot.org>2001-09-14 05:34:53 +0000
commitb26bcc5087029ffe8037ed9036ff74430c6054cf (patch)
tree835170e1ad70e3b18579cd8d1590dfb35ceb4127
parentf6e0e2813526b4ebea473427ea5ffd88bb1559ac (diff)
Make a new llvm/Target #include directory.
Move files from lib/CodeGen/TargetMachine to lib/Target Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h} Prepare to split TargetMachine.h into several smaller files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/MachineInstr.h2
-rw-r--r--include/llvm/CodeGen/RegClass.h7
-rw-r--r--include/llvm/Target/Data.h (renamed from include/llvm/CodeGen/TargetData.h)6
-rw-r--r--include/llvm/Target/Machine.h (renamed from include/llvm/CodeGen/TargetMachine.h)27
-rw-r--r--include/llvm/Target/Sparc.h (renamed from include/llvm/CodeGen/Sparc.h)0
-rw-r--r--include/llvm/Target/TargetMachineImpls.h17
-rw-r--r--lib/CodeGen/InstrSched/InstrScheduling.cpp2
-rw-r--r--lib/CodeGen/InstrSched/SchedGraph.cpp2
-rw-r--r--lib/CodeGen/Makefile2
-rw-r--r--lib/CodeGen/RegAlloc/RegClass.h7
-rw-r--r--lib/CodeGen/TargetMachine/Makefile5
-rw-r--r--lib/ExecutionEngine/Interpreter/Execution.cpp2
-rw-r--r--lib/Target/Makefile2
-rw-r--r--lib/Target/SparcV9/InstrSched/InstrScheduling.cpp2
-rw-r--r--lib/Target/SparcV9/InstrSched/SchedGraph.cpp2
-rw-r--r--lib/Target/SparcV9/RegAlloc/RegClass.h7
-rw-r--r--lib/Target/SparcV9/SparcV9Internals.h2
-rw-r--r--lib/Target/SparcV9/SparcV9RegInfo.h6
-rw-r--r--lib/Target/TargetData.cpp (renamed from lib/CodeGen/TargetMachine/TargetData.cpp)2
-rw-r--r--lib/Target/TargetMachine.cpp (renamed from lib/CodeGen/TargetMachine/TargetMachine.cpp)28
-rw-r--r--tools/llc/llc.cpp54
21 files changed, 74 insertions, 110 deletions
diff --git a/include/llvm/CodeGen/MachineInstr.h b/include/llvm/CodeGen/MachineInstr.h
index 43dc78dfc5..9903f09c01 100644
--- a/include/llvm/CodeGen/MachineInstr.h
+++ b/include/llvm/CodeGen/MachineInstr.h
@@ -19,7 +19,7 @@
#include "llvm/CodeGen/InstrForest.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/NonCopyable.h"
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
template<class _MI, class _V> class ValOpIterator;
diff --git a/include/llvm/CodeGen/RegClass.h b/include/llvm/CodeGen/RegClass.h
index 1d08502445..efe174617c 100644
--- a/include/llvm/CodeGen/RegClass.h
+++ b/include/llvm/CodeGen/RegClass.h
@@ -16,19 +16,14 @@
*/
-
-
#ifndef REG_CLASS_H
#define REG_CLASS_H
#include "llvm/CodeGen/IGNode.h"
#include "llvm/CodeGen/InterferenceGraph.h"
-#include "llvm/CodeGen/TargetMachine.h"
-
-
+#include "llvm/Target/Machine.h"
#include <stack>
-
typedef vector<unsigned int> ReservedColorListType;
diff --git a/include/llvm/CodeGen/TargetData.h b/include/llvm/Target/Data.h
index cf449702b7..55739503e7 100644
--- a/include/llvm/CodeGen/TargetData.h
+++ b/include/llvm/Target/Data.h
@@ -1,4 +1,4 @@
-//===-- llvm/TargetData.h - Data size & alignment routines -------*- C++ -*-==//
+//===-- llvm/Target/Data.h - Data size & alignment routines ------*- C++ -*-==//
//
// This file defines target properties related to datatype size/offset/alignment
// information. It uses lazy annotations to cache information about how
@@ -10,8 +10,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_CODEGEN_TARGETDATA_H
-#define LLVM_CODEGEN_TARGETDATA_H
+#ifndef LLVM_TARGET_DATA_H
+#define LLVM_TARGET_DATA_H
#include "llvm/Type.h"
#include <vector>
diff --git a/include/llvm/CodeGen/TargetMachine.h b/include/llvm/Target/Machine.h
index 9a72ff974b..ae0858aff5 100644
--- a/include/llvm/CodeGen/TargetMachine.h
+++ b/include/llvm/Target/Machine.h
@@ -1,18 +1,13 @@
-// $Id$ -*-c++-*-
-//***************************************************************************
-// File:
-// TargetMachine.h
-//
-// Purpose:
-//
-// History:
-// 7/12/01 - Vikram Adve - Created
-//**************************************************************************/
+//===-- llvm/Target/Machine.h - General Target Information -------*- C++ -*-==//
+//
+// This file describes the general parts of a Target machine.
+//
+//===----------------------------------------------------------------------===//
-#ifndef LLVM_CODEGEN_TARGETMACHINE_H
-#define LLVM_CODEGEN_TARGETMACHINE_H
+#ifndef LLVM_TARGET_MACHINE_H
+#define LLVM_TARGET_MACHINE_H
-#include "llvm/CodeGen/TargetData.h"
+#include "llvm/Target/Data.h"
#include "llvm/Support/NonCopyable.h"
#include "llvm/Support/DataTypes.h"
#include <string>
@@ -24,8 +19,6 @@ class StructType;
struct MachineInstrDescriptor;
class TargetMachine;
-//************************ Exported Data Types *****************************/
-
//---------------------------------------------------------------------------
// Data types used to define information about a single machine instruction
//---------------------------------------------------------------------------
@@ -518,7 +511,7 @@ public:
int l1DCacheMissPenalty; // 7 or 9 for SPARC IIi
int l1ICacheMissPenalty; // ? for SPARC IIi
- bool inOrderLoads ; // true for SPARC IIi
+ bool inOrderLoads; // true for SPARC IIi
bool inOrderIssue; // true for SPARC IIi
bool inOrderExec; // false for most architectures
bool inOrderRetire; // true for most architectures
@@ -714,7 +707,7 @@ public:
virtual void colorCallArgs(vector<const Instruction *> & CallInstrList,
LiveRangeInfo& LRI,
- AddedInstrMapType& AddedInstrMap ) const = 0 ;
+ AddedInstrMapType& AddedInstrMap ) const = 0;
virtual int getUnifiedRegNum(int RegClassID, int reg) const = 0;
diff --git a/include/llvm/CodeGen/Sparc.h b/include/llvm/Target/Sparc.h
index 83bebbddaf..83bebbddaf 100644
--- a/include/llvm/CodeGen/Sparc.h
+++ b/include/llvm/Target/Sparc.h
diff --git a/include/llvm/Target/TargetMachineImpls.h b/include/llvm/Target/TargetMachineImpls.h
new file mode 100644
index 0000000000..83bebbddaf
--- /dev/null
+++ b/include/llvm/Target/TargetMachineImpls.h
@@ -0,0 +1,17 @@
+//===-- llvm/CodeGen/Sparc.h - Sparc Target Description ----------*- C++ -*--=//
+//
+// This file defines the Sparc processor targets
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CODEGEN_SPARC_H
+#define LLVM_CODEGEN_SPARC_H
+
+class TargetMachine;
+
+// allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
+// that implements the Sparc backend.
+//
+TargetMachine *allocateSparcTargetMachine();
+
+#endif
diff --git a/lib/CodeGen/InstrSched/InstrScheduling.cpp b/lib/CodeGen/InstrSched/InstrScheduling.cpp
index 2358687065..0987572ac3 100644
--- a/lib/CodeGen/InstrSched/InstrScheduling.cpp
+++ b/lib/CodeGen/InstrSched/InstrScheduling.cpp
@@ -12,7 +12,7 @@
#include "llvm/CodeGen/InstrScheduling.h"
#include "llvm/CodeGen/SchedPriorities.h"
#include "llvm/Analysis/LiveVar/BBLiveVar.h"
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Instruction.h"
diff --git a/lib/CodeGen/InstrSched/SchedGraph.cpp b/lib/CodeGen/InstrSched/SchedGraph.cpp
index 05109cb852..3c819f6bc7 100644
--- a/lib/CodeGen/InstrSched/SchedGraph.cpp
+++ b/lib/CodeGen/InstrSched/SchedGraph.cpp
@@ -18,7 +18,7 @@
#include "llvm/Method.h"
#include "llvm/CodeGen/SchedGraph.h"
#include "llvm/CodeGen/MachineInstr.h"
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
#include "llvm/Support/StringExtras.h"
#include <algorithm>
diff --git a/lib/CodeGen/Makefile b/lib/CodeGen/Makefile
index 1c0e390088..b0fba9d656 100644
--- a/lib/CodeGen/Makefile
+++ b/lib/CodeGen/Makefile
@@ -1,4 +1,4 @@
LEVEL = ../..
-DIRS = TargetMachine InstrSelection InstrSched
+DIRS = InstrSelection InstrSched
include $(LEVEL)/Makefile.common
diff --git a/lib/CodeGen/RegAlloc/RegClass.h b/lib/CodeGen/RegAlloc/RegClass.h
index 1d08502445..efe174617c 100644
--- a/lib/CodeGen/RegAlloc/RegClass.h
+++ b/lib/CodeGen/RegAlloc/RegClass.h
@@ -16,19 +16,14 @@
*/
-
-
#ifndef REG_CLASS_H
#define REG_CLASS_H
#include "llvm/CodeGen/IGNode.h"
#include "llvm/CodeGen/InterferenceGraph.h"
-#include "llvm/CodeGen/TargetMachine.h"
-
-
+#include "llvm/Target/Machine.h"
#include <stack>
-
typedef vector<unsigned int> ReservedColorListType;
diff --git a/lib/CodeGen/TargetMachine/Makefile b/lib/CodeGen/TargetMachine/Makefile
deleted file mode 100644
index eefef8907a..0000000000
--- a/lib/CodeGen/TargetMachine/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-LEVEL = ../../..
-
-LIBRARYNAME = target
-
-include $(LEVEL)/Makefile.common
diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 0b017ad574..ff91410664 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -13,7 +13,7 @@
#include "llvm/ConstPoolVals.h"
#include "llvm/Assembly/Writer.h"
#include "llvm/Support/DataTypes.h"
-#include "llvm/CodeGen/TargetData.h"
+#include "llvm/Target/Data.h"
static unsigned getOperandSlot(Value *V) {
SlotNumber *SN = (SlotNumber*)V->getAnnotation(SlotNumberAID);
diff --git a/lib/Target/Makefile b/lib/Target/Makefile
index ebcd23a242..7fd02c6672 100644
--- a/lib/Target/Makefile
+++ b/lib/Target/Makefile
@@ -1,5 +1,5 @@
LEVEL = ../..
DIRS = Sparc
+LIBRARYNAME = target
include $(LEVEL)/Makefile.common
-
diff --git a/lib/Target/SparcV9/InstrSched/InstrScheduling.cpp b/lib/Target/SparcV9/InstrSched/InstrScheduling.cpp
index 2358687065..0987572ac3 100644
--- a/lib/Target/SparcV9/InstrSched/InstrScheduling.cpp
+++ b/lib/Target/SparcV9/InstrSched/InstrScheduling.cpp
@@ -12,7 +12,7 @@
#include "llvm/CodeGen/InstrScheduling.h"
#include "llvm/CodeGen/SchedPriorities.h"
#include "llvm/Analysis/LiveVar/BBLiveVar.h"
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Instruction.h"
diff --git a/lib/Target/SparcV9/InstrSched/SchedGraph.cpp b/lib/Target/SparcV9/InstrSched/SchedGraph.cpp
index 05109cb852..3c819f6bc7 100644
--- a/lib/Target/SparcV9/InstrSched/SchedGraph.cpp
+++ b/lib/Target/SparcV9/InstrSched/SchedGraph.cpp
@@ -18,7 +18,7 @@
#include "llvm/Method.h"
#include "llvm/CodeGen/SchedGraph.h"
#include "llvm/CodeGen/MachineInstr.h"
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
#include "llvm/Support/StringExtras.h"
#include <algorithm>
diff --git a/lib/Target/SparcV9/RegAlloc/RegClass.h b/lib/Target/SparcV9/RegAlloc/RegClass.h
index 1d08502445..efe174617c 100644
--- a/lib/Target/SparcV9/RegAlloc/RegClass.h
+++ b/lib/Target/SparcV9/RegAlloc/RegClass.h
@@ -16,19 +16,14 @@
*/
-
-
#ifndef REG_CLASS_H
#define REG_CLASS_H
#include "llvm/CodeGen/IGNode.h"
#include "llvm/CodeGen/InterferenceGraph.h"
-#include "llvm/CodeGen/TargetMachine.h"
-
-
+#include "llvm/Target/Machine.h"
#include <stack>
-
typedef vector<unsigned int> ReservedColorListType;
diff --git a/lib/Target/SparcV9/SparcV9Internals.h b/lib/Target/SparcV9/SparcV9Internals.h
index 606966db73..f9a344b37a 100644
--- a/lib/Target/SparcV9/SparcV9Internals.h
+++ b/lib/Target/SparcV9/SparcV9Internals.h
@@ -8,7 +8,7 @@
#ifndef SPARC_INTERNALS_H
#define SPARC_INTERNALS_H
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
#include "SparcRegInfo.h"
#include <sys/types.h>
diff --git a/lib/Target/SparcV9/SparcV9RegInfo.h b/lib/Target/SparcV9/SparcV9RegInfo.h
index 41a6d00a08..3ebef550f0 100644
--- a/lib/Target/SparcV9/SparcV9RegInfo.h
+++ b/lib/Target/SparcV9/SparcV9RegInfo.h
@@ -4,19 +4,17 @@
Purpose: Contains the description of integer register class of Sparc
*/
-
#ifndef SPARC_INT_REG_CLASS_H
#define SPARC_INT_REG_CLASS_H
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
//-----------------------------------------------------------------------------
// Integer Register Class
//-----------------------------------------------------------------------------
-
// Int register names in same order as enum in class SparcIntRegOrder
-
+//
static string const IntRegNames[] =
{ "g1", "g2", "g3", "g4", "g5", "g6", "g7",
"o0", "o1", "o2", "o3", "o4", "o5", "o7",
diff --git a/lib/CodeGen/TargetMachine/TargetData.cpp b/lib/Target/TargetData.cpp
index fd9dd26d28..2e2ffd84cd 100644
--- a/lib/CodeGen/TargetMachine/TargetData.cpp
+++ b/lib/Target/TargetData.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/CodeGen/TargetData.h"
+#include "llvm/Target/Data.h"
#include "llvm/DerivedTypes.h"
#include "llvm/ConstPoolVals.h"
diff --git a/lib/CodeGen/TargetMachine/TargetMachine.cpp b/lib/Target/TargetMachine.cpp
index 0a9a739071..a9e376e10a 100644
--- a/lib/CodeGen/TargetMachine/TargetMachine.cpp
+++ b/lib/Target/TargetMachine.cpp
@@ -1,23 +1,12 @@
-// $Id$
-//***************************************************************************
-// File:
-// TargetMachine.cpp
-//
-// Purpose:
-//
-// History:
-// 7/12/01 - Vikram Adve - Created
-//**************************************************************************/
-
+//===-- TargetMachine.cpp - General Target Information ---------------------==//
+//
+// This file describes the general parts of a Target machine.
+//
+//===----------------------------------------------------------------------===//
-//*************************** User Include Files ***************************/
-
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Machine.h"
#include "llvm/DerivedTypes.h"
-//************************ Exported Constants ******************************/
-
-
// External object describing the machine instructions
// Initialized only when the TargetMachine class is created
// and reset when that class is destroyed.
@@ -26,17 +15,12 @@ const MachineInstrDescriptor* TargetInstrDescriptors = NULL;
resourceId_t MachineResource::nextId = 0;
-//************************* Forward Declarations **************************/
-
static cycles_t ComputeMinGap (const InstrRUsage& fromRU,
const InstrRUsage& toRU);
static bool RUConflict (const vector<resourceId_t>& fromRVec,
const vector<resourceId_t>& fromRVec);
-
-//************************ Class Implementations **************************/
-
//---------------------------------------------------------------------------
// class TargetMachine
//
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index fb5c1fc945..789087f9a5 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -1,14 +1,13 @@
-//===------------------------------------------------------------------------===
-// LLVM 'LLC' UTILITY
+//===-- llc.cpp - Implement the LLVM Compiler -----------------------------===//
//
// This is the llc compiler driver.
//
-//===------------------------------------------------------------------------===
+//===----------------------------------------------------------------------===//
#include "llvm/Bytecode/Reader.h"
#include "llvm/Optimizations/Normalize.h"
-#include "llvm/CodeGen/Sparc.h"
-#include "llvm/CodeGen/TargetMachine.h"
+#include "llvm/Target/Sparc.h"
+#include "llvm/Target/Machine.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Module.h"
#include "llvm/Method.h"
@@ -20,46 +19,39 @@ static void NormalizeMethod(Method* method) {
NormalizePhiConstantArgs(method);
}
-
-static bool CompileModule(Module *M, TargetMachine &Target) {
- for (Module::const_iterator MI = M->begin(), ME = M->end(); MI != ME; ++MI) {
- Method *Meth = *MI;
-
- NormalizeMethod(Meth);
-
- if (Target.compileMethod(Meth)) return true;
- }
-
- return false;
-}
-
-
-
-//---------------------------------------------------------------------------
+//===----------------------------------------------------------------------===//
// Function main()
+//===----------------------------------------------------------------------===//
//
// Entry point for the llc compiler.
-//---------------------------------------------------------------------------
-
+//
int main(int argc, char** argv) {
cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n");
TargetMachine *Target = allocateSparcTargetMachine();
- Module *module = ParseBytecodeFile(InputFilename);
- if (module == 0) {
+ Module *M = ParseBytecodeFile(InputFilename);
+ if (M == 0) {
cerr << "bytecode didn't read correctly.\n";
+ delete Target;
return 1;
}
- if (CompileModule(module, *Target)) {
- cerr << "Error compiling " << InputFilename << "!\n";
- delete module;
- return 1;
+ bool Failed = false;
+ for (Module::const_iterator MI = M->begin(), ME = M->end(); MI != ME; ++MI) {
+ Method *Meth = *MI;
+
+ NormalizeMethod(Meth);
+
+ if (Target->compileMethod(Meth)) {
+ cerr << "Error compiling " << InputFilename << "!\n";
+ Failed = true;
+ break;
+ }
}
// Clean up and exit
- delete module;
+ delete M;
delete Target;
- return 0;
+ return Failed;
}