Skip to content

Commit 967ab32

Browse files
SC llvm teamSC llvm team
SC llvm team
authored and
SC llvm team
committed
Merged main:90c397fc56b7a04dd53cdad8103de1ead9686104 into amd-gfx:cf37bdb63d3c
Local branch amd-gfx cf37bdb Merged main:a384cd5012b857f2464fff21c39d032632af1515 into amd-gfx:5aaffd43ea2e Remote branch main 90c397f [AArch64] Add icmp and fcmp tests for GlobalISel. NFC
2 parents cf37bdb + 90c397f commit 967ab32

File tree

68 files changed

+2943
-308
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+2943
-308
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@
8282
/mlir/**/*EmulateNarrowType* @hanhanW
8383
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
8484

85+
# Presburger library in MLIR
86+
/mlir/**/*Presburger* @Groverkss @Superty
87+
8588
# Tensor Dialect in MLIR.
8689
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW @nicolasvasilache
8790
/mlir/lib/Dialect/Tensor/Transforms/FoldIntoPackAndUnpackPatterns.cpp @hanhanW @nicolasvasilache

clang/lib/Driver/ToolChains/Darwin.cpp

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -758,9 +758,14 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA,
758758
}
759759
}
760760

761-
// Add non-standard, platform-specific search paths, e.g., for DriverKit:
762-
// -L<sysroot>/System/DriverKit/usr/lib
763-
// -F<sysroot>/System/DriverKit/System/Library/Framework
761+
// Add framework include paths and library search paths.
762+
// There are two flavors:
763+
// 1. The "non-standard" paths, e.g. for DriverKit:
764+
// -L<sysroot>/System/DriverKit/usr/lib
765+
// -F<sysroot>/System/DriverKit/System/Library/Frameworks
766+
// 2. The "standard" paths, e.g. for macOS and iOS:
767+
// -F<sysroot>/System/Library/Frameworks
768+
// -F<sysroot>/Library/Frameworks
764769
{
765770
bool NonStandardSearchPath = false;
766771
const auto &Triple = getToolChain().getTriple();
@@ -771,18 +776,22 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA,
771776
(Version.getMajor() == 605 && Version.getMinor().value_or(0) < 1);
772777
}
773778

774-
if (NonStandardSearchPath) {
775-
if (auto *Sysroot = Args.getLastArg(options::OPT_isysroot)) {
776-
auto AddSearchPath = [&](StringRef Flag, StringRef SearchPath) {
777-
SmallString<128> P(Sysroot->getValue());
778-
AppendPlatformPrefix(P, Triple);
779-
llvm::sys::path::append(P, SearchPath);
780-
if (getToolChain().getVFS().exists(P)) {
781-
CmdArgs.push_back(Args.MakeArgString(Flag + P));
782-
}
783-
};
779+
if (auto *Sysroot = Args.getLastArg(options::OPT_isysroot)) {
780+
auto AddSearchPath = [&](StringRef Flag, StringRef SearchPath) {
781+
SmallString<128> P(Sysroot->getValue());
782+
AppendPlatformPrefix(P, Triple);
783+
llvm::sys::path::append(P, SearchPath);
784+
if (getToolChain().getVFS().exists(P)) {
785+
CmdArgs.push_back(Args.MakeArgString(Flag + P));
786+
}
787+
};
788+
789+
if (NonStandardSearchPath) {
784790
AddSearchPath("-L", "/usr/lib");
785791
AddSearchPath("-F", "/System/Library/Frameworks");
792+
} else if (!Triple.isDriverKit()) {
793+
AddSearchPath("-F", "/System/Library/Frameworks");
794+
AddSearchPath("-F", "/Library/Frameworks");
786795
}
787796
}
788797
}

clang/lib/Lex/InitHeaderSearch.cpp

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ bool InitHeaderSearch::ShouldAddDefaultIncludePaths(
324324
break;
325325
}
326326

327+
if (triple.isOSDarwin())
328+
return false;
329+
327330
return true; // Everything else uses AddDefaultIncludePaths().
328331
}
329332

