• Home
Name
Date
Size
#Lines
LOC

..--

Unix/03-May-2024-3,2212,741

Windows/03-May-2024-4,0753,440

APFloat.cppD03-May-2024103.9 KiB3,6452,501

APInt.cppD03-May-202486.2 KiB2,8711,979

APSInt.cppD03-May-2024779 247

Allocator.cppD03-May-20245.8 KiB189121

Android.mkD03-May-20242.1 KiB11292

Atomic.cppD03-May-20243.4 KiB125100

BlockFrequency.cppD03-May-20243 KiB13179

BranchProbability.cppD03-May-2024982 3717

CMakeLists.txtD03-May-20242 KiB115112

COPYRIGHT.regexD03-May-20242.7 KiB5547

CommandLine.cppD03-May-202449.4 KiB1,429940

ConstantRange.cppD03-May-202424.2 KiB732484

CrashRecoveryContext.cppD03-May-202410 KiB347203

DAGDeltaAlgorithm.cppD03-May-202412.7 KiB361236

DataExtractor.cppD03-May-20244.9 KiB176136

DataStream.cppD03-May-20242.9 KiB9960

Debug.cppD03-May-20244.6 KiB13562

DeltaAlgorithm.cppD03-May-20243.4 KiB11576

Disassembler.cppD03-May-20241.7 KiB7649

Dwarf.cppD03-May-202438.6 KiB710630

DynamicLibrary.cppD03-May-20244.9 KiB190119

Errno.cppD03-May-20242.1 KiB7541

ErrorHandling.cppD03-May-20243.2 KiB10064

FileOutputBuffer.cppD03-May-20244.5 KiB14992

FileUtilities.cppD03-May-20249.1 KiB281183

FoldingSet.cppD03-May-202414.3 KiB427255

FormattedStream.cppD03-May-20243.3 KiB10244

GraphWriter.cppD03-May-20245.5 KiB199159

Hashing.cppD03-May-20241.1 KiB306

Host.cppD03-May-202417.6 KiB519372

IncludeFile.cppD03-May-2024707 213

IntEqClasses.cppD03-May-20242.1 KiB7141

IntervalMap.cppD03-May-20244.3 KiB162101

IntrusiveRefCntPtr.cppD03-May-2024445 153

IsInf.cppD03-May-20241.5 KiB5027

IsNAN.cppD03-May-2024914 3418

LLVMBuild.txtD03-May-2024669 2220

Locale.cppD03-May-2024203 119

LocaleGeneric.incD03-May-2024183 1813

LocaleWindows.incD03-May-2024171 1512

LocaleXlocale.incD03-May-20241.1 KiB6249

LockFileManager.cppD03-May-20246.2 KiB217147

MakefileD03-May-2024690 238

ManagedStatic.cppD03-May-20242.3 KiB8246

Memory.cppD03-May-20242.8 KiB8649

MemoryBuffer.cppD03-May-202413.8 KiB390259

MemoryObject.cppD03-May-2024946 3821

Mutex.cppD03-May-20243.4 KiB13080

Path.cppD03-May-20248.4 KiB297230

PathV2.cppD03-May-202424.1 KiB922697

PluginLoader.cppD03-May-20241.6 KiB4830

PrettyStackTrace.cppD03-May-20244.1 KiB13483

Process.cppD03-May-20241 KiB3411

Program.cppD03-May-20241.9 KiB5835

README.txt.systemD03-May-20241.9 KiB4436

RWMutex.cppD03-May-20243.2 KiB12681

Regex.cppD03-May-20244.6 KiB169106

SearchForAddressOfSpecialSymbol.cppD03-May-20241.7 KiB5927

Signals.cppD03-May-20241.1 KiB3511

SmallPtrSet.cppD03-May-20249.3 KiB282176

SmallVector.cppD03-May-20241.5 KiB4119

SourceMgr.cppD03-May-202411.4 KiB361230

Statistic.cppD03-May-20244.7 KiB15586

StreamableMemoryObject.cppD03-May-20244.5 KiB141105

StringExtras.cppD03-May-20242.3 KiB6028

StringMap.cppD03-May-20248.3 KiB239136

StringPool.cppD03-May-2024997 3616

StringRef.cppD03-May-202413.5 KiB469306

SystemUtils.cppD03-May-20242.2 KiB5628

TargetRegistry.cppD03-May-20245.2 KiB164121

ThreadLocal.cppD03-May-20242.7 KiB9362

Threading.cppD03-May-20244 KiB14894

TimeValue.cppD03-May-20241.7 KiB5837

Timer.cppD03-May-202411.9 KiB390257

ToolOutputFile.cppD03-May-20241.5 KiB4421

Triple.cppD03-May-202424.5 KiB793606

Twine.cppD03-May-20244.1 KiB172148

Valgrind.cppD03-May-20242.1 KiB6835

YAMLParser.cppD03-May-202458.5 KiB2,1221,625

circular_raw_ostream.cppD03-May-20241.3 KiB4626

raw_os_ostream.cppD03-May-2024967 3110

raw_ostream.cppD03-May-202422.7 KiB784512

regcclass.hD03-May-20242.9 KiB7130

regcname.hD03-May-20244.2 KiB140101

regcomp.cD03-May-202434.8 KiB1,5261,145

regengine.incD03-May-202426.5 KiB1,035983

regerror.cD03-May-20244.4 KiB13678

regex2.hD03-May-20246.7 KiB15872

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.2 KiB5411

system_error.cppD03-May-20242.8 KiB13185

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