@@ -891,40 +891,6 @@ def calloc : RuntimeLibcallImpl<CALLOC>;
891
891
} // End let IsDefault = true
892
892
} // End defset AllDefaultRuntimeLibcallImpls
893
893
894
-
895
- // FIXME: Should move to explicit opt-in to different sets of libcalls
896
- // instead of trying to remove from a default set. We have
897
- // unreasonable defaults like reporting f80 calls on most targets when
898
- // they are relevant to only one.
899
-
900
- defvar AllDefaultLibCalls =
901
- !foreach(entry, AllDefaultRuntimeLibcallImpls, entry.Provides);
902
-
903
- // These libcalls are only available in compiler-rt, not libgcc for
904
- // 32-bit arch. They are available on both for 64-bit.
905
- defvar LibCallsCompilerRT64OrLibGCC = [
906
- __ashlti3, __lshrti3, __ashrti3, __multi3, __mulodi4
907
- ];
908
-
909
- defvar DefaultRuntimeLibcallImpls =
910
- !listremove(AllDefaultRuntimeLibcallImpls,
911
- LibCallsCompilerRT64OrLibGCC);
912
-
913
- defvar DefaultRuntimeLibcallImpls_f128 =
914
- !filter(entry, DefaultRuntimeLibcallImpls,
915
- !match(!cast<string>(entry.Provides), "_F128"));
916
-
917
- defvar DefaultRuntimeLibcallImpls_atomic =
918
- !filter(entry, DefaultRuntimeLibcallImpls,
919
- !match(!cast<string>(entry.Provides), "ATOMIC"));
920
-
921
- /// Default set of libcall impls for 32-bit architectures.
922
- defvar DefaultLibcallImpls32 = DefaultRuntimeLibcallImpls;
923
-
924
- /// Default set of libcall impls for 64-bit architectures.
925
- defvar DefaultLibcallImpls64 = !listconcat(DefaultRuntimeLibcallImpls,
926
- LibCallsCompilerRT64OrLibGCC);
927
-
928
894
//--------------------------------------------------------------------
929
895
// Define implementation other libcalls
930
896
//--------------------------------------------------------------------
@@ -1005,6 +971,43 @@ defset list<RuntimeLibcallImpl> LibmF128FiniteLibcalls = {
1005
971
def __powf128_finite : RuntimeLibcallImpl<POW_FINITE_F128>;
1006
972
}
1007
973
974
+ //===----------------------------------------------------------------------===//
975
+ // Common Libcall Sets
976
+ //===----------------------------------------------------------------------===//
977
+
978
+ // FIXME: Should move to explicit opt-in to different sets of libcalls
979
+ // instead of trying to remove from a default set. We have
980
+ // unreasonable defaults like reporting f80 calls on most targets when
981
+ // they are relevant to only one.
982
+
983
+ defvar AllDefaultLibCalls =
984
+ !foreach(entry, AllDefaultRuntimeLibcallImpls, entry.Provides);
985
+
986
+ // These libcalls are only available in compiler-rt, not libgcc for
987
+ // 32-bit arch. They are available on both for 64-bit.
988
+ defvar LibCallsCompilerRT64OrLibGCC = [
989
+ __ashlti3, __lshrti3, __ashrti3, __multi3, __mulodi4
990
+ ];
991
+
992
+ defvar DefaultRuntimeLibcallImpls =
993
+ !listremove(AllDefaultRuntimeLibcallImpls,
994
+ LibCallsCompilerRT64OrLibGCC);
995
+
996
+ defvar DefaultRuntimeLibcallImpls_f128 =
997
+ !filter(entry, DefaultRuntimeLibcallImpls,
998
+ !match(!cast<string>(entry.Provides), "_F128"));
999
+
1000
+ defvar DefaultRuntimeLibcallImpls_atomic =
1001
+ !filter(entry, DefaultRuntimeLibcallImpls,
1002
+ !match(!cast<string>(entry.Provides), "ATOMIC"));
1003
+
1004
+ /// Default set of libcall impls for 32-bit architectures.
1005
+ defvar DefaultLibcallImpls32 = DefaultRuntimeLibcallImpls;
1006
+
1007
+ /// Default set of libcall impls for 64-bit architectures.
1008
+ defvar DefaultLibcallImpls64 = !listconcat(DefaultRuntimeLibcallImpls,
1009
+ LibCallsCompilerRT64OrLibGCC);
1010
+
1008
1011
//===----------------------------------------------------------------------===//
1009
1012
// AArch64 Runtime Libcalls
1010
1013
//===----------------------------------------------------------------------===//
0 commit comments