@@ -338,21 +341,6 @@ void InitHeaderSearch::AddDefaultIncludePaths(
338341
if (!ShouldAddDefaultIncludePaths(triple))
339342
return;
340343

341-
// NOTE: some additional header search logic is handled in the driver for
342-
// Darwin.
343-
if (triple.isOSDarwin()) {
344-
if (HSOpts.UseStandardSystemIncludes) {
345-
// Add the default framework include paths on Darwin.
346-
if (triple.isDriverKit()) {
347-
AddPath("/System/DriverKit/System/Library/Frameworks", System, true);
348-
} else {
349-
AddPath("/System/Library/Frameworks", System, true);
350-
AddPath("/Library/Frameworks", System, true);
351-
}
352-
}
353-
return;
354-
}
355-
356344
if (Lang.CPlusPlus && !Lang.AsmPreprocessor &&
357345
HSOpts.UseStandardCXXIncludes && HSOpts.UseStandardSystemIncludes) {
358346
if (HSOpts.UseLibcxx) {

clang/test/CodeGen/X86/ms-x86-intrinsics.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ unsigned __int64 test__shiftleft128(unsigned __int64 l, unsigned __int64 h,
145145
unsigned char d) {
146146
return __shiftleft128(l, h, d);
147147
}
148-
// CHECK-X64-LABEL: define dso_local i64 @test__shiftleft128(i64 noundef %l, i64 noundef %h, i8 noundef %d)
148+
// CHECK-X64-LABEL: define dso_local noundef i64 @test__shiftleft128(i64 noundef %l, i64 noundef %h, i8 noundef %d)
149149
// CHECK-X64: = zext i8 %{{.*}} to i64
150150
// CHECK-X64: = tail call i64 @llvm.fshl.i64(i64 %h, i64 %l, i64 %{{.*}})
151151
// CHECK-X64: ret i64 %
@@ -154,7 +154,7 @@ unsigned __int64 test__shiftright128(unsigned __int64 l, unsigned __int64 h,
154154
unsigned char d) {
155155
return __shiftright128(l, h, d);
156156
}
157-
// CHECK-X64-LABEL: define dso_local i64 @test__shiftright128(i64 noundef %l, i64 noundef %h, i8 noundef %d)
157+
// CHECK-X64-LABEL: define dso_local noundef i64 @test__shiftright128(i64 noundef %l, i64 noundef %h, i8 noundef %d)
158158
// CHECK-X64: = zext i8 %{{.*}} to i64
159159
// CHECK-X64: = tail call i64 @llvm.fshr.i64(i64 %h, i64 %l, i64 %{{.*}})
160160
// CHECK-X64: ret i64 %

clang/test/CodeGen/arm-bf16-params-returns.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
__bf16 test_ret_bf16(__bf16 v) {
1212
return v;
1313
}
14-
// CHECK32-HARD: define{{.*}} arm_aapcs_vfpcc bfloat @test_ret_bf16(bfloat noundef returned %v) {{.*}} {
14+
// CHECK32-HARD: define{{.*}} arm_aapcs_vfpcc noundef bfloat @test_ret_bf16(bfloat noundef returned %v) {{.*}} {
1515
// CHECK32-HARD: ret bfloat %v
1616
// CHECK32-SOFTFP: define{{.*}} bfloat @test_ret_bf16(bfloat noundef returned %v) {{.*}} {
1717
// CHECK32-SOFTFP: ret bfloat %v
@@ -23,11 +23,11 @@ __bf16 test_ret_bf16(__bf16 v) {
2323
bfloat16x4_t test_ret_bf16x4_t(bfloat16x4_t v) {
2424
return v;
2525
}
26-
// CHECK32-HARD: define{{.*}} arm_aapcs_vfpcc <4 x bfloat> @test_ret_bf16x4_t(<4 x bfloat> noundef returned %v) {{.*}} {
26+
// CHECK32-HARD: define{{.*}} arm_aapcs_vfpcc noundef <4 x bfloat> @test_ret_bf16x4_t(<4 x bfloat> noundef returned %v) {{.*}} {
2727
// CHECK32-HARD: ret <4 x bfloat> %v
28-
// CHECK32-SOFTFP: define{{.*}} <2 x i32> @test_ret_bf16x4_t(<2 x i32> [[V0:.*]]) {{.*}} {
28+
// CHECK32-SOFTFP: define{{.*}} noundef <2 x i32> @test_ret_bf16x4_t(<2 x i32> [[V0:.*]]) {{.*}} {
2929
// CHECK32-SOFTFP: ret <2 x i32> %v
30-
// CHECK64NEON: define{{.*}} <4 x bfloat> @test_ret_bf16x4_t(<4 x bfloat> noundef returned %v) {{.*}} {
30+
// CHECK64NEON: define{{.*}} noundef <4 x bfloat> @test_ret_bf16x4_t(<4 x bfloat> noundef returned %v) {{.*}} {
3131
// CHECK64NEON: ret <4 x bfloat> %v
3232

3333
#endif

clang/test/CodeGen/arm-vector_type-params-returns.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#endif
2828

2929
// function return types
30-
// CHECK-LABEL: define dso_local <8 x half> @test_ret_v8f16(
30+
// CHECK-LABEL: define dso_local noundef <8 x half> @test_ret_v8f16(
3131
// CHECK-SAME: <8 x half> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
3232
// CHECK-NEXT: entry:
3333
// CHECK-NEXT: ret <8 x half> [[V]]
@@ -36,7 +36,7 @@ float16x8_t test_ret_v8f16(float16x8_t v) {
3636
return v;
3737
}
3838

39-
// CHECK-LABEL: define dso_local <4 x float> @test_ret_v4f32(
39+
// CHECK-LABEL: define dso_local noundef <4 x float> @test_ret_v4f32(
4040
// CHECK-SAME: <4 x float> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
4141
// CHECK-NEXT: entry:
4242
// CHECK-NEXT: ret <4 x float> [[V]]
@@ -45,7 +45,7 @@ float32x4_t test_ret_v4f32(float32x4_t v) {
4545
return v;
4646
}
4747

48-
// CHECK-LABEL: define dso_local <2 x double> @test_ret_v2f64(
48+
// CHECK-LABEL: define dso_local noundef <2 x double> @test_ret_v2f64(
4949
// CHECK-SAME: <2 x double> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
5050
// CHECK-NEXT: entry:
5151
// CHECK-NEXT: ret <2 x double> [[V]]
@@ -54,7 +54,7 @@ float64x2_t test_ret_v2f64(float64x2_t v) {
5454
return v;
5555
}
5656

57-
// CHECK-LABEL: define dso_local <8 x bfloat> @test_ret_v8bf16(
57+
// CHECK-LABEL: define dso_local noundef <8 x bfloat> @test_ret_v8bf16(
5858
// CHECK-SAME: <8 x bfloat> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
5959
// CHECK-NEXT: entry:
6060
// CHECK-NEXT: ret <8 x bfloat> [[V]]
@@ -63,7 +63,7 @@ bfloat16x8_t test_ret_v8bf16(bfloat16x8_t v) {
6363
return v;
6464
}
6565

66-
// CHECK-LABEL: define dso_local <16 x i8> @test_ret_v16s8(
66+
// CHECK-LABEL: define dso_local noundef <16 x i8> @test_ret_v16s8(
6767
// CHECK-SAME: <16 x i8> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
6868
// CHECK-NEXT: entry:
6969
// CHECK-NEXT: ret <16 x i8> [[V]]
@@ -72,7 +72,7 @@ int8x16_t test_ret_v16s8(int8x16_t v) {
7272
return v;
7373
}
7474

75-
// CHECK-LABEL: define dso_local <8 x i16> @test_ret_v8s16(
75+
// CHECK-LABEL: define dso_local noundef <8 x i16> @test_ret_v8s16(
7676
// CHECK-SAME: <8 x i16> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
7777
// CHECK-NEXT: entry:
7878
// CHECK-NEXT: ret <8 x i16> [[V]]
@@ -81,7 +81,7 @@ int16x8_t test_ret_v8s16(int16x8_t v) {
8181
return v;
8282
}
8383

84-
// CHECK-LABEL: define dso_local <4 x i32> @test_ret_v32s4(
84+
// CHECK-LABEL: define dso_local noundef <4 x i32> @test_ret_v32s4(
8585
// CHECK-SAME: <4 x i32> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
8686
// CHECK-NEXT: entry:
8787
// CHECK-NEXT: ret <4 x i32> [[V]]
@@ -90,7 +90,7 @@ int32x4_t test_ret_v32s4(int32x4_t v) {
9090
return v;
9191
}
9292

93-
// CHECK-LABEL: define dso_local <2 x i64> @test_ret_v64s2(
93+
// CHECK-LABEL: define dso_local noundef <2 x i64> @test_ret_v64s2(
9494
// CHECK-SAME: <2 x i64> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
9595
// CHECK-NEXT: entry:
9696
// CHECK-NEXT: ret <2 x i64> [[V]]
@@ -99,7 +99,7 @@ int64x2_t test_ret_v64s2(int64x2_t v) {
9999
return v;
100100
}
101101

102-
// CHECK-LABEL: define dso_local <16 x i8> @test_ret_v16u8(
102+
// CHECK-LABEL: define dso_local noundef <16 x i8> @test_ret_v16u8(
103103
// CHECK-SAME: <16 x i8> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
104104
// CHECK-NEXT: entry:
105105
// CHECK-NEXT: ret <16 x i8> [[V]]
@@ -108,7 +108,7 @@ uint8x16_t test_ret_v16u8(uint8x16_t v) {
108108
return v;
109109
}
110110

111-
// CHECK-LABEL: define dso_local <8 x i16> @test_ret_v8u16(
111+
// CHECK-LABEL: define dso_local noundef <8 x i16> @test_ret_v8u16(
112112
// CHECK-SAME: <8 x i16> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
113113
// CHECK-NEXT: entry:
114114
// CHECK-NEXT: ret <8 x i16> [[V]]
@@ -117,7 +117,7 @@ uint16x8_t test_ret_v8u16(uint16x8_t v) {
117117
return v;
118118
}
119119

120-
// CHECK-LABEL: define dso_local <4 x i32> @test_ret_v32u4(
120+
// CHECK-LABEL: define dso_local noundef <4 x i32> @test_ret_v32u4(
121121
// CHECK-SAME: <4 x i32> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
122122
// CHECK-NEXT: entry:
123123
// CHECK-NEXT: ret <4 x i32> [[V]]
@@ -126,7 +126,7 @@ uint32x4_t test_ret_v32u4(uint32x4_t v) {
126126
return v;
127127
}
128128

129-
// CHECK-LABEL: define dso_local <2 x i64> @test_ret_v64u2(
129+
// CHECK-LABEL: define dso_local noundef <2 x i64> @test_ret_v64u2(
130130
// CHECK-SAME: <2 x i64> noundef returned [[V:%.*]]) local_unnamed_addr #[[ATTR0]] {
131131
// CHECK-NEXT: entry:
132132
// CHECK-NEXT: ret <2 x i64> [[V]]

clang/test/CodeGen/ifunc.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ void* goo_ifunc(void) {
5151
// CHECK: call i32 @foo(i32
5252
// CHECK: call void @goo()
5353

54-
// SAN: define internal nonnull ptr @foo_ifunc() #[[#FOO_IFUNC:]] {
55-
// MACSAN: define internal nonnull ptr @foo_ifunc() #[[#FOO_IFUNC:]] {
54+
// SAN: define internal nonnull {{(noundef )?}}ptr @foo_ifunc() #[[#FOO_IFUNC:]] {
55+
// MACSAN: define internal nonnull {{(noundef )?}}ptr @foo_ifunc() #[[#FOO_IFUNC:]] {
5656

57-
// SAN: define dso_local noalias ptr @goo_ifunc() #[[#GOO_IFUNC:]] {
58-
// MACSAN: define noalias ptr @goo_ifunc() #[[#GOO_IFUNC:]] {
57+
// SAN: define dso_local noalias {{(noundef )?}}ptr @goo_ifunc() #[[#GOO_IFUNC:]] {
58+
// MACSAN: define noalias {{(noundef )?}}ptr @goo_ifunc() #[[#GOO_IFUNC:]] {
5959

6060
// SAN-DAG: attributes #[[#FOO_IFUNC]] = {{{.*}} disable_sanitizer_instrumentation {{.*}}
6161
// MACSAN-DAG: attributes #[[#FOO_IFUNC]] = {{{.*}} disable_sanitizer_instrumentation {{.*}}

clang/test/CodeGen/isfpclass.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2
22
// RUN: %clang_cc1 -triple aarch64-linux-gnu -S -O1 -emit-llvm %s -o - | FileCheck %s
33

4-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_finite
4+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_finite
55
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
66
// CHECK-NEXT: entry:
77
// CHECK-NEXT: [[TMP0:%.*]] = tail call float @llvm.fabs.f32(float [[X]])
@@ -12,7 +12,7 @@ _Bool check_isfpclass_finite(float x) {
1212
return __builtin_isfpclass(x, 504 /*Finite*/);
1313
}
1414

15-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_finite_strict
15+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_finite_strict
1616
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+]] {
1717
// CHECK-NEXT: entry:
1818
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[X]], i32 504) #[[ATTR6:[0-9]+]]
@@ -23,7 +23,7 @@ _Bool check_isfpclass_finite_strict(float x) {
2323
return __builtin_isfpclass(x, 504 /*Finite*/);
2424
}
2525

26-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_nan_f32
26+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_nan_f32
2727
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR3:[0-9]+]] {
2828
// CHECK-NEXT: entry:
2929
// CHECK-NEXT: [[TMP0:%.*]] = fcmp uno float [[X]], 0.000000e+00
@@ -33,7 +33,7 @@ _Bool check_isfpclass_nan_f32(float x) {
3333
return __builtin_isfpclass(x, 3 /*NaN*/);
3434
}
3535

36-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_nan_f32_strict
36+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_nan_f32_strict
3737
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
3838
// CHECK-NEXT: entry:
3939
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[X]], i32 3) #[[ATTR6]]
@@ -44,7 +44,7 @@ _Bool check_isfpclass_nan_f32_strict(float x) {
4444
return __builtin_isfpclass(x, 3 /*NaN*/);
4545
}
4646

