1
- ; RUN: opt < %s -mtriple=x86_64-- -inferattrs -S | FileCheck -check-prefix= CHECK-UNKNOWN %s
2
- ; RUN: opt < %s -mtriple=x86_64-- -passes=inferattrs -S | FileCheck -check-prefix= CHECK-UNKNOWN %s
3
- ; RUN: opt < %s -mtriple=x86_64-apple-macosx10.8.0 -inferattrs -S | FileCheck -check-prefix =CHECK -check-prefix= CHECK-DARWIN %s
4
- ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -inferattrs -S | FileCheck -check-prefix =CHECK -check-prefix= CHECK-LINUX %s
5
- ; RUN: opt < %s -mtriple=nvptx -inferattrs -S | FileCheck -check-prefix= CHECK-NVPTX %s
1
+ ; RUN: opt < %s -mtriple=x86_64-- -inferattrs -S | FileCheck -- check-prefixes=CHECK,CHECK-NOLINUX, CHECK-UNKNOWN %s
2
+ ; RUN: opt < %s -mtriple=x86_64-- -passes=inferattrs -S | FileCheck -- check-prefixes=CHECK,CHECK-NOLINUX, CHECK-UNKNOWN %s
3
+ ; RUN: opt < %s -mtriple=x86_64-apple-macosx10.8.0 -inferattrs -S | FileCheck -- check-prefixes =CHECK,CHECK-KNOWN,CHECK-NOLINUX, CHECK-DARWIN %s
4
+ ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -inferattrs -S | FileCheck -- check-prefixes =CHECK,CHECK-KNOWN, CHECK-LINUX %s
5
+ ; RUN: opt < %s -mtriple=nvptx -inferattrs -S | FileCheck -- check-prefixes=CHECK-NOLINUX, CHECK-NVPTX %s
6
6
7
7
declare i32 @__nvvm_reflect (i8* )
8
8
; CHECK-NVPTX: declare noundef i32 @__nvvm_reflect(i8* noundef) [[NOFREE_NOUNWIND_READNONE:#[0-9]+]]
9
- ; CHECK-NVPTX: attributes [[NOFREE_NOUNWIND_READNONE]] = { nofree nounwind readnone }
10
9
11
10
12
11
; Check all the libc functions (thereby also exercising the prototype check).
@@ -226,28 +225,26 @@ declare x86_fp80 @atanhl(x86_fp80)
226
225
; CHECK: declare x86_fp80 @atanl(x86_fp80) [[NOFREE_NOUNWIND_WILLRETURN]]
227
226
declare x86_fp80 @atanl (x86_fp80 )
228
227
229
- ; CHECK: declare double @atof(i8* nocapture) [[NOFREE_NOUNWIND_READONLY :#[0-9]+]]
228
+ ; CHECK: declare double @atof(i8* nocapture) [[NOFREE_NOUNWIND_READONLY_WILLRETURN :#[0-9]+]]
230
229
declare double @atof (i8* )
231
230
232
- ; CHECK: declare i32 @atoi(i8* nocapture) [[NOFREE_NOUNWIND_READONLY ]]
231
+ ; CHECK: declare i32 @atoi(i8* nocapture) [[NOFREE_NOUNWIND_READONLY_WILLRETURN ]]
233
232
declare i32 @atoi (i8* )
234
233
235
- ; CHECK: declare i64 @atol(i8* nocapture) [[NOFREE_NOUNWIND_READONLY ]]
234
+ ; CHECK: declare i64 @atol(i8* nocapture) [[NOFREE_NOUNWIND_READONLY_WILLRETURN ]]
236
235
declare i64 @atol (i8* )
237
236
238
- ; CHECK: declare i64 @atoll(i8* nocapture) [[NOFREE_NOUNWIND_READONLY ]]
237
+ ; CHECK: declare i64 @atoll(i8* nocapture) [[NOFREE_NOUNWIND_READONLY_WILLRETURN ]]
239
238
declare i64 @atoll (i8* )
240
239
241
240
; CHECK-LINUX: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY:#[0-9]+]]
242
- ; CHECK-DARWIN-NOT: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[NOFREE_NOUNWIND_READONLY]]
243
- ; CHECK-UNKNOWN-NOT: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[NOFREE_NOUNWIND_READONLY]]
244
- ; CHECK-NVPTX-NOT: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[NOFREE_NOUNWIND_READONLY]]
241
+ ; CHECK-NOLINUX: declare i32 @bcmp(i8*, i8*, i64){{$}}
245
242
declare i32 @bcmp (i8* , i8* , i64 )
246
243
247
- ; CHECK: declare void @bcopy(i8* nocapture readonly, i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND :#[0-9]+]]
244
+ ; CHECK: declare void @bcopy(i8* nocapture readonly, i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN :#[0-9]+]]
248
245
declare void @bcopy (i8* , i8* , i64 )
249
246
250
- ; CHECK: declare void @bzero(i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND:#[0-9]+ ]]
247
+ ; CHECK: declare void @bzero(i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
251
248
declare void @bzero (i8* , i64 )
252
249
253
250
; CHECK: declare noalias noundef i8* @calloc(i64 noundef, i64 noundef) [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN:#[0-9]+]]
@@ -367,10 +364,14 @@ declare i32 @fflush(%opaque*)
367
364
; CHECK: declare i32 @ffs(i32) [[NOFREE_NOUNWIND_WILLRETURN]]
368
365
declare i32 @ffs (i32 )
369
366
370
- ; CHECK: declare i32 @ffsl(i64) [[NOFREE_NOUNWIND_WILLRETURN]]
367
+ ; CHECK: declare i32 @ffsl(i64)
368
+ ; CHECK-KNOWN-SAME: [[NOFREE_NOUNWIND_WILLRETURN]]
369
+ ; CHECK-UNKNOWN-NOT: #{{.*}}
371
370
declare i32 @ffsl (i64 )
372
371
373
- ; CHECK: declare i32 @ffsll(i64) [[NOFREE_NOUNWIND_WILLRETURN]]
372
+ ; CHECK: declare i32 @ffsll(i64)
373
+ ; CHECK-KNOWN-SAME: [[NOFREE_NOUNWIND_WILLRETURN]]
374
+ ; CHECK-UNKNOWN-NOT: #{{.*}}
374
375
declare i32 @ffsll (i64 )
375
376
376
377
; CHECK: declare noundef i32 @fgetc(%opaque* nocapture noundef) [[NOFREE_NOUNWIND]]
@@ -448,7 +449,7 @@ declare i32 @fputs(i8*, %opaque*)
448
449
; CHECK: declare noundef i64 @fread(i8* nocapture noundef, i64 noundef, i64 noundef, %opaque* nocapture noundef) [[NOFREE_NOUNWIND]]
449
450
declare i64 @fread (i8* , i64 , i64 , %opaque* )
450
451
451
- ; CHECK: declare void @free(i8* nocapture noundef) [[NOUNWIND :#[0-9]+]]
452
+ ; CHECK: declare void @free(i8* nocapture noundef) [[INACCESSIBLEMEMORARGMEMONLY_NOUNWIND_WILLRETURN :#[0-9]+]]
452
453
declare void @free (i8* )
453
454
454
455
; CHECK: declare double @frexp(double, i32* nocapture) [[NOFREE_NOUNWIND_WILLRETURN]]
@@ -514,7 +515,9 @@ declare i32 @getc_unlocked(%opaque*)
514
515
; CHECK: declare noundef i32 @getchar() [[NOFREE_NOUNWIND]]
515
516
declare i32 @getchar ()
516
517
517
- ; CHECK: declare noundef i32 @getchar_unlocked() [[NOFREE_NOUNWIND]]
518
+ ; CHECK-KNOWN: declare noundef i32 @getchar_unlocked() [[NOFREE_NOUNWIND]]
519
+ ; CHECK-UNKNOWN: declare i32 @getchar_unlocked()
520
+ ; CHECK-UNKNOWN-NOT: #{{.*}}
518
521
declare i32 @getchar_unlocked ()
519
522
520
523
; CHECK: declare noundef i8* @getenv(i8* nocapture noundef) [[NOFREE_NOUNWIND_READONLY]]
@@ -616,7 +619,7 @@ declare i8* @malloc(i64)
616
619
; CHECK-LINUX: declare noalias noundef i8* @memalign(i64, i64) [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN]]
617
620
declare i8* @memalign (i64 , i64 )
618
621
619
- ; CHECK: declare i8* @memccpy(i8* noalias writeonly, i8* noalias nocapture readonly, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND:#[0-9]+ ]]
622
+ ; CHECK: declare i8* @memccpy(i8* noalias writeonly, i8* noalias nocapture readonly, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
620
623
declare i8* @memccpy (i8* , i8* , i32 , i64 )
621
624
622
625
; CHECK-LINUX: declare i8* @memchr(i8*, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
@@ -627,17 +630,16 @@ declare i8* @memchr(i8*, i32, i64)
627
630
; CHECK: declare i32 @memcmp(i8* nocapture, i8* nocapture, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
628
631
declare i32 @memcmp (i8* , i8* , i64 )
629
632
630
- ; CHECK: declare i8* @memcpy(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
633
+ ; CHECK: declare i8* @memcpy(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
631
634
declare i8* @memcpy (i8* , i8* , i64 )
632
635
633
- ; CHECK-DARWIN: declare i8* @__memcpy_chk(i8*, i8*, i64, i64) [[NOFREE_NOUNWIND]]
634
- ; CHECK-LINUX: declare i8* @__memcpy_chk(i8*, i8*, i64, i64) [[NOFREE_NOUNWIND]]
636
+ ; CHECK: declare i8* @__memcpy_chk(i8*, i8*, i64, i64) [[NOFREE_NOUNWIND]]
635
637
declare i8* @__memcpy_chk (i8* , i8* , i64 , i64 )
636
638
637
- ; CHECK: declare i8* @mempcpy(i8* noalias writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
639
+ ; CHECK: declare i8* @mempcpy(i8* noalias writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
638
640
declare i8* @mempcpy (i8* , i8* , i64 )
639
641
640
- ; CHECK: declare i8* @memmove(i8* returned writeonly, i8* nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
642
+ ; CHECK: declare i8* @memmove(i8* returned writeonly, i8* nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
641
643
declare i8* @memmove (i8* , i8* , i64 )
642
644
643
645
; CHECK: declare i8* @memset(i8* writeonly, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN:#[0-9]+]]
@@ -709,7 +711,9 @@ declare i32 @putc(i32, %opaque*)
709
711
; CHECK: declare noundef i32 @putchar(i32 noundef) [[NOFREE_NOUNWIND]]
710
712
declare i32 @putchar (i32 )
711
713
712
- ; CHECK: declare noundef i32 @putchar_unlocked(i32 noundef) [[NOFREE_NOUNWIND]]
714
+ ; CHECK-KNOWN: declare noundef i32 @putchar_unlocked(i32 noundef) [[NOFREE_NOUNWIND]]
715
+ ; CHECK-UNKNOWN: declare i32 @putchar_unlocked(i32)
716
+ ; CHECK-UNKNOWN-NOT: #{{.*}}
713
717
declare i32 @putchar_unlocked (i32 )
714
718
715
719
; CHECK: declare noundef i32 @puts(i8* nocapture noundef readonly) [[NOFREE_NOUNWIND]]
@@ -727,10 +731,10 @@ declare i64 @read(i32, i8*, i64)
727
731
; CHECK: declare noundef i64 @readlink(i8* nocapture noundef readonly, i8* nocapture noundef, i64 noundef) [[NOFREE_NOUNWIND]]
728
732
declare i64 @readlink (i8* , i8* , i64 )
729
733
730
- ; CHECK: declare noalias noundef i8* @realloc(i8* nocapture, i64 noundef) [[NOUNWIND ]]
734
+ ; CHECK: declare noalias noundef i8* @realloc(i8* nocapture, i64 noundef) [[INACCESSIBLEMEMORARGMEMONLY_NOUNWIND_WILLRETURN ]]
731
735
declare i8* @realloc (i8* , i64 )
732
736
733
- ; CHECK: declare noundef i8* @reallocf(i8*, i64 noundef)
737
+ ; CHECK: declare noundef i8* @reallocf(i8*, i64 noundef) [[WILLRETURN:#[0-9]+]]
734
738
declare i8* @reallocf (i8* , i64 )
735
739
736
740
; CHECK: declare noundef i8* @realpath(i8* nocapture noundef readonly, i8* noundef) [[NOFREE_NOUNWIND]]
@@ -826,16 +830,16 @@ declare i32 @statvfs(i8*, %opaque*)
826
830
; CHECK-LINUX: declare noundef i32 @statvfs64(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[NOFREE_NOUNWIND]]
827
831
declare i32 @statvfs64 (i8* , %opaque* )
828
832
829
- ; CHECK: declare i8* @stpcpy(i8* noalias writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
833
+ ; CHECK: declare i8* @stpcpy(i8* noalias writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
830
834
declare i8* @stpcpy (i8* , i8* )
831
835
832
- ; CHECK: declare i8* @stpncpy(i8* noalias writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
836
+ ; CHECK: declare i8* @stpncpy(i8* noalias writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
833
837
declare i8* @stpncpy (i8* , i8* , i64 )
834
838
835
839
; CHECK: declare i32 @strcasecmp(i8* nocapture, i8* nocapture) [[NOFREE_NOUNWIND_READONLY_WILLRETURN:#[0-9]+]]
836
840
declare i32 @strcasecmp (i8* , i8* )
837
841
838
- ; CHECK: declare i8* @strcat(i8* noalias returned writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
842
+ ; CHECK: declare i8* @strcat(i8* noalias returned writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
839
843
declare i8* @strcat (i8* , i8* )
840
844
841
845
; CHECK: declare i8* @strchr(i8*, i32) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
@@ -847,7 +851,7 @@ declare i32 @strcmp(i8*, i8*)
847
851
; CHECK: declare i32 @strcoll(i8* nocapture, i8* nocapture) [[NOFREE_NOUNWIND_READONLY_WILLRETURN]]
848
852
declare i32 @strcoll (i8* , i8* )
849
853
850
- ; CHECK: declare i8* @strcpy(i8* noalias returned writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
854
+ ; CHECK: declare i8* @strcpy(i8* noalias returned writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
851
855
declare i8* @strcpy (i8* , i8* )
852
856
853
857
; CHECK: declare i64 @strcspn(i8* nocapture, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
@@ -862,13 +866,13 @@ declare i64 @strlen(i8*)
862
866
; CHECK: declare i32 @strncasecmp(i8* nocapture, i8* nocapture, i64) [[NOFREE_NOUNWIND_READONLY_WILLRETURN]]
863
867
declare i32 @strncasecmp (i8* , i8* , i64 )
864
868
865
- ; CHECK: declare i8* @strncat(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
869
+ ; CHECK: declare i8* @strncat(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
866
870
declare i8* @strncat (i8* , i8* , i64 )
867
871
868
872
; CHECK: declare i32 @strncmp(i8* nocapture, i8* nocapture, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
869
873
declare i32 @strncmp (i8* , i8* , i64 )
870
874
871
- ; CHECK: declare i8* @strncpy(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
875
+ ; CHECK: declare i8* @strncpy(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN ]]
872
876
declare i8* @strncpy (i8* , i8* , i64 )
873
877
874
878
; CHECK: declare noalias i8* @strndup(i8* nocapture readonly, i64 noundef) [[INACCESSIBLEMEMORARGONLY_NOFREE_NOUNWIND_WILLRETURN]]
@@ -877,7 +881,7 @@ declare i8* @strndup(i8*, i64)
877
881
; CHECK: declare i64 @strnlen(i8*, i64) [[NOFREE_NOUNWIND_WILLRETURN]]
878
882
declare i64 @strnlen (i8* , i64 )
879
883
880
- ; CHECK: declare i8* @strpbrk(i8*, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND :#[0-9]+]]
884
+ ; CHECK: declare i8* @strpbrk(i8*, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY_WILLRETURN :#[0-9]+]]
881
885
declare i8* @strpbrk (i8* , i8* )
882
886
883
887
; CHECK: declare i8* @strrchr(i8*, i32) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
@@ -886,7 +890,7 @@ declare i8* @strrchr(i8*, i32)
886
890
; CHECK: declare i64 @strspn(i8* nocapture, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
887
891
declare i64 @strspn (i8* , i8* )
888
892
889
- ; CHECK: declare i8* @strstr(i8*, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND ]]
893
+ ; CHECK: declare i8* @strstr(i8*, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY_WILLRETURN ]]
890
894
declare i8* @strstr (i8* , i8* )
891
895
892
896
; CHECK: declare double @strtod(i8* readonly, i8** nocapture) [[NOFREE_NOUNWIND_WILLRETURN]]
@@ -1011,31 +1015,19 @@ declare i64 @write(i32, i8*, i64)
1011
1015
; CHECK-DARWIN: declare void @memset_pattern16(i8* nocapture writeonly, i8* nocapture readonly, i64) [[ARGMEMONLY_NOFREE:#[0-9]+]]
1012
1016
declare void @memset_pattern16 (i8* , i8* , i64 )
1013
1017
1014
- ; CHECK-DAG-UNKNOWN: attributes [[INACCESSIBLEMEMONLY_NOFREE_WILLRETURN]] = { inaccessiblememonly nofree willreturn }
1015
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE_NOUNWIND_WILLRETURN]] = { nofree nounwind willreturn }
1016
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE_NOUNWIND]] = { nofree nounwind }
1017
- ; CHECK-DAG-UNKNOWN: attributes [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN]] = { inaccessiblememonly nofree nounwind willreturn }
1018
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { nofree nounwind readonly willreturn }
1019
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { argmemonly nofree nounwind willreturn }
1020
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE_NOUNWIND_READONLY]] = { nofree nounwind readonly }
1021
- ; CHECK-DAG-UNKNOWN: attributes [[INACCESSIBLEMEMORARGONLY_NOUNWIND_WILLRETURN]] = { inaccessiblemem_or_argmemonly nounwind willreturn }
1022
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE_WILLRETURN]] = { nofree willreturn }
1023
- ; CHECK-DAG-UNKNOWN: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { argmemonly nofree nounwind readonly willreturn }
1024
- ; CHECK-DAG-UNKNOWN: attributes [[NOFREE]] = { nofree }
1025
- ; CHECK-DAG-UNKNOWN: attributes [[WILLRETURN]]= { willreturn }
1026
- ; CHECK-DAG-UNKNOWN: attributes [[INACCESSIBLEMEMORARGONLY_NOFREE_NOUNWIND_WILLRETURN]] = { inaccessiblemem_or_argmemonly nofree nounwind willreturn }
1027
-
1028
- ; CHECK-DAG-LINUX: attributes [[INACCESSIBLEMEMONLY_NOFREE_WILLRETURN]] = { inaccessiblememonly nofree willreturn }
1029
- ; CHECK-DAG-LINUX: attributes [[NOFREE]] = { nofree }
1030
- ; CHECK-DAG-LINUX: attributes [[NOFREE_NOUNWIND_WILLRETURN]] = { nofree nounwind willreturn }
1031
- ; CHECK-DAG-LINUX: attributes [[NOFREE_NOUNWIND]] = { nofree nounwind }
1032
- ; CHECK-DAG-LINUX: attributes [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN]] = { inaccessiblememonly nofree nounwind willreturn }
1033
- ; CHECK-DAG-LINUX: attributes [[NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { nofree nounwind readonly willreturn }
1034
- ; CHECK-DAG-LINUX: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { argmemonly nofree nounwind readonly willreturn }
1035
- ; CHECK-DAG-LINUX: attributes [[NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { argmemonly nofree nounwind willreturn }
1036
- ; CHECK-DAG-LINUX: attributes [[NOFREE_NOUNWIND_READONLY]] = { nofree nounwind readonly }
1037
- ; CHECK-DAG-LINUX: attributes [[INACCESSIBLEMEMORARGONLY_NOUNWIND_WILLRETURN]] = { inaccessiblemem_or_argmemonly nounwind willreturn }
1038
- ; CHECK-DAG-LINUX: attributes [[NOFREE_WILLRETURN]] = { nofree willreturn }
1039
- ; CHECK-DAG-LINUX: attributes [[WILLRETURN]]= { willreturn }
1040
- ; CHECK-DAG-LINUX: attributes [[INACCESSIBLEMEMORARGONLY_NOFREE_NOUNWIND_WILLRETURN]] = { inaccessiblemem_or_argmemonly nofree nounwind willreturn }
1041
- ; CHECK-DAG-LINUX: attributes [[ARGMEMONLY_NOFREE_NOUNWIND]] = { inaccessiblememonly nofree nounwind }
1018
+
1019
+ ; CHECK-DAG: attributes [[NOFREE_NOUNWIND_WILLRETURN]] = { nofree nounwind willreturn }
1020
+ ; CHECK-DAG: attributes [[NOFREE_NOUNWIND]] = { nofree nounwind }
1021
+ ; CHECK-DAG: attributes [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN]] = { inaccessiblememonly nofree nounwind willreturn }
1022
+ ; CHECK-DAG: attributes [[NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { nofree nounwind readonly willreturn }
1023
+ ; CHECK-DAG: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN]] = { argmemonly nofree nounwind willreturn }
1024
+ ; CHECK-DAG: attributes [[NOFREE_NOUNWIND_READONLY]] = { nofree nounwind readonly }
1025
+ ; CHECK-DAG: attributes [[INACCESSIBLEMEMORARGMEMONLY_NOUNWIND_WILLRETURN]] = { inaccessiblemem_or_argmemonly nounwind willreturn }
1026
+ ; CHECK-DAG: attributes [[NOFREE_WILLRETURN]] = { nofree willreturn }
1027
+ ; CHECK-DAG: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY_WILLRETURN]] = { argmemonly nofree nounwind readonly willreturn }
1028
+ ; CHECK-DAG: attributes [[NOFREE]] = { nofree }
1029
+ ; CHECK-DAG: attributes [[WILLRETURN]] = { willreturn }
1030
+ ; CHECK-DAG: attributes [[INACCESSIBLEMEMORARGONLY_NOFREE_NOUNWIND_WILLRETURN]] = { inaccessiblemem_or_argmemonly nofree nounwind willreturn }
1031
+
1032
+ ; CHECK-DARWIN-DAG: attributes [[ARGMEMONLY_NOFREE]] = { argmemonly nofree }
1033
+ ; CHECK-NVPTX-DAG: attributes [[NOFREE_NOUNWIND_READNONE]] = { nofree nounwind readnone }
0 commit comments