• Home
Name Date Size #Lines LOC

..--

Unix/03-May-2024-2,9792,521

Windows/03-May-2024-4,0323,371

APFloat.cppD03-May-2024118.6 KiB4,0112,672

APInt.cppD03-May-202487.5 KiB2,9142,016

APSInt.cppD03-May-20241.4 KiB4424

ARMBuildAttrs.cppD03-May-20244 KiB9779

ARMWinEH.cppD03-May-20241 KiB3923

Allocator.cppD03-May-20241.3 KiB4121

Android.bpD03-May-2024448 2019

Atomic.cppD03-May-20241.5 KiB5940

BlockFrequency.cppD03-May-20242.1 KiB8552

BranchProbability.cppD03-May-20243.4 KiB11568

CMakeLists.txtD03-May-20242.7 KiB139133

COM.cppD03-May-2024702 247

COPYRIGHT.regexD03-May-20242.7 KiB5547

CachePruning.cppD03-May-20245.5 KiB160103

CommandLine.cppD03-May-202472.5 KiB2,1541,515

Compression.cppD03-May-20243.7 KiB10074

ConvertUTF.cD03-May-202426.4 KiB709466

ConvertUTFWrapper.cppD03-May-20248.6 KiB252192

CrashRecoveryContext.cppD03-May-202411.1 KiB379225

DAGDeltaAlgorithm.cppD03-May-202412.4 KiB355230

DataExtractor.cppD03-May-20244.9 KiB176136

DataStream.cppD03-May-20242.7 KiB8748

Debug.cppD03-May-20245.4 KiB15980

DeltaAlgorithm.cppD03-May-20243.4 KiB11576

Dwarf.cppD03-May-202429 KiB636578

DynamicLibrary.cppD03-May-20245.3 KiB190117

Errno.cppD03-May-20242.2 KiB7744

Error.cppD03-May-20243.1 KiB11480

ErrorHandling.cppD03-May-20247.9 KiB208157

FileOutputBuffer.cppD03-May-20243.5 KiB11571

FileUtilities.cppD03-May-20248.6 KiB264173

FoldingSet.cppD03-May-202415.3 KiB463283

FormattedStream.cppD03-May-20243.4 KiB10851

GraphWriter.cppD03-May-20248.5 KiB294243

Hashing.cppD03-May-20241.1 KiB306

Host.cppD03-May-202441.3 KiB1,3431,115

IntEqClasses.cppD03-May-20242.1 KiB7847

IntervalMap.cppD03-May-20244.3 KiB162101

IntrusiveRefCntPtr.cppD03-May-2024445 153

JamCRC.cppD03-May-20244.3 KiB9875

LEB128.cppD03-May-20241.2 KiB4523

LLVMBuild.txtD03-May-2024669 2220

LineIterator.cppD03-May-20242.6 KiB9567

Locale.cppD03-May-2024902 3424

LockFileManager.cppD03-May-202410 KiB345248

MD5.cppD03-May-20248.9 KiB287190

ManagedStatic.cppD03-May-20242.5 KiB8953

MathExtras.cppD03-May-2024885 3313

Memory.cppD03-May-2024802 269

MemoryBuffer.cppD03-May-202414.8 KiB446308

MemoryObject.cppD03-May-2024440 154

Mutex.cppD03-May-20243.2 KiB12375

Options.cppD03-May-20241.1 KiB3414

Path.cppD03-May-202432.7 KiB1,189913

PluginLoader.cppD03-May-20241.6 KiB4830

PrettyStackTrace.cppD03-May-20245.8 KiB189123

Process.cppD03-May-20242.5 KiB9056

Program.cppD03-May-20242.4 KiB7043

README.txt.systemD03-May-20241.9 KiB4436

RWMutex.cppD03-May-20243.2 KiB12681

RandomNumberGenerator.cppD03-May-20241.9 KiB5825

Regex.cppD03-May-20245.3 KiB194123

SHA1.cppD03-May-20244.6 KiB171124

ScaledNumber.cppD03-May-20249.1 KiB325230

ScopedPrinter.cppD03-May-20241.8 KiB7360

SearchForAddressOfSpecialSymbol.cppD03-May-20241.7 KiB5927