47-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_snan_f64
47+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_snan_f64
4848
// CHECK-SAME: (double noundef [[X:%.*]]) local_unnamed_addr #[[ATTR0]] {
4949
// CHECK-NEXT: entry:
5050
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f64(double [[X]], i32 1)
@@ -54,7 +54,7 @@ _Bool check_isfpclass_snan_f64(double x) {
5454
return __builtin_isfpclass(x, 1 /*SNaN*/);
5555
}
5656

57-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_snan_f64_strict
57+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_snan_f64_strict
5858
// CHECK-SAME: (double noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
5959
// CHECK-NEXT: entry:
6060
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f64(double [[X]], i32 1) #[[ATTR6]]
@@ -65,7 +65,7 @@ _Bool check_isfpclass_snan_f64_strict(double x) {
6565
return __builtin_isfpclass(x, 1 /*NaN*/);
6666
}
6767

68-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_zero_f16
68+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_zero_f16
6969
// CHECK-SAME: (half noundef [[X:%.*]]) local_unnamed_addr #[[ATTR3]] {
7070
// CHECK-NEXT: entry:
7171
// CHECK-NEXT: [[TMP0:%.*]] = fcmp oeq half [[X]], 0xH0000
@@ -75,7 +75,7 @@ _Bool check_isfpclass_zero_f16(_Float16 x) {
7575
return __builtin_isfpclass(x, 96 /*Zero*/);
7676
}
7777

