• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

Unix/23-Nov-2023-3,5893,039

Windows/23-Nov-2023-4,4303,708

AMDGPUMetadata.cppD23-Nov-20239.5 KiB238201

APFloat.cppD23-Nov-2023142.9 KiB4,5243,086

APInt.cppD23-Nov-202383 KiB2,7101,838

APSInt.cppD23-Nov-20231.4 KiB4424

ARMAttributeParser.cppD23-Nov-202323.9 KiB708587

ARMBuildAttrs.cppD23-Nov-20234.2 KiB10385

ARMWinEH.cppD23-Nov-20231 KiB3923

Allocator.cppD23-Nov-20231.3 KiB4121

Atomic.cppD23-Nov-20231.6 KiB6140

BinaryStreamError.cppD23-Nov-20231.7 KiB5738

BinaryStreamReader.cppD23-Nov-20234.4 KiB149115

BinaryStreamRef.cppD23-Nov-20234.7 KiB13296

BinaryStreamWriter.cppD23-Nov-20232.9 KiB9261

BlockFrequency.cppD23-Nov-20232.1 KiB8451

BranchProbability.cppD23-Nov-20233.5 KiB11871

CMakeLists.txtD23-Nov-20233.7 KiB169164

COM.cppD23-Nov-2023700 247

COPYRIGHT.regexD23-Nov-20232.7 KiB5547

CachePruning.cppD23-Nov-20239.9 KiB278206

Chrono.cppD23-Nov-20233.1 KiB9575

CodeGenCoverage.cppD23-Nov-20233.8 KiB12683

CommandLine.cppD23-Nov-202375.3 KiB2,2411,600

Compression.cppD23-Nov-20234.3 KiB12293

ConvertUTF.cppD23-Nov-202327.2 KiB740489

ConvertUTFWrapper.cppD23-Nov-20238.6 KiB252192

CrashRecoveryContext.cppD23-Nov-202312.7 KiB413251

DAGDeltaAlgorithm.cppD23-Nov-202312.4 KiB363238

DJB.cppD23-Nov-20232.8 KiB8754

DataExtractor.cppD23-Nov-20235.4 KiB193150

Debug.cppD23-Nov-20235.6 KiB16786

DebugCounter.cppD23-Nov-20234.2 KiB11685

DeltaAlgorithm.cppD23-Nov-20233.4 KiB11677

DynamicLibrary.cppD23-Nov-20236.2 KiB217153

Errno.cppD23-Nov-20232.2 KiB7744

Error.cppD23-Nov-20233.9 KiB145104

ErrorHandling.cppD23-Nov-202311.5 KiB312227

FileOutputBuffer.cppD23-Nov-20236.1 KiB188126

FileUtilities.cppD23-Nov-20238.6 KiB268176

FoldingSet.cppD23-Nov-202315.4 KiB465284

FormatVariadic.cppD23-Nov-20235.1 KiB155111

FormattedStream.cppD23-Nov-20233.5 KiB10952

GlobPattern.cppD23-Nov-20234.6 KiB171113

GraphWriter.cppD23-Nov-20238.4 KiB300246

Hashing.cppD23-Nov-20231.1 KiB306

Host.cppD23-Nov-202346.1 KiB1,3761,100

InitLLVM.cppD23-Nov-20231.7 KiB5324

IntEqClasses.cppD23-Nov-20232.1 KiB7847

IntervalMap.cppD23-Nov-20234.3 KiB162101

JSON.cppD23-Nov-202317.9 KiB694620

JamCRC.cppD23-Nov-20234.3 KiB9875

KnownBits.cppD23-Nov-20232.3 KiB6632

LEB128.cppD23-Nov-20231.2 KiB4523

LLVMBuild.txtD23-Nov-2023699 2321

LineIterator.cppD23-Nov-20232.6 KiB9567

Locale.cppD23-Nov-2023851 3323

LockFileManager.cppD23-Nov-202310.1 KiB357254

LowLevelType.cppD23-Nov-20232.1 KiB5737

MD5.cppD23-Nov-20239 KiB284185

ManagedStatic.cppD23-Nov-20232.3 KiB8653

