Skip to content

Commit 3fc9805

Browse files
authored
Merge pull request #8777 from cachemeifyoucan/eng/PR-125874272
[6.0][Darwin][IR] Don't error on target_variant mismatch when linking IR
2 parents 04fb099 + 874783b commit 3fc9805

File tree

5 files changed

+46
-4
lines changed

5 files changed

+46
-4
lines changed

clang/test/CodeGen/darwin-target-variant.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
// CHECK: !llvm.module.flags = !{!0, !1, !2
44
// CHECK: !0 = !{i32 2, !"SDK Version", [2 x i32] [i32 11, i32 1]}
5-
// CHECK: !1 = !{i32 4, !"darwin.target_variant.triple", !"x86_64-apple-ios14-macabi"}
5+
// CHECK: !1 = !{i32 2, !"darwin.target_variant.triple", !"x86_64-apple-ios14-macabi"}
66
// CHECK: !2 = !{i32 2, !"darwin.target_variant.SDK Version", [2 x i32] [i32 14, i32 1]}

llvm/lib/IR/Module.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,7 @@ StringRef Module::getDarwinTargetVariantTriple() const {
938938
}
939939

940940
void Module::setDarwinTargetVariantTriple(StringRef T) {
941-
addModuleFlag(ModFlagBehavior::Override, "darwin.target_variant.triple",
941+
addModuleFlag(ModFlagBehavior::Warning, "darwin.target_variant.triple",
942942
MDString::get(getContext(), T));
943943
}
944944

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
; RUN: rm -rf %t && split-file %s %t
2+
; RUN: llvm-link %t/1.ll %t/2.ll -S -o - | FileCheck %s
3+
; CHECK: {i32 2, !"darwin.target_variant.triple", !"x86_64-apple-ios13.1-macabi"}
4+
5+
; RUN: llvm-link %t/1.ll %t/old.ll -S -o - | FileCheck %s -check-prefix OLD
6+
; OLD: {i32 4, !"darwin.target_variant.triple", !"x86_64-apple-ios14.0-macabi"}
7+
8+
;--- 1.ll
9+
target triple = "x86_64-apple-macos10.15";
10+
!llvm.module.flags = !{!0, !1, !2};
11+
!0 = !{i32 2, !"SDK Version", [3 x i32] [ i32 10, i32 15, i32 1 ] };
12+
!1 = !{i32 2, !"darwin.target_variant.triple", !"x86_64-apple-ios13.1-macabi"};
13+
!2 = !{i32 2, !"darwin.target_variant.SDK Version", [2 x i32] [ i32 13, i32 2 ] };
14+
15+
define void @foo() {
16+
entry:
17+
ret void
18+
}
19+
20+
;--- 2.ll
21+
target triple = "x86_64-apple-macos10.15";
22+
!llvm.module.flags = !{!0, !1, !2};
23+
!0 = !{i32 2, !"SDK Version", [3 x i32] [ i32 10, i32 15, i32 1 ] };
24+
!1 = !{i32 2, !"darwin.target_variant.triple", !"x86_64-apple-ios14.0-macabi"};
25+
!2 = !{i32 2, !"darwin.target_variant.SDK Version", [2 x i32] [ i32 13, i32 2 ] };
26+
27+
define void @bar() {
28+
entry:
29+
ret void
30+
}
31+
32+
;--- old.ll
33+
target triple = "x86_64-apple-macos10.15";
34+
!llvm.module.flags = !{!0, !1, !2};
35+
!0 = !{i32 2, !"SDK Version", [3 x i32] [ i32 10, i32 15, i32 1 ] };
36+
!1 = !{i32 4, !"darwin.target_variant.triple", !"x86_64-apple-ios14.0-macabi"};
37+
!2 = !{i32 2, !"darwin.target_variant.SDK Version", [2 x i32] [ i32 13, i32 2 ] };
38+
39+
define void @old() {
40+
entry:
41+
ret void
42+
}

llvm/test/MC/MachO/darwin-target-variant-reverse.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
target triple = "x86_64-apple-ios13.1-macabi";
44
!llvm.module.flags = !{!0, !1, !2};
55
!0 = !{i32 2, !"SDK Version", [2 x i32] [ i32 13, i32 1 ] };
6-
!1 = !{i32 1, !"darwin.target_variant.triple", !"x86_64-apple-macos10.15"};
6+
!1 = !{i32 2, !"darwin.target_variant.triple", !"x86_64-apple-macos10.15"};
77
!2 = !{i32 2, !"darwin.target_variant.SDK Version", [2 x i32] [ i32 10, i32 15 ] };
88

99
define void @foo() {

llvm/test/MC/MachO/darwin-target-variant.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
target triple = "x86_64-apple-macos10.15";
55
!llvm.module.flags = !{!0, !1, !2};
66
!0 = !{i32 2, !"SDK Version", [3 x i32] [ i32 10, i32 15, i32 1 ] };
7-
!1 = !{i32 1, !"darwin.target_variant.triple", !"x86_64-apple-ios13.1-macabi"};
7+
!1 = !{i32 2, !"darwin.target_variant.triple", !"x86_64-apple-ios13.1-macabi"};
88
!2 = !{i32 2, !"darwin.target_variant.SDK Version", [2 x i32] [ i32 13, i32 2 ] };
99

1010
define void @foo() {

0 commit comments

Comments
 (0)