diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-07-11 03:57:24 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-07-11 03:57:24 +0000 |
commit | 59ee62d2418df8db499eca1ae17f5900dc2dcbba (patch) | |
tree | 087be0d28a100c6e3fe071c6511469636439d20f /lib/MC | |
parent | b5a12dd12fa3cd1026e9058a53089c29fb97f2fd (diff) | |
download | external_llvm-59ee62d2418df8db499eca1ae17f5900dc2dcbba.zip external_llvm-59ee62d2418df8db499eca1ae17f5900dc2dcbba.tar.gz external_llvm-59ee62d2418df8db499eca1ae17f5900dc2dcbba.tar.bz2 |
- Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134884 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/MCSubtargetInfo.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/MC/MCSubtargetInfo.cpp b/lib/MC/MCSubtargetInfo.cpp index b1b86fe..86dc108 100644 --- a/lib/MC/MCSubtargetInfo.cpp +++ b/lib/MC/MCSubtargetInfo.cpp @@ -11,19 +11,22 @@ #include "llvm/MC/MCInstrItineraries.h" #include "llvm/MC/SubtargetFeature.h" #include "llvm/ADT/StringRef.h" +#include "llvm/ADT/Triple.h" #include "llvm/Support/raw_ostream.h" #include <algorithm> using namespace llvm; -void MCSubtargetInfo::InitMCSubtargetInfo(StringRef CPU, StringRef FS, - const SubtargetFeatureKV *PF, - const SubtargetFeatureKV *PD, - const SubtargetInfoKV *PI, - const InstrStage *IS, - const unsigned *OC, - const unsigned *FP, - unsigned NF, unsigned NP) { +void +MCSubtargetInfo::InitMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS, + const SubtargetFeatureKV *PF, + const SubtargetFeatureKV *PD, + const SubtargetInfoKV *PI, + const InstrStage *IS, + const unsigned *OC, + const unsigned *FP, + unsigned NF, unsigned NP) { + TargetTriple = TT; ProcFeatures = PF; ProcDesc = PD; ProcItins = PI; |