OLD | NEW |
1 //===-- TargetLibraryInfo.cpp - Runtime library information ----------------==// | 1 //===-- TargetLibraryInfo.cpp - Runtime library information ----------------==// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file implements the TargetLibraryInfo class. | 10 // This file implements the TargetLibraryInfo class. |
(...skipping 13 matching lines...) Expand all Loading... |
24 /// specified target triple. This should be carefully written so that a missing | 24 /// specified target triple. This should be carefully written so that a missing |
25 /// target triple gets a sane set of defaults. | 25 /// target triple gets a sane set of defaults. |
26 static void initialize(TargetLibraryInfo &TLI, const Triple &T) { | 26 static void initialize(TargetLibraryInfo &TLI, const Triple &T) { |
27 initializeTargetLibraryInfoPass(*PassRegistry::getPassRegistry()); | 27 initializeTargetLibraryInfoPass(*PassRegistry::getPassRegistry()); |
28 | 28 |
29 | 29 |
30 // memset_pattern16 is only available on iOS 3.0 and Mac OS/X 10.5 and later. | 30 // memset_pattern16 is only available on iOS 3.0 and Mac OS/X 10.5 and later. |
31 if (T.isMacOSX()) { | 31 if (T.isMacOSX()) { |
32 if (T.isMacOSXVersionLT(10, 5)) | 32 if (T.isMacOSXVersionLT(10, 5)) |
33 TLI.setUnavailable(LibFunc::memset_pattern16); | 33 TLI.setUnavailable(LibFunc::memset_pattern16); |
34 } else if (T.getOS() == Triple::IOS) { | 34 } else if (T.isOSIOS()) { |
35 if (T.isOSVersionLT(3, 0)) | 35 if (T.isOSVersionLT(3, 0)) |
36 TLI.setUnavailable(LibFunc::memset_pattern16); | 36 TLI.setUnavailable(LibFunc::memset_pattern16); |
37 } else { | 37 } else { |
38 TLI.setUnavailable(LibFunc::memset_pattern16); | 38 TLI.setUnavailable(LibFunc::memset_pattern16); |
39 } | 39 } |
40 | 40 |
41 // iprintf and friends are only available on XCore and TCE. | 41 // iprintf and friends are only available on XCore and TCE. |
42 if (T.getArch() != Triple::xcore && T.getArch() != Triple::tce) { | 42 if (T.getArch() != Triple::xcore && T.getArch() != Triple::tce) { |
43 TLI.setUnavailable(LibFunc::iprintf); | 43 TLI.setUnavailable(LibFunc::iprintf); |
44 TLI.setUnavailable(LibFunc::siprintf); | 44 TLI.setUnavailable(LibFunc::siprintf); |
(...skipping 20 matching lines...) Expand all Loading... |
65 : ImmutablePass(ID) { | 65 : ImmutablePass(ID) { |
66 memcpy(AvailableArray, TLI.AvailableArray, sizeof(AvailableArray)); | 66 memcpy(AvailableArray, TLI.AvailableArray, sizeof(AvailableArray)); |
67 } | 67 } |
68 | 68 |
69 | 69 |
70 /// disableAllFunctions - This disables all builtins, which is used for options | 70 /// disableAllFunctions - This disables all builtins, which is used for options |
71 /// like -fno-builtin. | 71 /// like -fno-builtin. |
72 void TargetLibraryInfo::disableAllFunctions() { | 72 void TargetLibraryInfo::disableAllFunctions() { |
73 memset(AvailableArray, 0, sizeof(AvailableArray)); | 73 memset(AvailableArray, 0, sizeof(AvailableArray)); |
74 } | 74 } |
OLD | NEW |