mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
InitMCProcessor
llvm-svn: 164066
This commit is contained in:
parent
3d3f796f3f
commit
9400ee3c79
@ -68,9 +68,9 @@ public:
|
||||
return FeatureBits;
|
||||
}
|
||||
|
||||
/// ReInitMCSubtargetInfo - Change CPU (and optionally supplemented with
|
||||
/// feature string), recompute and return feature bits.
|
||||
uint64_t ReInitMCSubtargetInfo(StringRef CPU, StringRef FS);
|
||||
/// InitMCProcessorInfo - Set or change the CPU (optionally supplemented with
|
||||
/// feature string). Recompute feature bits and scheduling model.
|
||||
void InitMCProcessorInfo(StringRef CPU, StringRef FS);
|
||||
|
||||
/// ToggleFeature - Toggle a feature and returns the re-computed feature
|
||||
/// bits. This version does not change the implied bits.
|
||||
|
@ -19,6 +19,20 @@ using namespace llvm;
|
||||
|
||||
MCSchedModel MCSchedModel::DefaultSchedModel; // For unknown processors.
|
||||
|
||||
/// ReInitMCSubtargetInfo - Set or chaing the CPU (optionally supplemented
|
||||
/// with feature string). Recompute feature bits and scheduling model.
|
||||
void
|
||||
MCSubtargetInfo::InitMCProcessorInfo(StringRef CPU, StringRef FS) {
|
||||
SubtargetFeatures Features(FS);
|
||||
FeatureBits = Features.getFeatureBits(CPU, ProcDesc, NumProcs,
|
||||
ProcFeatures, NumFeatures);
|
||||
|
||||
if (!CPU.empty())
|
||||
CPUSchedModel = getSchedModelForCPU(CPU);
|
||||
else
|
||||
CPUSchedModel = &MCSchedModel::DefaultSchedModel;
|
||||
}
|
||||
|
||||
void
|
||||
MCSubtargetInfo::InitMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS,
|
||||
const SubtargetFeatureKV *PF,
|
||||
@ -45,20 +59,7 @@ MCSubtargetInfo::InitMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS,
|
||||
NumFeatures = NF;
|
||||
NumProcs = NP;
|
||||
|
||||
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.
|
||||
uint64_t MCSubtargetInfo::ReInitMCSubtargetInfo(StringRef CPU, StringRef FS) {
|
||||
SubtargetFeatures Features(FS);
|
||||
FeatureBits = Features.getFeatureBits(CPU, ProcDesc, NumProcs,
|
||||
ProcFeatures, NumFeatures);
|
||||
return FeatureBits;
|
||||
InitMCProcessorInfo(CPU, FS);
|
||||
}
|
||||
|
||||
/// ToggleFeature - Toggle a feature and returns the re-computed feature
|
||||
|
@ -1213,7 +1213,8 @@ void SubtargetEmitter::ParseFeaturesFunction(raw_ostream &OS,
|
||||
return;
|
||||
}
|
||||
|
||||
OS << " uint64_t Bits = ReInitMCSubtargetInfo(CPU, FS);\n";
|
||||
OS << " InitMCProcessorInfo(CPU, FS);\n"
|
||||
<< " uint64_t Bits = getFeatureBits();\n";
|
||||
|
||||
for (unsigned i = 0; i < Features.size(); i++) {
|
||||
// Next record
|
||||
|
Loading…
Reference in New Issue
Block a user