78-
// CHECK-LABEL: define dso_local i1 @check_isfpclass_zero_f16_strict
78+
// CHECK-LABEL: define dso_local noundef i1 @check_isfpclass_zero_f16_strict
7979
// CHECK-SAME: (half noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
8080
// CHECK-NEXT: entry:
8181
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f16(half [[X]], i32 96) #[[ATTR6]]
@@ -86,7 +86,7 @@ _Bool check_isfpclass_zero_f16_strict(_Float16 x) {
8686
return __builtin_isfpclass(x, 96 /*Zero*/);
8787
}
8888

89-
// CHECK-LABEL: define dso_local i1 @check_isnan
89+
// CHECK-LABEL: define dso_local noundef i1 @check_isnan
9090
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
9191
// CHECK-NEXT: entry:
9292
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[X]], i32 3) #[[ATTR6]]
@@ -97,7 +97,7 @@ _Bool check_isnan(float x) {
9797
return __builtin_isnan(x);
9898
}
9999

100-
// CHECK-LABEL: define dso_local i1 @check_isinf
100+
// CHECK-LABEL: define dso_local noundef i1 @check_isinf
101101
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
102102
// CHECK-NEXT: entry:
103103
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[X]], i32 516) #[[ATTR6]]
@@ -108,7 +108,7 @@ _Bool check_isinf(float x) {
108108
return __builtin_isinf(x);
109109
}
110110

