diff options
36 files changed, 339 insertions, 426 deletions
diff --git a/include/clang/Basic/TargetInfo.h b/include/clang/Basic/TargetInfo.h index de247dbb72..b98a5d6c41 100644 --- a/include/clang/Basic/TargetInfo.h +++ b/include/clang/Basic/TargetInfo.h @@ -16,7 +16,6 @@ #define LLVM_CLANG_BASIC_TARGETINFO_H #include "clang/Basic/AddressSpaces.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/LLVM.h" #include "clang/Basic/Specifiers.h" #include "clang/Basic/TargetCXXABI.h" @@ -31,7 +30,6 @@ #include "llvm/ADT/Triple.h" #include "llvm/IR/DataLayout.h" #include "llvm/Support/DataTypes.h" - #include <cassert> #include <string> #include <vector> @@ -109,8 +107,7 @@ public: /// what the backend expects. static TargetInfo * CreateTargetInfo(DiagnosticsEngine &Diags, - const std::shared_ptr<TargetOptions> &Opts, - const CodeGenOptions &CGOpts = CodeGenOptions()); + const std::shared_ptr<TargetOptions> &Opts); virtual ~TargetInfo(); diff --git a/include/clang/Basic/CodeGenOptions.def b/include/clang/Frontend/CodeGenOptions.def index 14a6ae50c1..14a6ae50c1 100644 --- a/include/clang/Basic/CodeGenOptions.def +++ b/include/clang/Frontend/CodeGenOptions.def diff --git a/include/clang/Basic/CodeGenOptions.h b/include/clang/Frontend/CodeGenOptions.h index 84a93cb35b..d96c2d6dc1 100644 --- a/include/clang/Basic/CodeGenOptions.h +++ b/include/clang/Frontend/CodeGenOptions.h @@ -11,14 +11,13 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_BASIC_CODEGENOPTIONS_H -#define LLVM_CLANG_BASIC_CODEGENOPTIONS_H +#ifndef LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H +#define LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H #include "clang/Basic/DebugInfoOptions.h" #include "clang/Basic/Sanitizers.h" #include "llvm/Support/Regex.h" #include "llvm/Target/TargetOptions.h" - #include <map> #include <memory> #include <string> @@ -32,12 +31,12 @@ class CodeGenOptionsBase { public: #define CODEGENOPT(Name, Bits, Default) unsigned Name : Bits; #define ENUM_CODEGENOPT(Name, Type, Bits, Default) -#include "clang/Basic/CodeGenOptions.def" +#include "clang/Frontend/CodeGenOptions.def" protected: #define CODEGENOPT(Name, Bits, Default) #define ENUM_CODEGENOPT(Name, Type, Bits, Default) unsigned Name : Bits; -#include "clang/Basic/CodeGenOptions.def" +#include "clang/Frontend/CodeGenOptions.def" }; /// CodeGenOptions - Track various options which control how the code @@ -212,7 +211,7 @@ public: #define ENUM_CODEGENOPT(Name, Type, Bits, Default) \ Type get##Name() const { return static_cast<Type>(Name); } \ void set##Name(Type Value) { Name = static_cast<unsigned>(Value); } -#include "clang/Basic/CodeGenOptions.def" +#include "clang/Frontend/CodeGenOptions.def" CodeGenOptions(); diff --git a/include/clang/Frontend/CompilerInvocation.h b/include/clang/Frontend/CompilerInvocation.h index 4fda512568..0b4a1e587e 100644 --- a/include/clang/Frontend/CompilerInvocation.h +++ b/include/clang/Frontend/CompilerInvocation.h @@ -10,11 +10,11 @@ #ifndef LLVM_CLANG_FRONTEND_COMPILERINVOCATION_H_ #define LLVM_CLANG_FRONTEND_COMPILERINVOCATION_H_ -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/DiagnosticOptions.h" #include "clang/Basic/FileSystemOptions.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/TargetOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Frontend/DependencyOutputOptions.h" #include "clang/Frontend/FrontendOptions.h" #include "clang/Frontend/LangStandard.h" @@ -26,7 +26,6 @@ #include "llvm/ADT/IntrusiveRefCntPtr.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" - #include <string> #include <vector> diff --git a/include/clang/module.modulemap b/include/clang/module.modulemap index 14163f327e..a3e18ff585 100644 --- a/include/clang/module.modulemap +++ b/include/clang/module.modulemap @@ -38,7 +38,6 @@ module Clang_Basic { textual header "Basic/BuiltinsWebAssembly.def" textual header "Basic/BuiltinsX86.def" textual header "Basic/BuiltinsXCore.def" - textual header "Basic/CodeGenOptions.def" textual header "Basic/DiagnosticOptions.def" textual header "Basic/LangOptions.def" textual header "Basic/OpenCLExtensions.def" @@ -87,6 +86,7 @@ module Clang_Frontend { requires cplusplus umbrella "Frontend" + textual header "Frontend/CodeGenOptions.def" textual header "Frontend/LangStandards.def" module * { export * } diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt index 8eff9fd5af..cfad8c3649 100644 --- a/lib/Basic/CMakeLists.txt +++ b/lib/Basic/CMakeLists.txt @@ -59,7 +59,6 @@ add_clang_library(clangBasic Attributes.cpp Builtins.cpp CharInfo.cpp - CodeGenOptions.cpp Diagnostic.cpp DiagnosticIDs.cpp DiagnosticOptions.cpp diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index c3faf944f3..51ebd81871 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -12,13 +12,12 @@ // //===----------------------------------------------------------------------===// +#include "clang/Basic/TargetInfo.h" #include "clang/Basic/Builtins.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/MacroBuilder.h" #include "clang/Basic/TargetBuiltins.h" -#include "clang/Basic/TargetInfo.h" #include "clang/Basic/TargetOptions.h" #include "clang/Basic/Version.h" #include "llvm/ADT/APFloat.h" @@ -77,8 +76,7 @@ protected: virtual void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, MacroBuilder &Builder) const=0; public: - OSTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : TgtInfo(Triple, CGOpts) {} + OSTargetInfo(const llvm::Triple &Triple) : TgtInfo(Triple) {} void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { TgtInfo::getTargetDefines(Opts, Builder); @@ -103,8 +101,8 @@ protected: } public: - CloudABITargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) {} + CloudABITargetInfo(const llvm::Triple &Triple) + : OSTargetInfo<Target>(Triple) {} }; static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts, @@ -222,8 +220,7 @@ protected: } public: - DarwinTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + DarwinTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { // By default, no TLS, and we whitelist permitted architecture/OS // combinations. this->TLSSupported = false; @@ -290,9 +287,8 @@ protected: DefineStd(Builder, "unix", Opts); } public: - DragonFlyBSDTargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + DragonFlyBSDTargetInfo(const llvm::Triple &Triple) + : OSTargetInfo<Target>(Triple) { switch (Triple.getArch()) { default: case llvm::Triple::x86: @@ -333,8 +329,7 @@ protected: Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); } public: - FreeBSDTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + FreeBSDTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { switch (Triple.getArch()) { default: case llvm::Triple::x86: @@ -373,8 +368,8 @@ protected: Builder.defineMacro("_GNU_SOURCE"); } public: - KFreeBSDTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) {} + KFreeBSDTargetInfo(const llvm::Triple &Triple) + : OSTargetInfo<Target>(Triple) {} }; // Minix Target @@ -396,8 +391,7 @@ protected: DefineStd(Builder, "unix", Opts); } public: - MinixTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) {} + MinixTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) {} }; // Linux target @@ -424,8 +418,7 @@ protected: Builder.defineMacro("_GNU_SOURCE"); } public: - LinuxTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + LinuxTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->WIntType = TargetInfo::UnsignedInt; switch (Triple.getArch()) { @@ -469,8 +462,7 @@ protected: } } public: - NetBSDTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + NetBSDTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->MCountName = "_mcount"; } }; @@ -490,8 +482,7 @@ protected: Builder.defineMacro("_REENTRANT"); } public: - OpenBSDTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + OpenBSDTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->TLSSupported = false; switch (Triple.getArch()) { @@ -538,8 +529,7 @@ protected: } } public: - BitrigTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + BitrigTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->MCountName = "__mcount"; } }; @@ -576,8 +566,7 @@ protected: Builder.defineMacro("__powerpc64__"); } public: - PS3PPUTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + PS3PPUTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->LongWidth = this->LongAlign = 32; this->PointerWidth = this->PointerAlign = 32; this->IntMaxType = TargetInfo::SignedLongLong; @@ -600,8 +589,7 @@ protected: Builder.defineMacro("__PS4__"); } public: - PS4OSTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + PS4OSTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->WCharType = this->UnsignedShort; // On PS4, TLS variable cannot be aligned to more than 32 bytes (256 bits). @@ -647,8 +635,7 @@ protected: Builder.defineMacro("_REENTRANT"); } public: - SolarisTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + SolarisTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->WCharType = this->SignedInt; // FIXME: WIntType should be SignedLong } @@ -708,8 +695,8 @@ protected: } public: - WindowsTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) {} + WindowsTargetInfo(const llvm::Triple &Triple) + : OSTargetInfo<Target>(Triple) {} }; template <typename Target> @@ -728,8 +715,7 @@ protected: } public: - NaClTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + NaClTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { this->LongAlign = 32; this->LongWidth = 32; this->PointerAlign = 32; @@ -780,9 +766,8 @@ class WebAssemblyOSTargetInfo : public OSTargetInfo<Target> { } public: - explicit WebAssemblyOSTargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + explicit WebAssemblyOSTargetInfo(const llvm::Triple &Triple) + : OSTargetInfo<Target>(Triple) { this->MCountName = "__mcount"; this->TheCXXABI.set(TargetCXXABI::WebAssembly); } @@ -813,10 +798,10 @@ protected: std::string ABI; public: - PPCTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple), HasVSX(false), HasP8Vector(false), - HasP8Crypto(false), HasDirectMove(false), HasQPX(false), HasHTM(false), - HasBPERMD(false), HasExtDiv(false) { + PPCTargetInfo(const llvm::Triple &Triple) + : TargetInfo(Triple), HasVSX(false), HasP8Vector(false), + HasP8Crypto(false), HasDirectMove(false), HasQPX(false), HasHTM(false), + HasBPERMD(false), HasExtDiv(false) { BigEndian = (Triple.getArch() != llvm::Triple::ppc64le); SimdDefaultAlign = 128; LongDoubleWidth = LongDoubleAlign = 128; @@ -1495,8 +1480,7 @@ ArrayRef<TargetInfo::GCCRegAlias> PPCTargetInfo::getGCCRegAliases() const { class PPC32TargetInfo : public PPCTargetInfo { public: - PPC32TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : PPCTargetInfo(Triple, CGOpts) { + PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) { resetDataLayout("E-m:e-p:32:32-i64:64-n32"); switch (getTriple().getOS()) { @@ -1530,8 +1514,7 @@ public: // TargetInfo for little endian. class PPC64TargetInfo : public PPCTargetInfo { public: - PPC64TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : PPCTargetInfo(Triple, CGOpts) { + PPC64TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) { LongWidth = LongAlign = PointerWidth = PointerAlign = 64; IntMaxType = SignedLong; Int64Type = SignedLong; @@ -1576,9 +1559,8 @@ public: class DarwinPPC32TargetInfo : public DarwinTargetInfo<PPC32TargetInfo> { public: - DarwinPPC32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : DarwinTargetInfo<PPC32TargetInfo>(Triple, CGOpts) { + DarwinPPC32TargetInfo(const llvm::Triple &Triple) + : DarwinTargetInfo<PPC32TargetInfo>(Triple) { HasAlignMac68kSupport = true; BoolWidth = BoolAlign = 32; //XXX support -mone-byte-bool? PtrDiffType = SignedInt; // for http://llvm.org/bugs/show_bug.cgi?id=15726 @@ -1594,9 +1576,8 @@ public: class DarwinPPC64TargetInfo : public DarwinTargetInfo<PPC64TargetInfo> { public: - DarwinPPC64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : DarwinTargetInfo<PPC64TargetInfo>(Triple, CGOpts) { + DarwinPPC64TargetInfo(const llvm::Triple &Triple) + : DarwinTargetInfo<PPC64TargetInfo>(Triple) { HasAlignMac68kSupport = true; SuitableAlign = 128; resetDataLayout("E-m:o-i64:64-n32:64"); @@ -1629,8 +1610,7 @@ class NVPTXTargetInfo : public TargetInfo { } GPU; public: - NVPTXTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + NVPTXTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; TLSSupported = false; LongWidth = LongAlign = 64; @@ -1736,8 +1716,7 @@ ArrayRef<const char *> NVPTXTargetInfo::getGCCRegNames() const { class NVPTX32TargetInfo : public NVPTXTargetInfo { public: - NVPTX32TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : NVPTXTargetInfo(Triple, CGOpts) { + NVPTX32TargetInfo(const llvm::Triple &Triple) : NVPTXTargetInfo(Triple) { LongWidth = LongAlign = 32; PointerWidth = PointerAlign = 32; SizeType = TargetInfo::UnsignedInt; @@ -1749,8 +1728,7 @@ public: class NVPTX64TargetInfo : public NVPTXTargetInfo { public: - NVPTX64TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : NVPTXTargetInfo(Triple, CGOpts) { + NVPTX64TargetInfo(const llvm::Triple &Triple) : NVPTXTargetInfo(Triple) { PointerWidth = PointerAlign = 64; SizeType = TargetInfo::UnsignedLong; PtrDiffType = TargetInfo::SignedLong; @@ -1806,8 +1784,9 @@ class AMDGPUTargetInfo : public TargetInfo { bool hasLDEXPF:1; public: - AMDGPUTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + AMDGPUTargetInfo(const llvm::Triple &Triple) + : TargetInfo(Triple) { + if (Triple.getArch() == llvm::Triple::amdgcn) { resetDataLayout(DataLayoutStringSI); GPU = GK_SOUTHERN_ISLANDS; @@ -2404,8 +2383,7 @@ class X86TargetInfo : public TargetInfo { } FPMath = FP_Default; public: - X86TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + X86TargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; LongDoubleFormat = &llvm::APFloat::x87DoubleExtended; } @@ -3763,8 +3741,7 @@ X86TargetInfo::convertConstraint(const char *&Constraint) const { // X86-32 generic target class X86_32TargetInfo : public X86TargetInfo { public: - X86_32TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : X86TargetInfo(Triple, CGOpts) { + X86_32TargetInfo(const llvm::Triple &Triple) : X86TargetInfo(Triple) { DoubleAlign = LongLongAlign = 32; LongDoubleWidth = 96; LongDoubleAlign = 32; @@ -3818,8 +3795,8 @@ public: class NetBSDI386TargetInfo : public NetBSDTargetInfo<X86_32TargetInfo> { public: - NetBSDI386TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : NetBSDTargetInfo<X86_32TargetInfo>(Triple, CGOpts) {} + NetBSDI386TargetInfo(const llvm::Triple &Triple) + : NetBSDTargetInfo<X86_32TargetInfo>(Triple) {} unsigned getFloatEvalMethod() const override { unsigned Major, Minor, Micro; @@ -3834,9 +3811,8 @@ public: class OpenBSDI386TargetInfo : public OpenBSDTargetInfo<X86_32TargetInfo> { public: - OpenBSDI386TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : OpenBSDTargetInfo<X86_32TargetInfo>(Triple, CGOpts) { + OpenBSDI386TargetInfo(const llvm::Triple &Triple) + : OpenBSDTargetInfo<X86_32TargetInfo>(Triple) { SizeType = UnsignedLong; IntPtrType = SignedLong; PtrDiffType = SignedLong; @@ -3845,8 +3821,8 @@ public: class BitrigI386TargetInfo : public BitrigTargetInfo<X86_32TargetInfo> { public: - BitrigI386TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : BitrigTargetInfo<X86_32TargetInfo>(Triple, CGOpts) { + BitrigI386TargetInfo(const llvm::Triple &Triple) + : BitrigTargetInfo<X86_32TargetInfo>(Triple) { SizeType = UnsignedLong; IntPtrType = SignedLong; PtrDiffType = SignedLong; @@ -3855,8 +3831,8 @@ public: class DarwinI386TargetInfo : public DarwinTargetInfo<X86_32TargetInfo> { public: - DarwinI386TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : DarwinTargetInfo<X86_32TargetInfo>(Triple, CGOpts) { + DarwinI386TargetInfo(const llvm::Triple &Triple) + : DarwinTargetInfo<X86_32TargetInfo>(Triple) { LongDoubleWidth = 128; LongDoubleAlign = 128; SuitableAlign = 128; @@ -3886,9 +3862,8 @@ public: // x86-32 Windows target class WindowsX86_32TargetInfo : public WindowsTargetInfo<X86_32TargetInfo> { public: - WindowsX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsTargetInfo<X86_32TargetInfo>(Triple, CGOpts) { + WindowsX86_32TargetInfo(const llvm::Triple &Triple) + : WindowsTargetInfo<X86_32TargetInfo>(Triple) { WCharType = UnsignedShort; DoubleAlign = LongLongAlign = 64; bool IsWinCOFF = @@ -3906,9 +3881,8 @@ public: // x86-32 Windows Visual Studio target class MicrosoftX86_32TargetInfo : public WindowsX86_32TargetInfo { public: - MicrosoftX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsX86_32TargetInfo(Triple, CGOpts) { + MicrosoftX86_32TargetInfo(const llvm::Triple &Triple) + : WindowsX86_32TargetInfo(Triple) { LongDoubleWidth = LongDoubleAlign = 64; LongDoubleFormat = &llvm::APFloat::IEEEdouble; } @@ -3956,9 +3930,8 @@ static void addMinGWDefines(const LangOptions &Opts, MacroBuilder &Builder) { // x86-32 MinGW target class MinGWX86_32TargetInfo : public WindowsX86_32TargetInfo { public: - MinGWX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsX86_32TargetInfo(Triple, CGOpts) {} + MinGWX86_32TargetInfo(const llvm::Triple &Triple) + : WindowsX86_32TargetInfo(Triple) {} void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { WindowsX86_32TargetInfo::getTargetDefines(Opts, Builder); @@ -3972,9 +3945,8 @@ public: // x86-32 Cygwin target class CygwinX86_32TargetInfo : public X86_32TargetInfo { public: - CygwinX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : X86_32TargetInfo(Triple, CGOpts) { + CygwinX86_32TargetInfo(const llvm::Triple &Triple) + : X86_32TargetInfo(Triple) { WCharType = UnsignedShort; DoubleAlign = LongLongAlign = 64; resetDataLayout("e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"); @@ -3995,9 +3967,7 @@ public: // x86-32 Haiku target class HaikuX86_32TargetInfo : public X86_32TargetInfo { public: - HaikuX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : X86_32TargetInfo(Triple, CGOpts) { + HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { SizeType = UnsignedLong; IntPtrType = SignedLong; PtrDiffType = SignedLong; @@ -4015,8 +3985,7 @@ public: // X86-32 MCU target class MCUX86_32TargetInfo : public X86_32TargetInfo { public: - MCUX86_32TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : X86_32TargetInfo(Triple, CGOpts) { + MCUX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { LongDoubleWidth = 64; LongDoubleFormat = &llvm::APFloat::IEEEdouble; resetDataLayout("e-m:e-p:32:32-i64:32-f64:32-f128:32-n8:16:32-a:0:32-S32"); @@ -4053,8 +4022,7 @@ protected: } public: - RTEMSTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : OSTargetInfo<Target>(Triple, CGOpts) { + RTEMSTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) { switch (Triple.getArch()) { default: case llvm::Triple::x86: @@ -4077,9 +4045,7 @@ public: // x86-32 RTEMS target class RTEMSX86_32TargetInfo : public X86_32TargetInfo { public: - RTEMSX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : X86_32TargetInfo(Triple, CGOpts) { + RTEMSX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { SizeType = UnsignedLong; IntPtrType = SignedLong; PtrDiffType = SignedLong; @@ -4095,8 +4061,7 @@ public: // x86-64 generic target class X86_64TargetInfo : public X86TargetInfo { public: - X86_64TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : X86TargetInfo(Triple, CGOpts) { + X86_64TargetInfo(const llvm::Triple &Triple) : X86TargetInfo(Triple) { const bool IsX32 = getTriple().getEnvironment() == llvm::Triple::GNUX32; bool IsWinCOFF = getTriple().isOSWindows() && getTriple().isOSBinFormatCOFF(); @@ -4186,9 +4151,8 @@ public: // x86-64 Windows target class WindowsX86_64TargetInfo : public WindowsTargetInfo<X86_64TargetInfo> { public: - WindowsX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsTargetInfo<X86_64TargetInfo>(Triple, CGOpts) { + WindowsX86_64TargetInfo(const llvm::Triple &Triple) + : WindowsTargetInfo<X86_64TargetInfo>(Triple) { WCharType = UnsignedShort; LongWidth = LongAlign = 32; DoubleAlign = LongLongAlign = 64; @@ -4229,9 +4193,8 @@ public: // x86-64 Windows Visual Studio target class MicrosoftX86_64TargetInfo : public WindowsX86_64TargetInfo { public: - MicrosoftX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsX86_64TargetInfo(Triple, CGOpts) { + MicrosoftX86_64TargetInfo(const llvm::Triple &Triple) + : WindowsX86_64TargetInfo(Triple) { LongDoubleWidth = LongDoubleAlign = 64; LongDoubleFormat = &llvm::APFloat::IEEEdouble; } @@ -4247,9 +4210,8 @@ public: // x86-64 MinGW target class MinGWX86_64TargetInfo : public WindowsX86_64TargetInfo { public: - MinGWX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsX86_64TargetInfo(Triple, CGOpts) { + MinGWX86_64TargetInfo(const llvm::Triple &Triple) + : WindowsX86_64TargetInfo(Triple) { // Mingw64 rounds long double size and alignment up to 16 bytes, but sticks // with x86 FP ops. Weird. LongDoubleWidth = LongDoubleAlign = 128; @@ -4272,9 +4234,8 @@ public: // x86-64 Cygwin target class CygwinX86_64TargetInfo : public X86_64TargetInfo { public: - CygwinX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : X86_64TargetInfo(Triple, CGOpts) { + CygwinX86_64TargetInfo(const llvm::Triple &Triple) + : X86_64TargetInfo(Triple) { TLSSupported = false; WCharType = UnsignedShort; } @@ -4297,9 +4258,8 @@ public: class DarwinX86_64TargetInfo : public DarwinTargetInfo<X86_64TargetInfo> { public: - DarwinX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : DarwinTargetInfo<X86_64TargetInfo>(Triple, CGOpts) { + DarwinX86_64TargetInfo(const llvm::Triple &Triple) + : DarwinTargetInfo<X86_64TargetInfo>(Triple) { Int64Type = SignedLongLong; // The 64-bit iOS simulator uses the builtin bool type for Objective-C. llvm::Triple T = llvm::Triple(Triple); @@ -4322,9 +4282,8 @@ public: class OpenBSDX86_64TargetInfo : public OpenBSDTargetInfo<X86_64TargetInfo> { public: - OpenBSDX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : OpenBSDTargetInfo<X86_64TargetInfo>(Triple, CGOpts) { + OpenBSDX86_64TargetInfo(const llvm::Triple &Triple) + : OpenBSDTargetInfo<X86_64TargetInfo>(Triple) { IntMaxType = SignedLongLong; Int64Type = SignedLongLong; } @@ -4332,9 +4291,8 @@ public: class BitrigX86_64TargetInfo : public BitrigTargetInfo<X86_64TargetInfo> { public: - BitrigX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : BitrigTargetInfo<X86_64TargetInfo>(Triple, CGOpts) { + BitrigX86_64TargetInfo(const llvm::Triple &Triple) + : BitrigTargetInfo<X86_64TargetInfo>(Triple) { IntMaxType = SignedLongLong; Int64Type = SignedLongLong; } @@ -4618,10 +4576,9 @@ class ARMTargetInfo : public TargetInfo { } public: - ARMTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &, - bool IsBigEndian) - : TargetInfo(Triple), FPMath(FP_Default), IsAAPCS(true), LDREX(0), - HW_FP(0) { + ARMTargetInfo(const llvm::Triple &Triple, bool IsBigEndian) + : TargetInfo(Triple), FPMath(FP_Default), + IsAAPCS(true), LDREX(0), HW_FP(0) { BigEndian = IsBigEndian; switch (getTriple().getOS()) { @@ -5249,8 +5206,8 @@ const Builtin::Info ARMTargetInfo::BuiltinInfo[] = { class ARMleTargetInfo : public ARMTargetInfo { public: - ARMleTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : ARMTargetInfo(Triple, CGOpts, false) {} + ARMleTargetInfo(const llvm::Triple &Triple) + : ARMTargetInfo(Triple, false) { } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { Builder.defineMacro("__ARMEL__"); @@ -5260,8 +5217,8 @@ public: class ARMbeTargetInfo : public ARMTargetInfo { public: - ARMbeTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : ARMTargetInfo(Triple, CGOpts, true) {} + ARMbeTargetInfo(const llvm::Triple &Triple) + : ARMTargetInfo(Triple, true) { } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { Builder.defineMacro("__ARMEB__"); @@ -5273,8 +5230,8 @@ public: class WindowsARMTargetInfo : public WindowsTargetInfo<ARMleTargetInfo> { const llvm::Triple Triple; public: - WindowsARMTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : WindowsTargetInfo<ARMleTargetInfo>(Triple, CGOpts), Triple(Triple) { + WindowsARMTargetInfo(const llvm::Triple &Triple) + : WindowsTargetInfo<ARMleTargetInfo>(Triple), Triple(Triple) { WCharType = UnsignedShort; SizeType = UnsignedInt; } @@ -5318,9 +5275,8 @@ public: // Windows ARM + Itanium C++ ABI Target class ItaniumWindowsARMleTargetInfo : public WindowsARMTargetInfo { public: - ItaniumWindowsARMleTargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsARMTargetInfo(Triple, CGOpts) { + ItaniumWindowsARMleTargetInfo(const llvm::Triple &Triple) + : WindowsARMTargetInfo(Triple) { TheCXXABI.set(TargetCXXABI::GenericARM); } @@ -5336,9 +5292,8 @@ public: // Windows ARM, MS (C++) ABI class MicrosoftARMleTargetInfo : public WindowsARMTargetInfo { public: - MicrosoftARMleTargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : WindowsARMTargetInfo(Triple, CGOpts) { + MicrosoftARMleTargetInfo(const llvm::Triple &Triple) + : WindowsARMTargetInfo(Triple) { TheCXXABI.set(TargetCXXABI::Microsoft); } @@ -5352,8 +5307,8 @@ public: // ARM MinGW target class MinGWARMTargetInfo : public WindowsARMTargetInfo { public: - MinGWARMTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : WindowsARMTargetInfo(Triple, CGOpts) { + MinGWARMTargetInfo(const llvm::Triple &Triple) + : WindowsARMTargetInfo(Triple) { TheCXXABI.set(TargetCXXABI::GenericARM); } @@ -5370,8 +5325,7 @@ public: // ARM Cygwin target class CygwinARMTargetInfo : public ARMleTargetInfo { public: - CygwinARMTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : ARMleTargetInfo(Triple, CGOpts) { + CygwinARMTargetInfo(const llvm::Triple &Triple) : ARMleTargetInfo(Triple) { TLSSupported = false; WCharType = UnsignedShort; DoubleAlign = LongLongAlign = 64; @@ -5398,8 +5352,8 @@ protected: } public: - DarwinARMTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : DarwinTargetInfo<ARMleTargetInfo>(Triple, CGOpts) { + DarwinARMTargetInfo(const llvm::Triple &Triple) + : DarwinTargetInfo<ARMleTargetInfo>(Triple) { HasAlignMac68kSupport = true; // iOS always has 64-bit atomic instructions. // FIXME: This should be based off of the target features in @@ -5442,8 +5396,9 @@ class AArch64TargetInfo : public TargetInfo { std::string ABI; public: - AArch64TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) + AArch64TargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple), ABI("aapcs") { + if (getTriple().getOS() == llvm::Triple::NetBSD) { WCharType = SignedInt; @@ -5772,10 +5727,10 @@ class AArch64leTargetInfo : public AArch64TargetInfo { } public: - AArch64leTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : AArch64TargetInfo(Triple, CGOpts) { + AArch64leTargetInfo(const llvm::Triple &Triple) + : AArch64TargetInfo(Triple) { BigEndian = false; - } + } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { Builder.defineMacro("__AARCH64EL__"); @@ -5790,8 +5745,8 @@ class AArch64beTargetInfo : public AArch64TargetInfo { } public: - AArch64beTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : AArch64TargetInfo(Triple, CGOpts) {} + AArch64beTargetInfo(const llvm::Triple &Triple) + : AArch64TargetInfo(Triple) { } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { Builder.defineMacro("__AARCH64EB__"); @@ -5817,9 +5772,8 @@ protected: } public: - DarwinAArch64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : DarwinTargetInfo<AArch64leTargetInfo>(Triple, CGOpts) { + DarwinAArch64TargetInfo(const llvm::Triple &Triple) + : DarwinTargetInfo<AArch64leTargetInfo>(Triple) { Int64Type = SignedLongLong; WCharType = SignedInt; UseSignedCharForObjCBool = false; @@ -5844,8 +5798,7 @@ class HexagonTargetInfo : public TargetInfo { bool HasHVX, HasHVXDouble; public: - HexagonTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + HexagonTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; // Specify the vector alignment explicitly. For v512x1, the calculated // alignment would be 512*alignment(i1), which is 512 bytes, instead of @@ -6025,8 +5978,7 @@ class LanaiTargetInfo : public TargetInfo { static const char *const GCCRegNames[]; public: - LanaiTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + LanaiTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { // Description string has to be kept in sync with backend. resetDataLayout("E" // Big endian "-m:e" // ELF name manging @@ -6125,7 +6077,7 @@ class SparcTargetInfo : public TargetInfo { static const char * const GCCRegNames[]; bool SoftFloat; public: - SparcTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) + SparcTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple), SoftFloat(false) {} int getEHDataRegisterNumber(unsigned RegNo) const override { @@ -6325,8 +6277,7 @@ ArrayRef<TargetInfo::GCCRegAlias> SparcTargetInfo::getGCCRegAliases() const { // SPARC v8 is the 32-bit mode selected by Triple::sparc. class SparcV8TargetInfo : public SparcTargetInfo { public: - SparcV8TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : SparcTargetInfo(Triple, CGOpts) { + SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) { resetDataLayout("E-m:e-p:32:32-i64:64-f128:64-n32-S64"); // NetBSD / OpenBSD use long (same as llvm default); everyone else uses int. switch (getTriple().getOS()) { @@ -6381,18 +6332,16 @@ public: // SPARCV8el is the 32-bit little-endian mode selected by Triple::sparcel. class SparcV8elTargetInfo : public SparcV8TargetInfo { public: - SparcV8elTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : SparcV8TargetInfo(Triple, CGOpts) { - resetDataLayout("e-m:e-p:32:32-i64:64-f128:64-n32-S64"); - BigEndian = false; + SparcV8elTargetInfo(const llvm::Triple &Triple) : SparcV8TargetInfo(Triple) { + resetDataLayout("e-m:e-p:32:32-i64:64-f128:64-n32-S64"); + BigEndian = false; } }; // SPARC v9 is the 64-bit mode selected by Triple::sparcv9. class SparcV9TargetInfo : public SparcTargetInfo { public: - SparcV9TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : SparcTargetInfo(Triple, CGOpts) { + SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) { // FIXME: Support Sparc quad-precision long double? resetDataLayout("E-m:e-i64:64-n32:64-S128"); // This is an LP64 platform. @@ -6441,7 +6390,7 @@ class SystemZTargetInfo : public TargetInfo { bool HasVector; public: - SystemZTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) + SystemZTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple), CPU("z10"), HasTransactionalExecution(false), HasVector(false) { IntMaxType = SignedLong; @@ -6607,8 +6556,7 @@ class MSP430TargetInfo : public TargetInfo { static const char *const GCCRegNames[]; public: - MSP430TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + MSP430TargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; TLSSupported = false; IntWidth = 16; @@ -6695,8 +6643,7 @@ static const unsigned TCEOpenCLAddrSpaceMap[] = { class TCETargetInfo : public TargetInfo { public: - TCETargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + TCETargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { TLSSupported = false; IntWidth = 32; LongWidth = LongLongWidth = 32; @@ -6749,8 +6696,7 @@ public: class BPFTargetInfo : public TargetInfo { public: - BPFTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + BPFTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { LongWidth = LongAlign = PointerWidth = PointerAlign = 64; SizeType = UnsignedLong; PtrDiffType = SignedLong; @@ -6819,8 +6765,8 @@ protected: std::string ABI; public: - MipsTargetInfoBase(const llvm::Triple &Triple, const CodeGenOptions &, - const std::string &ABIStr, const std::string &CPUStr) + MipsTargetInfoBase(const llvm::Triple &Triple, const std::string &ABIStr, + const std::string &CPUStr) : TargetInfo(Triple), CPU(CPUStr), IsMips16(false), IsMicromips(false), IsNan2008(false), IsSingleFloat(false), FloatABI(HardFloat), DspRev(NoDSP), HasMSA(false), HasFP64(false), ABI(ABIStr) { @@ -7119,8 +7065,8 @@ const Builtin::Info MipsTargetInfoBase::BuiltinInfo[] = { class Mips32TargetInfoBase : public MipsTargetInfoBase { public: - Mips32TargetInfoBase(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : MipsTargetInfoBase(Triple, CGOpts, "o32", "mips32r2") { + Mips32TargetInfoBase(const llvm::Triple &Triple) + : MipsTargetInfoBase(Triple, "o32", "mips32r2") { SizeType = UnsignedInt; PtrDiffType = SignedInt; Int64Type = SignedLongLong; @@ -7207,8 +7153,9 @@ class Mips32EBTargetInfo : public Mips32TargetInfoBase { } public: - Mips32EBTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : Mips32TargetInfoBase(Triple, CGOpts) {} + Mips32EBTargetInfo(const llvm::Triple &Triple) + : Mips32TargetInfoBase(Triple) { + } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { DefineStd(Builder, "MIPSEB", Opts); @@ -7223,8 +7170,8 @@ class Mips32ELTargetInfo : public Mips32TargetInfoBase { } public: - Mips32ELTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : Mips32TargetInfoBase(Triple, CGOpts) { + Mips32ELTargetInfo(const llvm::Triple &Triple) + : Mips32TargetInfoBase(Triple) { BigEndian = false; } void getTargetDefines(const LangOptions &Opts, @@ -7237,8 +7184,8 @@ public: class Mips64TargetInfoBase : public MipsTargetInfoBase { public: - Mips64TargetInfoBase(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : MipsTargetInfoBase(Triple, CGOpts, "n64", "mips64r2") { + Mips64TargetInfoBase(const llvm::Triple &Triple) + : MipsTargetInfoBase(Triple, "n64", "mips64r2") { LongDoubleWidth = LongDoubleAlign = 128; LongDoubleFormat = &llvm::APFloat::IEEEquad; if (getTriple().getOS() == llvm::Triple::FreeBSD) { @@ -7367,8 +7314,8 @@ class Mips64EBTargetInfo : public Mips64TargetInfoBase { } public: - Mips64EBTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : Mips64TargetInfoBase(Triple, CGOpts) {} + Mips64EBTargetInfo(const llvm::Triple &Triple) + : Mips64TargetInfoBase(Triple) {} void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { DefineStd(Builder, "MIPSEB", Opts); @@ -7385,8 +7332,8 @@ class Mips64ELTargetInfo : public Mips64TargetInfoBase { resetDataLayout("e-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128"); } public: - Mips64ELTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : Mips64TargetInfoBase(Triple, CGOpts) { + Mips64ELTargetInfo(const llvm::Triple &Triple) + : Mips64TargetInfoBase(Triple) { // Default ABI is n64. BigEndian = false; } @@ -7400,8 +7347,7 @@ public: class PNaClTargetInfo : public TargetInfo { public: - PNaClTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + PNaClTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; this->LongAlign = 32; this->LongWidth = 32; @@ -7456,9 +7402,9 @@ ArrayRef<TargetInfo::GCCRegAlias> PNaClTargetInfo::getGCCRegAliases() const { // We attempt to use PNaCl (le32) frontend and Mips32EL backend. class NaClMips32ELTargetInfo : public Mips32ELTargetInfo { public: - NaClMips32ELTargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : Mips32ELTargetInfo(Triple, CGOpts) {} + NaClMips32ELTargetInfo(const llvm::Triple &Triple) : + Mips32ELTargetInfo(Triple) { + } BuiltinVaListKind getBuiltinVaListKind() const override { return TargetInfo::PNaClABIBuiltinVaList; @@ -7469,8 +7415,7 @@ class Le64TargetInfo : public TargetInfo { static const Builtin::Info BuiltinInfo[]; public: - Le64TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + Le64TargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; NoAsmVariants = true; LongWidth = LongAlign = PointerWidth = PointerAlign = 64; @@ -7515,7 +7460,7 @@ class WebAssemblyTargetInfo : public TargetInfo { } SIMDLevel; public: - explicit WebAssemblyTargetInfo(const llvm::Triple &T, const CodeGenOptions &) + explicit WebAssemblyTargetInfo(const llvm::Triple &T) : TargetInfo(T), SIMDLevel(NoSIMD) { BigEndian = false; NoAsmVariants = true; @@ -7621,9 +7566,8 @@ const Builtin::Info WebAssemblyTargetInfo::BuiltinInfo[] = { class WebAssembly32TargetInfo : public WebAssemblyTargetInfo { public: - explicit WebAssembly32TargetInfo(const llvm::Triple &T, - const CodeGenOptions &CGOpts) - : WebAssemblyTargetInfo(T, CGOpts) { + explicit WebAssembly32TargetInfo(const llvm::Triple &T) + : WebAssemblyTargetInfo(T) { MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 32; resetDataLayout("e-m:e-p:32:32-i64:64-n32:64-S128"); } @@ -7638,9 +7582,8 @@ protected: class WebAssembly64TargetInfo : public WebAssemblyTargetInfo { public: - explicit WebAssembly64TargetInfo(const llvm::Triple &T, - const CodeGenOptions &CGOpts) - : WebAssemblyTargetInfo(T, CGOpts) { + explicit WebAssembly64TargetInfo(const llvm::Triple &T) + : WebAssemblyTargetInfo(T) { LongAlign = LongWidth = 64; PointerAlign = PointerWidth = 64; MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64; @@ -7672,8 +7615,7 @@ static const unsigned SPIRAddrSpaceMap[] = { }; class SPIRTargetInfo : public TargetInfo { public: - SPIRTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : TargetInfo(Triple) { + SPIRTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { assert(getTriple().getOS() == llvm::Triple::UnknownOS && "SPIR target must use unknown OS"); assert(getTriple().getEnvironment() == llvm::Triple::UnknownEnvironment && @@ -7721,8 +7663,7 @@ public: class SPIR32TargetInfo : public SPIRTargetInfo { public: - SPIR32TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : SPIRTargetInfo(Triple, CGOpts) { + SPIR32TargetInfo(const llvm::Triple &Triple) : SPIRTargetInfo(Triple) { PointerWidth = PointerAlign = 32; SizeType = TargetInfo::UnsignedInt; PtrDiffType = IntPtrType = TargetInfo::SignedInt; @@ -7737,8 +7678,7 @@ public: class SPIR64TargetInfo : public SPIRTargetInfo { public: - SPIR64TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts) - : SPIRTargetInfo(Triple, CGOpts) { + SPIR64TargetInfo(const llvm::Triple &Triple) : SPIRTargetInfo(Triple) { PointerWidth = PointerAlign = 64; SizeType = TargetInfo::UnsignedLong; PtrDiffType = IntPtrType = TargetInfo::SignedLong; @@ -7754,8 +7694,7 @@ public: class XCoreTargetInfo : public TargetInfo { static const Builtin::Info BuiltinInfo[]; public: - XCoreTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &) - : TargetInfo(Triple) { + XCoreTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) { BigEndian = false; NoAsmVariants = true; LongLongAlign = 32; @@ -7818,9 +7757,8 @@ const Builtin::Info XCoreTargetInfo::BuiltinInfo[] = { // x86_32 Android target class AndroidX86_32TargetInfo : public LinuxTargetInfo<X86_32TargetInfo> { public: - AndroidX86_32TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : LinuxTargetInfo<X86_32TargetInfo>(Triple, CGOpts) { + AndroidX86_32TargetInfo(const llvm::Triple &Triple) + : LinuxTargetInfo<X86_32TargetInfo>(Triple) { SuitableAlign = 32; LongDoubleWidth = 64; LongDoubleFormat = &llvm::APFloat::IEEEdouble; @@ -7830,9 +7768,8 @@ public: // x86_64 Android target class AndroidX86_64TargetInfo : public LinuxTargetInfo<X86_64TargetInfo> { public: - AndroidX86_64TargetInfo(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) - : LinuxTargetInfo<X86_64TargetInfo>(Triple, CGOpts) { + AndroidX86_64TargetInfo(const llvm::Triple &Triple) + : LinuxTargetInfo<X86_64TargetInfo>(Triple) { LongDoubleFormat = &llvm::APFloat::IEEEquad; } @@ -7846,8 +7783,7 @@ public: // Driver code //===----------------------------------------------------------------------===// -static TargetInfo *AllocateTarget(const llvm::Triple &Triple, - const CodeGenOptions &CGOpts) { +static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { llvm::Triple::OSType os = Triple.getOS(); switch (Triple.getArch()) { @@ -7855,417 +7791,417 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple, return nullptr; case llvm::Triple::xcore: - return new XCoreTargetInfo(Triple, CGOpts); + return new XCoreTargetInfo(Triple); case llvm::Triple::hexagon: - return new HexagonTargetInfo(Triple, CGOpts); + return new HexagonTargetInfo(Triple); case llvm::Triple::lanai: - return new LanaiTargetInfo(Triple, CGOpts); + return new LanaiTargetInfo(Triple); case llvm::Triple::aarch64: if (Triple.isOSDarwin()) - return new DarwinAArch64TargetInfo(Triple, CGOpts); + return new DarwinAArch64TargetInfo(Triple); switch (os) { case llvm::Triple::CloudABI: - return new CloudABITargetInfo<AArch64leTargetInfo>(Triple, CGOpts); + return new CloudABITargetInfo<AArch64leTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<AArch64leTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<AArch64leTargetInfo>(Triple); case llvm::Triple::Linux: - return new LinuxTargetInfo<AArch64leTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<AArch64leTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<AArch64leTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<AArch64leTargetInfo>(Triple); default: - return new AArch64leTargetInfo(Triple, CGOpts); + return new AArch64leTargetInfo(Triple); } case llvm::Triple::aarch64_be: switch (os) { case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<AArch64beTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<AArch64beTargetInfo>(Triple); case llvm::Triple::Linux: - return new LinuxTargetInfo<AArch64beTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<AArch64beTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<AArch64beTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<AArch64beTargetInfo>(Triple); default: - return new AArch64beTargetInfo(Triple, CGOpts); + return new AArch64beTargetInfo(Triple); } case llvm::Triple::arm: case llvm::Triple::thumb: if (Triple.isOSBinFormatMachO()) - return new DarwinARMTargetInfo(Triple, CGOpts); + return new DarwinARMTargetInfo(Triple); switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::Bitrig: - return new BitrigTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new BitrigTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::NaCl: - return new NaClTargetInfo<ARMleTargetInfo>(Triple, CGOpts); + return new NaClTargetInfo<ARMleTargetInfo>(Triple); case llvm::Triple::Win32: switch (Triple.getEnvironment()) { case llvm::Triple::Cygnus: - return new CygwinARMTargetInfo(Triple, CGOpts); + return new CygwinARMTargetInfo(Triple); case llvm::Triple::GNU: - return new MinGWARMTargetInfo(Triple, CGOpts); + return new MinGWARMTargetInfo(Triple); case llvm::Triple::Itanium: - return new ItaniumWindowsARMleTargetInfo(Triple, CGOpts); + return new ItaniumWindowsARMleTargetInfo(Triple); case llvm::Triple::MSVC: default: // Assume MSVC for unknown environments - return new MicrosoftARMleTargetInfo(Triple, CGOpts); + return new MicrosoftARMleTargetInfo(Triple); } default: - return new ARMleTargetInfo(Triple, CGOpts); + return new ARMleTargetInfo(Triple); } case llvm::Triple::armeb: case llvm::Triple::thumbeb: if (Triple.isOSDarwin()) - return new DarwinARMTargetInfo(Triple, CGOpts); + return new DarwinARMTargetInfo(Triple); switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<ARMbeTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<ARMbeTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<ARMbeTargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<ARMbeTargetInfo>(Triple); case llvm::Triple::Bitrig: - return new BitrigTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new BitrigTargetInfo<ARMbeTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<ARMbeTargetInfo>(Triple); case llvm::Triple::NaCl: - return new NaClTargetInfo<ARMbeTargetInfo>(Triple, CGOpts); + return new NaClTargetInfo<ARMbeTargetInfo>(Triple); default: - return new ARMbeTargetInfo(Triple, CGOpts); + return new ARMbeTargetInfo(Triple); } case llvm::Triple::bpfeb: case llvm::Triple::bpfel: - return new BPFTargetInfo(Triple, CGOpts); + return new BPFTargetInfo(Triple); case llvm::Triple::msp430: - return new MSP430TargetInfo(Triple, CGOpts); + return new MSP430TargetInfo(Triple); case llvm::Triple::mips: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<Mips32EBTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<Mips32EBTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<Mips32EBTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<Mips32EBTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<Mips32EBTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<Mips32EBTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<Mips32EBTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<Mips32EBTargetInfo>(Triple); default: - return new Mips32EBTargetInfo(Triple, CGOpts); + return new Mips32EBTargetInfo(Triple); } case llvm::Triple::mipsel: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<Mips32ELTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<Mips32ELTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<Mips32ELTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<Mips32ELTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<Mips32ELTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<Mips32ELTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<Mips32ELTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<Mips32ELTargetInfo>(Triple); case llvm::Triple::NaCl: - return new NaClTargetInfo<NaClMips32ELTargetInfo>(Triple, CGOpts); + return new NaClTargetInfo<NaClMips32ELTargetInfo>(Triple); default: - return new Mips32ELTargetInfo(Triple, CGOpts); + return new Mips32ELTargetInfo(Triple); } case llvm::Triple::mips64: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<Mips64EBTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<Mips64EBTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<Mips64EBTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<Mips64EBTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<Mips64EBTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<Mips64EBTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<Mips64EBTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<Mips64EBTargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<Mips64EBTargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<Mips64EBTargetInfo>(Triple); default: - return new Mips64EBTargetInfo(Triple, CGOpts); + return new Mips64EBTargetInfo(Triple); } case llvm::Triple::mips64el: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<Mips64ELTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<Mips64ELTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<Mips64ELTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<Mips64ELTargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<Mips64ELTargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<Mips64ELTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<Mips64ELTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<Mips64ELTargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<Mips64ELTargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<Mips64ELTargetInfo>(Triple); default: - return new Mips64ELTargetInfo(Triple, CGOpts); + return new Mips64ELTargetInfo(Triple); } case llvm::Triple::le32: switch (os) { case llvm::Triple::NaCl: - return new NaClTargetInfo<PNaClTargetInfo>(Triple, CGOpts); + return new NaClTargetInfo<PNaClTargetInfo>(Triple); default: return nullptr; } case llvm::Triple::le64: - return new Le64TargetInfo(Triple, CGOpts); + return new Le64TargetInfo(Triple); case llvm::Triple::ppc: if (Triple.isOSDarwin()) - return new DarwinPPC32TargetInfo(Triple, CGOpts); + return new DarwinPPC32TargetInfo(Triple); switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<PPC32TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<PPC32TargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<PPC32TargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<PPC32TargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<PPC32TargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<PPC32TargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<PPC32TargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<PPC32TargetInfo>(Triple); default: - return new PPC32TargetInfo(Triple, CGOpts); + return new PPC32TargetInfo(Triple); } case llvm::Triple::ppc64: if (Triple.isOSDarwin()) - return new DarwinPPC64TargetInfo(Triple, CGOpts); + return new DarwinPPC64TargetInfo(Triple); switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<PPC64TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<PPC64TargetInfo>(Triple); case llvm::Triple::Lv2: - return new PS3PPUTargetInfo<PPC64TargetInfo>(Triple, CGOpts); + return new PS3PPUTargetInfo<PPC64TargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<PPC64TargetInfo>(Triple); default: - return new PPC64TargetInfo(Triple, CGOpts); + return new PPC64TargetInfo(Triple); } case llvm::Triple::ppc64le: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<PPC64TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<PPC64TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<PPC64TargetInfo>(Triple); default: - return new PPC64TargetInfo(Triple, CGOpts); + return new PPC64TargetInfo(Triple); } case llvm::Triple::nvptx: - return new NVPTX32TargetInfo(Triple, CGOpts); + return new NVPTX32TargetInfo(Triple); case llvm::Triple::nvptx64: - return new NVPTX64TargetInfo(Triple, CGOpts); + return new NVPTX64TargetInfo(Triple); case llvm::Triple::amdgcn: case llvm::Triple::r600: - return new AMDGPUTargetInfo(Triple, CGOpts); + return new AMDGPUTargetInfo(Triple); case llvm::Triple::sparc: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<SparcV8TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<SparcV8TargetInfo>(Triple); case llvm::Triple::Solaris: - return new SolarisTargetInfo<SparcV8TargetInfo>(Triple, CGOpts); + return new SolarisTargetInfo<SparcV8TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<SparcV8TargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<SparcV8TargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<SparcV8TargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<SparcV8TargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<SparcV8TargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<SparcV8TargetInfo>(Triple); default: - return new SparcV8TargetInfo(Triple, CGOpts); + return new SparcV8TargetInfo(Triple); } // The 'sparcel' architecture copies all the above cases except for Solaris. case llvm::Triple::sparcel: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<SparcV8elTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<SparcV8elTargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<SparcV8elTargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<SparcV8elTargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<SparcV8elTargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<SparcV8elTargetInfo>(Triple); case llvm::Triple::RTEMS: - return new RTEMSTargetInfo<SparcV8elTargetInfo>(Triple, CGOpts); + return new RTEMSTargetInfo<SparcV8elTargetInfo>(Triple); default: - return new SparcV8elTargetInfo(Triple, CGOpts); + return new SparcV8elTargetInfo(Triple); } case llvm::Triple::sparcv9: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<SparcV9TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<SparcV9TargetInfo>(Triple); case llvm::Triple::Solaris: - return new SolarisTargetInfo<SparcV9TargetInfo>(Triple, CGOpts); + return new SolarisTargetInfo<SparcV9TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<SparcV9TargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<SparcV9TargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDTargetInfo<SparcV9TargetInfo>(Triple, CGOpts); + return new OpenBSDTargetInfo<SparcV9TargetInfo>(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<SparcV9TargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<SparcV9TargetInfo>(Triple); default: - return new SparcV9TargetInfo(Triple, CGOpts); + return new SparcV9TargetInfo(Triple); } case llvm::Triple::systemz: switch (os) { case llvm::Triple::Linux: - return new LinuxTargetInfo<SystemZTargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<SystemZTargetInfo>(Triple); default: - return new SystemZTargetInfo(Triple, CGOpts); + return new SystemZTargetInfo(Triple); } case llvm::Triple::tce: - return new TCETargetInfo(Triple, CGOpts); + return new TCETargetInfo(Triple); case llvm::Triple::x86: if (Triple.isOSDarwin()) - return new DarwinI386TargetInfo(Triple, CGOpts); + return new DarwinI386TargetInfo(Triple); switch (os) { case llvm::Triple::CloudABI: - return new CloudABITargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new CloudABITargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::Linux: { switch (Triple.getEnvironment()) { default: - return new LinuxTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::Android: - return new AndroidX86_32TargetInfo(Triple, CGOpts); + return new AndroidX86_32TargetInfo(Triple); } } case llvm::Triple::DragonFly: - return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDI386TargetInfo(Triple, CGOpts); + return new NetBSDI386TargetInfo(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDI386TargetInfo(Triple, CGOpts); + return new OpenBSDI386TargetInfo(Triple); case llvm::Triple::Bitrig: - return new BitrigI386TargetInfo(Triple, CGOpts); + return new BitrigI386TargetInfo(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::KFreeBSD: - return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::Minix: - return new MinixTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new MinixTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::Solaris: - return new SolarisTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new SolarisTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::Win32: { switch (Triple.getEnvironment()) { case llvm::Triple::Cygnus: - return new CygwinX86_32TargetInfo(Triple, CGOpts); + return new CygwinX86_32TargetInfo(Triple); case llvm::Triple::GNU: - return new MinGWX86_32TargetInfo(Triple, CGOpts); + return new MinGWX86_32TargetInfo(Triple); case llvm::Triple::Itanium: case llvm::Triple::MSVC: default: // Assume MSVC for unknown environments - return new MicrosoftX86_32TargetInfo(Triple, CGOpts); + return new MicrosoftX86_32TargetInfo(Triple); } } case llvm::Triple::Haiku: - return new HaikuX86_32TargetInfo(Triple, CGOpts); + return new HaikuX86_32TargetInfo(Triple); case llvm::Triple::RTEMS: - return new RTEMSX86_32TargetInfo(Triple, CGOpts); + return new RTEMSX86_32TargetInfo(Triple); case llvm::Triple::NaCl: - return new NaClTargetInfo<X86_32TargetInfo>(Triple, CGOpts); + return new NaClTargetInfo<X86_32TargetInfo>(Triple); case llvm::Triple::ELFIAMCU: - return new MCUX86_32TargetInfo(Triple, CGOpts); + return new MCUX86_32TargetInfo(Triple); default: - return new X86_32TargetInfo(Triple, CGOpts); + return new X86_32TargetInfo(Triple); } case llvm::Triple::x86_64: if (Triple.isOSDarwin() || Triple.isOSBinFormatMachO()) - return new DarwinX86_64TargetInfo(Triple, CGOpts); + return new DarwinX86_64TargetInfo(Triple); switch (os) { case llvm::Triple::CloudABI: - return new CloudABITargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new CloudABITargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::Linux: { switch (Triple.getEnvironment()) { default: - return new LinuxTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new LinuxTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::Android: - return new AndroidX86_64TargetInfo(Triple, CGOpts); + return new AndroidX86_64TargetInfo(Triple); } } case llvm::Triple::DragonFly: - return new DragonFlyBSDTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new DragonFlyBSDTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::NetBSD: - return new NetBSDTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new NetBSDTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::OpenBSD: - return new OpenBSDX86_64TargetInfo(Triple, CGOpts); + return new OpenBSDX86_64TargetInfo(Triple); case llvm::Triple::Bitrig: - return new BitrigX86_64TargetInfo(Triple, CGOpts); + return new BitrigX86_64TargetInfo(Triple); case llvm::Triple::FreeBSD: - return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::KFreeBSD: - return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::Solaris: - return new SolarisTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new SolarisTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::Win32: { switch (Triple.getEnvironment()) { case llvm::Triple::Cygnus: - return new CygwinX86_64TargetInfo(Triple, CGOpts); + return new CygwinX86_64TargetInfo(Triple); case llvm::Triple::GNU: - return new MinGWX86_64TargetInfo(Triple, CGOpts); + return new MinGWX86_64TargetInfo(Triple); case llvm::Triple::MSVC: default: // Assume MSVC for unknown environments - return new MicrosoftX86_64TargetInfo(Triple, CGOpts); + return new MicrosoftX86_64TargetInfo(Triple); } } case llvm::Triple::NaCl: - return new NaClTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new NaClTargetInfo<X86_64TargetInfo>(Triple); case llvm::Triple::PS4: - return new PS4OSTargetInfo<X86_64TargetInfo>(Triple, CGOpts); + return new PS4OSTargetInfo<X86_64TargetInfo>(Triple); default: - return new X86_64TargetInfo(Triple, CGOpts); + return new X86_64TargetInfo(Triple); } case llvm::Triple::spir: { if (Triple.getOS() != llvm::Triple::UnknownOS || Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) return nullptr; - return new SPIR32TargetInfo(Triple, CGOpts); + return new SPIR32TargetInfo(Triple); } case llvm::Triple::spir64: { if (Triple.getOS() != llvm::Triple::UnknownOS || Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) return nullptr; - return new SPIR64TargetInfo(Triple, CGOpts); + return new SPIR64TargetInfo(Triple); } case llvm::Triple::wasm32: if (!(Triple == llvm::Triple("wasm32-unknown-unknown"))) return nullptr; - return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple, CGOpts); + return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple); case llvm::Triple::wasm64: if (!(Triple == llvm::Triple("wasm64-unknown-unknown"))) return nullptr; - return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple, CGOpts); + return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple); } } @@ -8273,12 +8209,11 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple, /// options. TargetInfo * TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, - const std::shared_ptr<TargetOptions> &Opts, - const CodeGenOptions &CGOpts) { + const std::shared_ptr<TargetOptions> &Opts) { llvm::Triple Triple(Opts->Triple); // Construct the target - std::unique_ptr<TargetInfo> Target(AllocateTarget(Triple, CGOpts)); + std::unique_ptr<TargetInfo> Target(AllocateTarget(Triple)); if (!Target) { Diags.Report(diag::err_target_unknown_triple) << Triple.str(); return nullptr; diff --git a/lib/CodeGen/BackendUtil.cpp b/lib/CodeGen/BackendUtil.cpp index b7dcbefb99..47a34a21b8 100644 --- a/lib/CodeGen/BackendUtil.cpp +++ b/lib/CodeGen/BackendUtil.cpp @@ -8,10 +8,10 @@ //===----------------------------------------------------------------------===// #include "clang/CodeGen/BackendUtil.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/TargetOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Frontend/FrontendDiagnostic.h" #include "clang/Frontend/Utils.h" #include "llvm/ADT/StringExtras.h" @@ -22,10 +22,10 @@ #include "llvm/CodeGen/RegAllocRegistry.h" #include "llvm/CodeGen/SchedulerRegistry.h" #include "llvm/IR/DataLayout.h" +#include "llvm/IR/ModuleSummaryIndex.h" #include "llvm/IR/IRPrintingPasses.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/Module.h" -#include "llvm/IR/ModuleSummaryIndex.h" #include "llvm/IR/Verifier.h" #include "llvm/MC/SubtargetFeature.h" #include "llvm/Object/ModuleSummaryIndexObjectFile.h" diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 988f41ffe0..40f1bc426f 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -23,7 +23,7 @@ #include "clang/AST/Mangle.h" #include "clang/AST/RecordLayout.h" #include "clang/AST/StmtCXX.h" -#include "clang/Basic/CodeGenOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/StringExtras.h" using namespace clang; using namespace CodeGen; diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp index d0712e7d03..04c0a11600 100644 --- a/lib/CodeGen/CGCall.cpp +++ b/lib/CodeGen/CGCall.cpp @@ -23,18 +23,18 @@ #include "clang/AST/Decl.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/DeclObjC.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/TargetBuiltins.h" #include "clang/Basic/TargetInfo.h" #include "clang/CodeGen/CGFunctionInfo.h" #include "clang/CodeGen/SwiftCallingConv.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/StringExtras.h" #include "llvm/IR/Attributes.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/InlineAsm.h" -#include "llvm/IR/IntrinsicInst.h" #include "llvm/IR/Intrinsics.h" +#include "llvm/IR/IntrinsicInst.h" #include "llvm/Transforms/Utils/Local.h" using namespace clang; using namespace CodeGen; diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index eb2ecd34af..8a82be9e5f 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -21,9 +21,9 @@ #include "clang/AST/EvaluatedExprVisitor.h" #include "clang/AST/RecordLayout.h" #include "clang/AST/StmtCXX.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/TargetBuiltins.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/IR/Intrinsics.h" #include "llvm/IR/Metadata.h" #include "llvm/Transforms/Utils/SanitizerStats.h" diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index e158d2110f..7fc41d5937 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -23,10 +23,10 @@ #include "clang/AST/DeclTemplate.h" #include "clang/AST/Expr.h" #include "clang/AST/RecordLayout.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/Version.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Lex/HeaderSearchOptions.h" #include "clang/Lex/ModuleMap.h" #include "clang/Lex/PreprocessorOptions.h" diff --git a/lib/CodeGen/CGDebugInfo.h b/lib/CodeGen/CGDebugInfo.h index 356850b560..1ba3ad8a88 100644 --- a/lib/CodeGen/CGDebugInfo.h +++ b/lib/CodeGen/CGDebugInfo.h @@ -18,8 +18,8 @@ #include "clang/AST/Expr.h" #include "clang/AST/ExternalASTSource.h" #include "clang/AST/Type.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/SourceLocation.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/Optional.h" #include "llvm/IR/DIBuilder.h" diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index 0bef4385e1..c39b980ef2 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/lib/CodeGen/CGDecl.cpp @@ -23,10 +23,10 @@ #include "clang/AST/Decl.h" #include "clang/AST/DeclObjC.h" #include "clang/AST/DeclOpenMP.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/Intrinsics.h" diff --git a/lib/CodeGen/CGDeclCXX.cpp b/lib/CodeGen/CGDeclCXX.cpp index 40d0c4bd15..3dc02dd25b 100644 --- a/lib/CodeGen/CGDeclCXX.cpp +++ b/lib/CodeGen/CGDeclCXX.cpp @@ -15,7 +15,7 @@ #include "CGCXXABI.h" #include "CGObjCRuntime.h" #include "CGOpenMPRuntime.h" -#include "clang/Basic/CodeGenOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/StringExtras.h" #include "llvm/IR/Intrinsics.h" #include "llvm/Support/Path.h" diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index eed43f7743..1b99f100de 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -23,7 +23,7 @@ #include "clang/AST/ASTContext.h" #include "clang/AST/Attr.h" #include "clang/AST/DeclObjC.h" -#include "clang/Basic/CodeGenOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/Hashing.h" #include "llvm/ADT/StringExtras.h" #include "llvm/IR/DataLayout.h" diff --git a/lib/CodeGen/CGExprCXX.cpp b/lib/CodeGen/CGExprCXX.cpp index 41c278b46e..64ed42b18d 100644 --- a/lib/CodeGen/CGExprCXX.cpp +++ b/lib/CodeGen/CGExprCXX.cpp @@ -16,8 +16,8 @@ #include "CGCXXABI.h" #include "CGDebugInfo.h" #include "CGObjCRuntime.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/Intrinsics.h" diff --git a/lib/CodeGen/CGExprScalar.cpp b/lib/CodeGen/CGExprScalar.cpp index fe88060f91..76bfc57cee 100644 --- a/lib/CodeGen/CGExprScalar.cpp +++ b/lib/CodeGen/CGExprScalar.cpp @@ -21,8 +21,8 @@ #include "clang/AST/DeclObjC.h" #include "clang/AST/RecordLayout.h" #include "clang/AST/StmtVisitor.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/TargetInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/IR/CFG.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index 9746e7759d..3985201cc5 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -22,9 +22,9 @@ #include "clang/AST/DeclObjC.h" #include "clang/AST/RecordLayout.h" #include "clang/AST/StmtObjC.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/LangOptions.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/SetVector.h" #include "llvm/ADT/SmallPtrSet.h" diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp index c3eb7a21e0..7d530a278f 100644 --- a/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -20,14 +20,13 @@ #include "clang/AST/DeclCXX.h" #include "clang/AST/Expr.h" #include "clang/AST/RecordLayout.h" -#include "clang/Basic/CodeGenOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Type.h" #include "llvm/Support/Debug.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/raw_ostream.h" - using namespace clang; using namespace CodeGen; diff --git a/lib/CodeGen/CGVTables.cpp b/lib/CodeGen/CGVTables.cpp index 38ebe4c0dc..f139e2c850 100644 --- a/lib/CodeGen/CGVTables.cpp +++ b/lib/CodeGen/CGVTables.cpp @@ -16,14 +16,13 @@ #include "CodeGenModule.h" #include "clang/AST/CXXInheritance.h" #include "clang/AST/RecordLayout.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/SetVector.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/Format.h" #include "llvm/Transforms/Utils/Cloning.h" - #include <algorithm> #include <cstdio> diff --git a/lib/CodeGen/CodeGenABITypes.cpp b/lib/CodeGen/CodeGenABITypes.cpp index 9da0295171..16a7db47c8 100644 --- a/lib/CodeGen/CodeGenABITypes.cpp +++ b/lib/CodeGen/CodeGenABITypes.cpp @@ -18,8 +18,8 @@ #include "clang/CodeGen/CodeGenABITypes.h" #include "CodeGenModule.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Lex/HeaderSearchOptions.h" #include "clang/Lex/PreprocessorOptions.h" diff --git a/lib/CodeGen/CodeGenFunction.cpp b/lib/CodeGen/CodeGenFunction.cpp index 23b0be181d..6b135a917b 100644 --- a/lib/CodeGen/CodeGenFunction.cpp +++ b/lib/CodeGen/CodeGenFunction.cpp @@ -13,9 +13,9 @@ #include "CodeGenFunction.h" #include "CGBlocks.h" +#include "CGCleanup.h" #include "CGCUDARuntime.h" #include "CGCXXABI.h" -#include "CGCleanup.h" #include "CGDebugInfo.h" #include "CGOpenMPRuntime.h" #include "CodeGenModule.h" @@ -26,15 +26,14 @@ #include "clang/AST/DeclCXX.h" #include "clang/AST/StmtCXX.h" #include "clang/Basic/Builtins.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/TargetInfo.h" #include "clang/CodeGen/CGFunctionInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Sema/SemaDiagnostic.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/Intrinsics.h" #include "llvm/IR/MDBuilder.h" #include "llvm/IR/Operator.h" - using namespace clang; using namespace CodeGen; diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index d1e6475b59..28754c306b 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -28,9 +28,9 @@ #include "clang/AST/Type.h" #include "clang/Basic/ABI.h" #include "clang/Basic/CapturedStmt.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/OpenMPKinds.h" #include "clang/Basic/TargetInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index efafa5d095..7e522f2413 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -36,12 +36,12 @@ #include "clang/AST/RecursiveASTVisitor.h" #include "clang/Basic/Builtins.h" #include "clang/Basic/CharInfo.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/Module.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "clang/Basic/Version.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Sema/SemaDiagnostic.h" #include "llvm/ADT/APSInt.h" #include "llvm/ADT/Triple.h" diff --git a/lib/CodeGen/CodeGenPGO.h b/lib/CodeGen/CodeGenPGO.h index 17312f419c..ccda5759e6 100644 --- a/lib/CodeGen/CodeGenPGO.h +++ b/lib/CodeGen/CodeGenPGO.h @@ -17,11 +17,10 @@ #include "CGBuilder.h" #include "CodeGenModule.h" #include "CodeGenTypes.h" -#include "clang/Basic/CodeGenOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/StringMap.h" #include "llvm/ProfileData/InstrProfReader.h" #include "llvm/Support/MemoryBuffer.h" - #include <array> #include <memory> diff --git a/lib/CodeGen/CodeGenTBAA.cpp b/lib/CodeGen/CodeGenTBAA.cpp index 03cfd8fb02..04224e7267 100644 --- a/lib/CodeGen/CodeGenTBAA.cpp +++ b/lib/CodeGen/CodeGenTBAA.cpp @@ -20,13 +20,12 @@ #include "clang/AST/Attr.h" #include "clang/AST/Mangle.h" #include "clang/AST/RecordLayout.h" -#include "clang/Basic/CodeGenOptions.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/SmallSet.h" #include "llvm/IR/Constants.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Metadata.h" #include "llvm/IR/Type.h" - using namespace clang; using namespace CodeGen; diff --git a/lib/CodeGen/CoverageMappingGen.h b/lib/CodeGen/CoverageMappingGen.h index b63e53894a..c202fe8993 100644 --- a/lib/CodeGen/CoverageMappingGen.h +++ b/lib/CodeGen/CoverageMappingGen.h @@ -14,9 +14,9 @@ #ifndef LLVM_CLANG_LIB_CODEGEN_COVERAGEMAPPINGGEN_H #define LLVM_CLANG_LIB_CODEGEN_COVERAGEMAPPINGGEN_H -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/LLVM.h" #include "clang/Basic/SourceLocation.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Lex/PPCallbacks.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/StringMap.h" diff --git a/lib/CodeGen/ModuleBuilder.cpp b/lib/CodeGen/ModuleBuilder.cpp index 4459165194..5b7201e12d 100644 --- a/lib/CodeGen/ModuleBuilder.cpp +++ b/lib/CodeGen/ModuleBuilder.cpp @@ -17,16 +17,14 @@ #include "clang/AST/ASTContext.h" #include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/TargetInfo.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/StringRef.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" - #include <memory> - using namespace clang; namespace { diff --git a/lib/CodeGen/ObjectFilePCHContainerOperations.cpp b/lib/CodeGen/ObjectFilePCHContainerOperations.cpp index 4b1d46b871..d609cf2648 100644 --- a/lib/CodeGen/ObjectFilePCHContainerOperations.cpp +++ b/lib/CodeGen/ObjectFilePCHContainerOperations.cpp @@ -14,10 +14,10 @@ #include "clang/AST/DeclObjC.h" #include "clang/AST/Expr.h" #include "clang/AST/RecursiveASTVisitor.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/TargetInfo.h" #include "clang/CodeGen/BackendUtil.h" +#include "clang/Frontend/CodeGenOptions.h" #include "clang/Frontend/CompilerInstance.h" #include "clang/Lex/HeaderSearch.h" #include "clang/Lex/Preprocessor.h" @@ -33,7 +33,6 @@ #include "llvm/Object/ObjectFile.h" #include "llvm/Support/Path.h" #include "llvm/Support/TargetRegistry.h" - #include <memory> using namespace clang; diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index c341cbbf61..6e0e962e94 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -18,16 +18,15 @@ #include "CGValue.h" #include "CodeGenFunction.h" #include "clang/AST/RecordLayout.h" -#include "clang/Basic/CodeGenOptions.h" #include "clang/CodeGen/CGFunctionInfo.h" #include "clang/CodeGen/SwiftCallingConv.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Triple.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/Type.h" #include "llvm/Support/raw_ostream.h" - -#include <algorithm> // std::sort +#include <algorithm> // std::sort using namespace clang; using namespace CodeGen; diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index c7f6365256..61e80d5d72 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -1058,8 +1058,7 @@ bool ASTUnit::Parse(std::shared_ptr<PCHContainerOperations> PCHContainerOps, // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, - Clang->getInvocation().getCodeGenOpts())); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); if (!Clang->hasTarget()) return true; @@ -1519,8 +1518,7 @@ ASTUnit::getMainBufferWithPrecompiledPreamble( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, - Clang->getInvocation().getCodeGenOpts())); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); if (!Clang->hasTarget()) { llvm::sys::fs::remove(FrontendOpts.OutputFile); Preamble.clear(); @@ -1783,8 +1781,7 @@ ASTUnit *ASTUnit::LoadFromCompilerInvocationAction( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, - Clang->getInvocation().getCodeGenOpts())); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); if (!Clang->hasTarget()) return nullptr; @@ -2367,8 +2364,7 @@ void ASTUnit::CodeComplete( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, - Clang->getInvocation().getCodeGenOpts())); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); if (!Clang->hasTarget()) { Clang->setInvocation(nullptr); return; diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt index d6b94d3b0e..5c19cea028 100644 --- a/lib/Frontend/CMakeLists.txt +++ b/lib/Frontend/CMakeLists.txt @@ -14,6 +14,7 @@ add_clang_library(clangFrontend CacheTokens.cpp ChainedDiagnosticConsumer.cpp ChainedIncludesSource.cpp + CodeGenOptions.cpp CompilerInstance.cpp CompilerInvocation.cpp CreateInvocationFromCommandLine.cpp diff --git a/lib/Frontend/ChainedIncludesSource.cpp b/lib/Frontend/ChainedIncludesSource.cpp index 3707976a21..1c1081fbe0 100644 --- a/lib/Frontend/ChainedIncludesSource.cpp +++ b/lib/Frontend/ChainedIncludesSource.cpp @@ -152,8 +152,7 @@ IntrusiveRefCntPtr<ExternalSemaSource> clang::createChainedIncludesSource( Clang->setInvocation(CInvok.release()); Clang->setDiagnostics(Diags.get()); Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, - Clang->getCodeGenOpts())); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); Clang->createFileManager(); Clang->createSourceManager(Clang->getFileManager()); Clang->createPreprocessor(TU_Prefix); diff --git a/lib/Basic/CodeGenOptions.cpp b/lib/Frontend/CodeGenOptions.cpp index dde645d311..50bb9f951b 100644 --- a/lib/Basic/CodeGenOptions.cpp +++ b/lib/Frontend/CodeGenOptions.cpp @@ -7,8 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "clang/Basic/CodeGenOptions.h" - +#include "clang/Frontend/CodeGenOptions.h" #include <string.h> namespace clang { @@ -16,7 +15,7 @@ namespace clang { CodeGenOptions::CodeGenOptions() { #define CODEGENOPT(Name, Bits, Default) Name = Default; #define ENUM_CODEGENOPT(Name, Type, Bits, Default) set##Name(Default); -#include "clang/Basic/CodeGenOptions.def" +#include "clang/Frontend/CodeGenOptions.def" RelocationModel = "pic"; memcpy(CoverageVersion, "402*", 4); diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 76f2f9bc6b..cac73befff 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -830,8 +830,7 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) { // Create the target instance. setTarget(TargetInfo::CreateTargetInfo(getDiagnostics(), - getInvocation().TargetOpts, - getInvocation().getCodeGenOpts())); + getInvocation().TargetOpts)); if (!hasTarget()) return false; @@ -839,8 +838,7 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) { if (getLangOpts().CUDA && !getFrontendOpts().AuxTriple.empty()) { std::shared_ptr<TargetOptions> TO(new TargetOptions); TO->Triple = getFrontendOpts().AuxTriple; - setAuxTarget(TargetInfo::CreateTargetInfo(getDiagnostics(), TO, - getInvocation().getCodeGenOpts())); + setAuxTarget(TargetInfo::CreateTargetInfo(getDiagnostics(), TO)); } // Inform the target of the language options. |