Signals.cppD03-May-20246.7 KiB185133

SmallPtrSet.cppD03-May-20249.9 KiB296200

SmallVector.cppD03-May-20241.5 KiB4220

SourceMgr.cppD03-May-202415.9 KiB484314

SpecialCaseList.cppD03-May-20245.8 KiB169119

Statistic.cppD03-May-20246.2 KiB206128

StreamingMemoryObject.cppD03-May-20244.2 KiB139102

StringExtras.cppD03-May-20242.3 KiB5927

StringMap.cppD03-May-20249.3 KiB260148

StringPool.cppD03-May-2024978 3616

StringRef.cppD03-May-202415.2 KiB525337

StringSaver.cppD03-May-2024566 208

SystemUtils.cppD03-May-20241.1 KiB3216

TargetParser.cppD03-May-202424.2 KiB835642

TargetRegistry.cppD03-May-20244.6 KiB13798

ThreadLocal.cppD03-May-20241.7 KiB4928

ThreadPool.cppD03-May-20245 KiB159100

Threading.cppD03-May-20243.3 KiB11975

TimeValue.cppD03-May-20241.5 KiB5735

Timer.cppD03-May-202411.4 KiB376246

ToolOutputFile.cppD03-May-20241.6 KiB4723

Triple.cppD03-May-202444.8 KiB1,4881,254

Twine.cppD03-May-20244 KiB171148

Unicode.cppD03-May-202420.1 KiB368316

Valgrind.cppD03-May-20241.6 KiB5626

Watchdog.cppD03-May-2024712 248

YAMLParser.cppD03-May-202468.3 KiB2,4461,865

YAMLTraits.cppD03-May-202425.3 KiB994809

circular_raw_ostream.cppD03-May-20241.3 KiB4626

raw_os_ostream.cppD03-May-2024967 3110

raw_ostream.cppD03-May-202422.6 KiB793543

regcclass.hD03-May-20242.9 KiB7633

regcname.hD03-May-20244.2 KiB145104

regcomp.cD03-May-202436.2 KiB1,5751,179

regengine.incD03-May-202426.5 KiB1,035983

regerror.cD03-May-20244.4 KiB13678

regex2.hD03-May-20246.8 KiB16375

regex_impl.hD03-May-20243.6 KiB10959

regexec.cD03-May-20245.7 KiB16392

regfree.cD03-May-20242.5 KiB7327

regstrlcpy.cD03-May-20241.6 KiB5323

regutils.hD03-May-20242.3 KiB5914

README.txt.system

1Design Of lib/System
2====================
3
4The software in this directory is designed to completely shield LLVM from any
5and all operating system specific functionality. It is not intended to be a
6complete operating system wrapper (such as ACE), but only to provide the
7functionality necessary to support LLVM.
8
9The software located here, of necessity, has very specific and stringent design
10rules. Violation of these rules means that cracks in the shield could form and
11the primary goal of the library is defeated. By consistently using this library,
12LLVM becomes more easily ported to new platforms since the only thing requiring
13porting is this library.
14
15Complete documentation for the library can be found in the file:
16  llvm/docs/SystemLibrary.html
17or at this URL:
18  http://llvm.org/docs/SystemLibrary.html
19
20While we recommend that you read the more detailed documentation, for the
21impatient, here's a high level summary of the library's requirements.
22
23 1. No system header files are to be exposed through the interface.
24 2. Std C++ and Std C header files are okay to be exposed through the interface.
25 3. No exposed system-specific functions.
26 4. No exposed system-specific data.
27 5. Data in lib/System classes must use only simple C++ intrinsic types.
28 6. Errors are handled by returning "true" and setting an optional std::string
29 7. Library must not throw any exceptions, period.
30 8. Interface functions must not have throw() specifications.
31 9. No duplicate function impementations are permitted within an operating
32    system class.
33
34To accomplish these requirements, the library has numerous design criteria that
35must be satisfied. Here's a high level summary of the library's design criteria:
36
37 1. No unused functionality (only what LLVM needs)
38 2. High-Level Interfaces
39 3. Use Opaque Classes
40 4. Common Implementations
41 5. Multiple Implementations
42 6. Minimize Memory Allocation
43 7. No Virtual Methods
44