• Home
Name Date Size #Lines LOC

..--

Unix/03-May-2024-2,6492,224

Windows/03-May-2024-3,2472,707

APFloat.cppD03-May-2024115.1 KiB3,9072,605

APInt.cppD03-May-202487.3 KiB2,8922,000

APSInt.cppD03-May-2024779 247

ARMBuildAttrs.cppD03-May-20244 KiB9678

ARMWinEH.cppD03-May-20241 KiB3923

Allocator.cppD03-May-20241.5 KiB4626

Android.mkD03-May-20242.4 KiB128107

Atomic.cppD03-May-20243 KiB11892

BlockFrequency.cppD03-May-20241.9 KiB7343

BranchProbability.cppD03-May-20242 KiB7438

CMakeLists.txtD03-May-20243 KiB155149

COPYRIGHT.regexD03-May-20242.7 KiB5547

CommandLine.cppD03-May-202462.4 KiB1,8101,212

Compression.cppD03-May-20243.3 KiB9371

ConvertUTF.cD03-May-202426.4 KiB709466

ConvertUTFWrapper.cppD03-May-20244.4 KiB13295

CrashRecoveryContext.cppD03-May-202411 KiB377227

DAGDeltaAlgorithm.cppD03-May-202412.7 KiB363237

DataExtractor.cppD03-May-20244.9 KiB176136

DataStream.cppD03-May-20242.7 KiB9353

Debug.cppD03-May-20244.6 KiB13562

DeltaAlgorithm.cppD03-May-20243.4 KiB11576

Disassembler.cppD03-May-20241.7 KiB7549

Dwarf.cppD03-May-202442.1 KiB798706

DynamicLibrary.cppD03-May-20245.1 KiB181111

Errno.cppD03-May-20242.1 KiB7542

ErrorHandling.cppD03-May-20247.8 KiB206155

FileOutputBuffer.cppD03-May-20243.1 KiB10365

FileUtilities.cppD03-May-20248.6 KiB262171

FoldingSet.cppD03-May-202414.2 KiB425255

FormattedStream.cppD03-May-20243.4 KiB10750

GraphWriter.cppD03-May-20247.2 KiB243196

Hashing.cppD03-May-20241.1 KiB306

Host.cppD03-May-202426.3 KiB789579

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

LEB128.cppD03-May-20241.2 KiB4523

LLVMBuild.txtD03-May-2024669 2220

LineIterator.cppD03-May-20241.9 KiB7046

Locale.cppD03-May-2024837 3222

LockFileManager.cppD03-May-20247.3 KiB266186

MD5.cppD03-May-20249 KiB287190

MakefileD03-May-2024699 2410

ManagedStatic.cppD03-May-20242.6 KiB9152

Memory.cppD03-May-2024802 269

MemoryBuffer.cppD03-May-202414.1 KiB412276

MemoryObject.cppD03-May-2024850 3418

Mutex.cppD03-May-20243.2 KiB12375

Path.cppD03-May-202429.5 KiB1,090824

PluginLoader.cppD03-May-20241.6 KiB4830

PrettyStackTrace.cppD03-May-20244.6 KiB15292

Process.cppD03-May-20243.9 KiB12567

Program.cppD03-May-20242.3 KiB6942

README.txt.systemD03-May-20241.9 KiB4436

RWMutex.cppD03-May-20243.2 KiB12681

RandomNumberGenerator.cppD03-May-20241.8 KiB6232

Regex.cppD03-May-20245.3 KiB194123

ScaledNumber.cppD03-May-20248.8 KiB320225

SearchForAddressOfSpecialSymbol.cppD03-May-20241.7 KiB5927

Signals.cppD03-May-20241.1 KiB3511

SmallPtrSet.cppD03-May-202410.9 KiB337219

SmallVector.cppD03-May-20241.5 KiB4119

SourceMgr.cppD03-May-202416 KiB489318

SpecialCaseList.cppD03-May-20245.7 KiB171119

Statistic.cppD03-May-20245.1 KiB16494

StreamableMemoryObject.cppD03-May-20244.3 KiB141105

StringExtras.cppD03-May-20242.3 KiB6028

StringMap.cppD03-May-20248.5 KiB245142

StringPool.cppD03-May-2024978 3616

StringRef.cppD03-May-202414.2 KiB486318

StringRefMemoryObject.cppD03-May-2024946 3017

SystemUtils.cppD03-May-20241.2 KiB3418

TargetRegistry.cppD03-May-20244.7 KiB145108

ThreadLocal.cppD03-May-20242.7 KiB9463

Threading.cppD03-May-20243.2 KiB11371

TimeValue.cppD03-May-20241.8 KiB6341

Timer.cppD03-May-202412 KiB390257

ToolOutputFile.cppD03-May-20241.6 KiB4824

Triple.cppD03-May-202428.9 KiB933752

Twine.cppD03-May-20244 KiB172148

Unicode.cppD03-May-202420.1 KiB368316

Valgrind.cppD03-May-20242.6 KiB7641

Watchdog.cppD03-May-2024712 248

YAMLParser.cppD03-May-202460.8 KiB2,1941,692

YAMLTraits.cppD03-May-202421.8 KiB894726

circular_raw_ostream.cppD03-May-20241.3 KiB4626

raw_os_ostream.cppD03-May-2024967 3110

raw_ostream.cppD03-May-202422.8 KiB781507

regcclass.hD03-May-20242.9 KiB7633

regcname.hD03-May-20244.2 KiB145104

regcomp.cD03-May-202435.8 KiB1,5541,162

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