MathExtras.cppD23-Nov-2023885 3313

Memory.cppD23-Nov-2023800 269

MemoryBuffer.cppD23-Nov-202318.3 KiB537381

Mutex.cppD23-Nov-20233.2 KiB12576

NativeFormatting.cppD23-Nov-20237.5 KiB265207

Options.cppD23-Nov-20231.1 KiB3414

Parallel.cppD23-Nov-20233 KiB13094

Path.cppD23-Nov-202334.8 KiB1,247940

PluginLoader.cppD23-Nov-20231.6 KiB4830

PrettyStackTrace.cppD23-Nov-20236.3 KiB211143

Process.cppD23-Nov-20232.9 KiB9963

Program.cppD23-Nov-20233 KiB8456

README.txt.systemD23-Nov-20231.9 KiB4436

RWMutex.cppD23-Nov-20233.2 KiB12678

RandomNumberGenerator.cppD23-Nov-20233 KiB9054

Regex.cppD23-Nov-20235.7 KiB211132

SHA1.cppD23-Nov-20239.4 KiB282218

ScaledNumber.cppD23-Nov-20239.1 KiB325230

ScopedPrinter.cppD23-Nov-20231.2 KiB4738

Signals.cppD23-Nov-20238.1 KiB218158

SmallPtrSet.cppD23-Nov-20239.2 KiB272181

SmallVector.cppD23-Nov-20232.5 KiB6741

SourceMgr.cppD23-Nov-202317.3 KiB520356

SpecialCaseList.cppD23-Nov-20237.3 KiB233177

Statistic.cppD23-Nov-20238.7 KiB269160

StringExtras.cppD23-Nov-20233.1 KiB9257

StringMap.cppD23-Nov-20239.3 KiB263150

StringPool.cppD23-Nov-2023974 3616

StringRef.cppD23-Nov-202317.3 KiB601400

StringSaver.cppD23-Nov-2023834 2714

SystemUtils.cppD23-Nov-20231.1 KiB3216

TarWriter.cppD23-Nov-20236.5 KiB202115

TargetParser.cppD23-Nov-202327.8 KiB940735

TargetRegistry.cppD23-Nov-20234.6 KiB13697

ThreadLocal.cppD23-Nov-20231.7 KiB4928

ThreadPool.cppD23-Nov-20234.6 KiB14788

Threading.cppD23-Nov-20232.9 KiB9753

Timer.cppD23-Nov-202313.3 KiB422294

ToolOutputFile.cppD23-Nov-20231.5 KiB4723

TrigramIndex.cppD23-Nov-20233.2 KiB11276

Triple.cppD23-Nov-202349.1 KiB1,6111,363

Twine.cppD23-Nov-20234.6 KiB186160

Unicode.cppD23-Nov-202320.1 KiB368316

UnicodeCaseFold.cppD23-Nov-202315.3 KiB743542

Valgrind.cppD23-Nov-20231.6 KiB5626

VersionTuple.cppD23-Nov-20232.7 KiB11175

Watchdog.cppD23-Nov-2023710 248

WithColor.cppD23-Nov-20232.6 KiB9168

YAMLParser.cppD23-Nov-202367.8 KiB2,4441,865

YAMLTraits.cppD23-Nov-202326.5 KiB1,015820

circular_raw_ostream.cppD23-Nov-20231.3 KiB4626

raw_os_ostream.cppD23-Nov-2023967 3110

raw_ostream.cppD23-Nov-202325.8 KiB849593

regcomp.cD23-Nov-202339.4 KiB1,7021,304

regengine.incD23-Nov-202326.5 KiB1,035983

regerror.cD23-Nov-20234.4 KiB13678

regex2.hD23-Nov-20236.8 KiB16677

regex_impl.hD23-Nov-20233.6 KiB10959

regexec.cD23-Nov-20235.7 KiB16392

regfree.cD23-Nov-20232.5 KiB7327

regstrlcpy.cD23-Nov-20231.6 KiB5323

regutils.hD23-Nov-20232.3 KiB5914

xxhash.cppD23-Nov-20234.1 KiB13983

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