111-
// CHECK-LABEL: define dso_local i1 @check_isfinite
111+
// CHECK-LABEL: define dso_local noundef i1 @check_isfinite
112112
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
113113
// CHECK-NEXT: entry:
114114
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[X]], i32 504) #[[ATTR6]]
@@ -119,7 +119,7 @@ _Bool check_isfinite(float x) {
119119
return __builtin_isfinite(x);
120120
}
121121

122-
// CHECK-LABEL: define dso_local i1 @check_isnormal
122+
// CHECK-LABEL: define dso_local noundef i1 @check_isnormal
123123
// CHECK-SAME: (float noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
124124
// CHECK-NEXT: entry:
125125
// CHECK-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[X]], i32 264) #[[ATTR6]]
@@ -136,7 +136,7 @@ typedef double __attribute__((ext_vector_type(4))) double4;
136136
typedef int __attribute__((ext_vector_type(4))) int4;
137137
typedef long __attribute__((ext_vector_type(4))) long4;
138138

139-
// CHECK-LABEL: define dso_local <4 x i32> @check_isfpclass_nan_v4f32
139+
// CHECK-LABEL: define dso_local noundef <4 x i32> @check_isfpclass_nan_v4f32
140140
// CHECK-SAME: (<4 x float> noundef [[X:%.*]]) local_unnamed_addr #[[ATTR3]] {
141141
// CHECK-NEXT: entry:
142142
// CHECK-NEXT: [[TMP0:%.*]] = fcmp uno <4 x float> [[X]], zeroinitializer
@@ -147,7 +147,7 @@ int4 check_isfpclass_nan_v4f32(float4 x) {
147147
return __builtin_isfpclass(x, 3 /*NaN*/);
148148
}
149149

150-
// CHECK-LABEL: define dso_local <4 x i32> @check_isfpclass_nan_strict_v4f32
150+
// CHECK-LABEL: define dso_local noundef <4 x i32> @check_isfpclass_nan_strict_v4f32
151151
// CHECK-SAME: (<4 x float> noundef [[X:%.*]]) local_unnamed_addr #[[ATTR2]] {
152152
// CHECK-NEXT: entry:
153153
// CHECK-NEXT: [[TMP0:%.*]] = tail call <4 x i1> @llvm.is.fpclass.v4f32(<4 x float> [[X]], i32 3) #[[ATTR6]]

0 commit comments

Comments
 (0)