File tree Expand file tree Collapse file tree 4 files changed +28
-0
lines changed Expand file tree Collapse file tree 4 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -119,6 +119,8 @@ createTargetCodeGenInfo(CodeGenModule &CGM) {
119
119
case llvm::Triple::mipsel:
120
120
if (Triple.getOS () == llvm::Triple::NaCl)
121
121
return createPNaClTargetCodeGenInfo (CGM);
122
+ else if (Triple.getOS () == llvm::Triple::Win32)
123
+ return createWindowsMIPSTargetCodeGenInfo (CGM, /* IsOS32=*/ true );
122
124
return createMIPSTargetCodeGenInfo (CGM, /* IsOS32=*/ true );
123
125
124
126
case llvm::Triple::mips64:
Original file line number Diff line number Diff line change @@ -522,6 +522,9 @@ createM68kTargetCodeGenInfo(CodeGenModule &CGM);
522
522
std::unique_ptr<TargetCodeGenInfo>
523
523
createMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32);
524
524
525
+ std::unique_ptr<TargetCodeGenInfo>
526
+ createWindowsMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32);
527
+
525
528
std::unique_ptr<TargetCodeGenInfo>
526
529
createMSP430TargetCodeGenInfo (CodeGenModule &CGM);
527
530
Original file line number Diff line number Diff line change @@ -105,6 +105,23 @@ class MIPSTargetCodeGenInfo : public TargetCodeGenInfo {
105
105
return SizeOfUnwindException;
106
106
}
107
107
};
108
+
109
+ class WindowsMIPSTargetCodeGenInfo : public MIPSTargetCodeGenInfo {
110
+ public:
111
+ WindowsMIPSTargetCodeGenInfo (CodeGenTypes &CGT, bool IsO32)
112
+ : MIPSTargetCodeGenInfo(CGT, IsO32) {}
113
+
114
+ void getDependentLibraryOption (llvm::StringRef Lib,
115
+ llvm::SmallString<24 > &Opt) const override {
116
+ Opt = " /DEFAULTLIB:" ;
117
+ Opt += qualifyWindowsLibrary (Lib);
118
+ }
119
+
120
+ void getDetectMismatchOption (llvm::StringRef Name, llvm::StringRef Value,
121
+ llvm::SmallString<32 > &Opt) const override {
122
+ Opt = " /FAILIFMISMATCH:\" " + Name.str () + " =" + Value.str () + " \" " ;
123
+ }
124
+ };
108
125
}
109
126
110
127
void MipsABIInfo::CoerceToIntArgs (
@@ -436,3 +453,8 @@ std::unique_ptr<TargetCodeGenInfo>
436
453
CodeGen::createMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32) {
437
454
return std::make_unique<MIPSTargetCodeGenInfo>(CGM.getTypes (), IsOS32);
438
455
}
456
+
457
+ std::unique_ptr<TargetCodeGenInfo>
458
+ CodeGen::createWindowsMIPSTargetCodeGenInfo (CodeGenModule &CGM, bool IsOS32) {
459
+ return std::make_unique<WindowsMIPSTargetCodeGenInfo>(CGM.getTypes (), IsOS32);
460
+ }
Original file line number Diff line number Diff line change 6
6
// RUN: %clang_cc1 %s -triple x86_64-scei-ps4 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
7
7
// RUN: %clang_cc1 %s -triple x86_64-sie-ps5 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix ELF %s --implicit-check-not llvm.linker.options
8
8
// RUN: %clang_cc1 %s -triple aarch64-windows-msvc -fms-extensions -emit-llvm -o - | FileCheck %s
9
+ // RUN: %clang_cc1 %s -triple mipsel-windows-msvc -fms-extensions -emit-llvm -o - | FileCheck %s
9
10
10
11
#pragma comment(lib, "msvcrt.lib")
11
12
#pragma comment(lib, "kernel32")
You can’t perform that action at this time.
0 commit comments