diff options
author | Chris Lattner <sabre@nondot.org> | 2005-10-23 22:15:34 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-10-23 22:15:34 +0000 |
commit | ed465f54077d78172a84eff8195adfbfa3117ceb (patch) | |
tree | ba742decc4c7f6adf462555f3dc0b88af3a74396 /lib/Target/Alpha/AlphaSubtarget.cpp | |
parent | 5882e40dedb6c4e12ca917e08280d7100a1d4681 (diff) |
Autogen subtarget information from .td files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23904 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Alpha/AlphaSubtarget.cpp')
-rw-r--r-- | lib/Target/Alpha/AlphaSubtarget.cpp | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/lib/Target/Alpha/AlphaSubtarget.cpp b/lib/Target/Alpha/AlphaSubtarget.cpp index 15f51c4601..3cbdcb269b 100644 --- a/lib/Target/Alpha/AlphaSubtarget.cpp +++ b/lib/Target/Alpha/AlphaSubtarget.cpp @@ -16,46 +16,22 @@ #include "llvm/Module.h" #include "llvm/Support/CommandLine.h" #include "llvm/Target/SubtargetFeature.h" -#include "llvm/Support/Debug.h" - +#include "AlphaGenSubtarget.inc" using namespace llvm; -enum AlphaFeature { - AlphaFeatureCIX = 1 << 0, - AlphaFeatureFIX = 1 << 1, -}; -/// Sorted (by key) array of values for CPU subtype. -static const SubtargetFeatureKV AlphaSubTypeKV[] = { - { "ev56" , "Select the Alpha EV56 processor", 0 }, - { "ev6" , "Select the Alpha EV6 processor", AlphaFeatureFIX }, - { "ev67" , "Select the Alpha EV67 processor", AlphaFeatureFIX | AlphaFeatureCIX }, - { "generic", "Select instructions for a generic Alpha processor (EV56)", 0 }, - { "pca56" , "Select the Alpha PCA56 processor", 0 }, +enum { + FeatureKVSize = sizeof(FeatureKV) / sizeof(SubtargetFeatureKV), + SubTypeKVSize = sizeof(SubTypeKV) / sizeof(SubtargetFeatureKV) }; -/// Length of AlphaSubTypeKV. -static const unsigned AlphaSubTypeKVSize = sizeof(AlphaSubTypeKV) - / sizeof(SubtargetFeatureKV); - -/// Sorted (by key) array of values for CPU features. -static SubtargetFeatureKV AlphaFeatureKV[] = { - { "CIX", "Should CIX extentions be used" , AlphaFeatureCIX }, - { "FIX" , "Should FIX extentions be used" , AlphaFeatureFIX }, - }; -/// Length of AlphaFeatureKV. -static const unsigned AlphaFeatureKVSize = sizeof(AlphaFeatureKV) - / sizeof(SubtargetFeatureKV); - AlphaSubtarget::AlphaSubtarget(const Module &M, const std::string &FS) - :HasF2I(false), HasCT(false) -{ + : HasF2I(false), HasCT(false) { std::string CPU = "generic"; uint32_t Bits = - SubtargetFeatures::Parse(FS, CPU, - AlphaSubTypeKV, AlphaSubTypeKVSize, - AlphaFeatureKV, AlphaFeatureKVSize); - HasF2I = (Bits & AlphaFeatureFIX) != 0; - HasCT = (Bits & AlphaFeatureCIX) != 0; - + SubtargetFeatures::Parse(FS, CPU, + SubTypeKV, SubTypeKVSize, + FeatureKV, FeatureKVSize); + HasF2I = (Bits & FeatureFIX) != 0; + HasCT = (Bits & FeatureCIX) != 0; } |