123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #include "BfTargetTriple.h"
- USING_NS_BF;
- BfTargetTriple::BfTargetTriple()
- {
- mParsed = true;
- mMachineType = BfMachineType_Unknown;
- }
- BfTargetTriple::BfTargetTriple(const StringImpl& targetTriple)
- {
- mParsed = false;
- mMachineType = BfMachineType_Unknown;
- mTargetTriple = targetTriple;
- }
- void BfTargetTriple::Parse()
- {
- if (mTargetTriple.StartsWith("x86_64"))
- mMachineType = BfMachineType_x64;
- else if ((mTargetTriple.StartsWith("i686")) || (mTargetTriple.StartsWith("x86")))
- mMachineType = BfMachineType_x64;
- else if ((mTargetTriple.StartsWith("aarch64")) || (mTargetTriple.StartsWith("arm64")))
- mMachineType = BfMachineType_AArch64;
- else
- mMachineType = BfMachineType_Unknown;
- mParsed = true;
- }
- void BfTargetTriple::Set(const StringImpl& targetTriple)
- {
- mTargetTriple = targetTriple;
- mParsed = false;
- }
- BfMachineType BfTargetTriple::GetMachineType()
- {
- if (!mParsed)
- Parse();
- return mMachineType;
- }
|