OLD | NEW |
1 //===--- Targets.cpp - Implement -arch option and targets -----------------===// | 1 //===--- Targets.cpp - Implement -arch option and targets -----------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file implements construction of a TargetInfo object from a | 10 // This file implements construction of a TargetInfo object from a |
(...skipping 6551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6562 void PNaClTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases, | 6562 void PNaClTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases, |
6563 unsigned &NumAliases) const { | 6563 unsigned &NumAliases) const { |
6564 Aliases = nullptr; | 6564 Aliases = nullptr; |
6565 NumAliases = 0; | 6565 NumAliases = 0; |
6566 } | 6566 } |
6567 | 6567 |
6568 // We attempt to use PNaCl (le32) frontend and Mips32EL backend. | 6568 // We attempt to use PNaCl (le32) frontend and Mips32EL backend. |
6569 class NaClMips32ELTargetInfo : public Mips32ELTargetInfo { | 6569 class NaClMips32ELTargetInfo : public Mips32ELTargetInfo { |
6570 public: | 6570 public: |
6571 NaClMips32ELTargetInfo(const llvm::Triple &Triple) : | 6571 NaClMips32ELTargetInfo(const llvm::Triple &Triple) : |
6572 Mips32ELTargetInfo(Triple) { | 6572 Mips32ELTargetInfo(Triple) { |
6573 MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 0; | |
6574 } | 6573 } |
6575 | 6574 |
6576 BuiltinVaListKind getBuiltinVaListKind() const override { | 6575 BuiltinVaListKind getBuiltinVaListKind() const override { |
6577 return TargetInfo::PNaClABIBuiltinVaList; | 6576 return TargetInfo::PNaClABIBuiltinVaList; |
6578 } | 6577 } |
6579 }; | 6578 }; |
6580 | 6579 |
6581 class Le64TargetInfo : public TargetInfo { | 6580 class Le64TargetInfo : public TargetInfo { |
6582 static const Builtin::Info BuiltinInfo[]; | 6581 static const Builtin::Info BuiltinInfo[]; |
6583 | 6582 |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7265 // need to pass the minuses. | 7264 // need to pass the minuses. |
7266 Opts->Features.clear(); | 7265 Opts->Features.clear(); |
7267 for (llvm::StringMap<bool>::const_iterator it = Features.begin(), | 7266 for (llvm::StringMap<bool>::const_iterator it = Features.begin(), |
7268 ie = Features.end(); it != ie; ++it) | 7267 ie = Features.end(); it != ie; ++it) |
7269 Opts->Features.push_back((it->second ? "+" : "-") + it->first().str()); | 7268 Opts->Features.push_back((it->second ? "+" : "-") + it->first().str()); |
7270 if (!Target->handleTargetFeatures(Opts->Features, Diags)) | 7269 if (!Target->handleTargetFeatures(Opts->Features, Diags)) |
7271 return nullptr; | 7270 return nullptr; |
7272 | 7271 |
7273 return Target.release(); | 7272 return Target.release(); |
7274 } | 7273 } |
OLD | NEW |