summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCSubtargetInfo.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-09-18 03:18:56 +0000
committerAndrew Trick <atrick@apple.com>2012-09-18 03:18:56 +0000
commitab722bdd50e1cc07911df37f6d16132b5cbea69f (patch)
treef081569c79480f023dbad8360edeae33968abfb6 /llvm/lib/MC/MCSubtargetInfo.cpp
parentd4f8b3cb551f9c4d8c5a18d1ff4a3d73d8b1b3cc (diff)
downloadbcm5719-llvm-ab722bdd50e1cc07911df37f6d16132b5cbea69f.tar.gz
bcm5719-llvm-ab722bdd50e1cc07911df37f6d16132b5cbea69f.zip
TableGen subtarget emitter. Initialize MCSubtargetInfo with the new machine model.
llvm-svn: 164092
Diffstat (limited to 'llvm/lib/MC/MCSubtargetInfo.cpp')
-rw-r--r--llvm/lib/MC/MCSubtargetInfo.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCSubtargetInfo.cpp b/llvm/lib/MC/MCSubtargetInfo.cpp
index 47735a492de..34b7eeabbc8 100644
--- a/llvm/lib/MC/MCSubtargetInfo.cpp
+++ b/llvm/lib/MC/MCSubtargetInfo.cpp
@@ -24,6 +24,9 @@ MCSubtargetInfo::InitMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS,
const SubtargetFeatureKV *PF,
const SubtargetFeatureKV *PD,
const SubtargetInfoKV *ProcSched,
+ const MCWriteProcResEntry *WPR,
+ const MCWriteLatencyEntry *WL,
+ const MCReadAdvanceEntry *RA,
const InstrStage *IS,
const unsigned *OC,
const unsigned *FP,
@@ -32,6 +35,10 @@ MCSubtargetInfo::InitMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS,
ProcFeatures = PF;
ProcDesc = PD;
ProcSchedModels = ProcSched;
+ WriteProcResTable = WPR;
+ WriteLatencyTable = WL;
+ ReadAdvanceTable = RA;
+
Stages = IS;
OperandCycles = OC;
ForwardingPaths = FP;
@@ -41,8 +48,9 @@ MCSubtargetInfo::InitMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS,
SubtargetFeatures Features(FS);
FeatureBits = Features.getFeatureBits(CPU, ProcDesc, NumProcs,
ProcFeatures, NumFeatures);
-}
+ CPUSchedModel = getSchedModelForCPU(CPU);
+}
/// ReInitMCSubtargetInfo - Change CPU (and optionally supplemented with
/// feature string) and recompute feature bits.
OpenPOWER on IntegriCloud