|
LLVM
3.7.0
|
Namespaces | |
| fs | |
| locale | |
| path | |
| unicode | |
| windows | |
Classes | |
| class | InitializeCOMRAII |
| class | DynamicLibrary |
| This class provides a portable interface to dynamic libraries which also might be known as shared libraries, shared objects, dynamic shared objects, or dynamic link libraries. More... | |
| class | MemoryBlock |
| This class encapsulates the notion of a memory block which has an address and a size. More... | |
| class | Memory |
| This class provides various memory handling functions that manipulate MemoryBlock instances. More... | |
| class | MutexImpl |
| Platform agnostic Mutex class. More... | |
| class | SmartMutex |
| SmartMutex - A mutex with a compile time constant parameter that indicates whether this mutex should become a no-op when we're not running in multithreaded mode. More... | |
| class | SmartScopedLock |
| class | Process |
| A collection of legacy interfaces for querying information about the current executing process. More... | |
| struct | ProcessInfo |
| This is the OS-specific separator for PATH like environment variables: More... | |
| class | RWMutexImpl |
| Platform agnostic RWMutex class. More... | |
| class | SmartRWMutex |
| SmartMutex - An R/W mutex with a compile time constant parameter that indicates whether this mutex should become a no-op when we're not running in multithreaded mode. More... | |
| struct | SmartScopedReader |
| ScopedReader - RAII acquisition of a reader lock. More... | |
| struct | SmartScopedWriter |
| ScopedWriter - RAII acquisition of a writer lock. More... | |
| class | ThreadLocalImpl |
| class | ThreadLocal |
| ThreadLocal - A class used to abstract thread-local storage. More... | |
| class | TimeValue |
| This class is used where a precise fixed point in time is required. More... | |
| struct | UnicodeCharRange |
| Represents a closed range of Unicode code points [Lower, Upper]. More... | |
| class | UnicodeCharSet |
| Holds a reference to an ordered array of UnicodeCharRange and allows to quickly check if a code point is contained in the set represented by this array. More... | |
| class | Watchdog |
| This class provides an abstraction for a timeout around an operation that must complete in a given amount of time. More... | |
Typedefs | |
| typedef uint32_t | cas_flag |
| typedef SmartMutex< false > | Mutex |
| Mutex - A standard, always enforced mutex. More... | |
| typedef SmartScopedLock< false > | ScopedLock |
| typedef SmartRWMutex< false > | RWMutex |
| typedef SmartScopedReader< false > | ScopedReader |
| typedef SmartScopedWriter< false > | ScopedWriter |
Enumerations | |
| enum | COMThreadingMode { COMThreadingMode::SingleThreaded, COMThreadingMode::MultiThreaded } |
| enum | WindowsEncodingMethod { WEM_UTF8, WEM_CurrentCodePage, WEM_UTF16 } |
| File encoding options when writing contents that a non-UTF8 tool will read (on Windows systems). More... | |
Functions | |
| void | MemoryFence () |
| cas_flag | CompareAndSwap (volatile cas_flag *ptr, cas_flag new_value, cas_flag old_value) |
| cas_flag | AtomicIncrement (volatile cas_flag *ptr) |
| cas_flag | AtomicDecrement (volatile cas_flag *ptr) |
| cas_flag | AtomicAdd (volatile cas_flag *ptr, cas_flag val) |
| cas_flag | AtomicMul (volatile cas_flag *ptr, cas_flag val) |
| cas_flag | AtomicDiv (volatile cas_flag *ptr, cas_flag val) |
| std::string | StrError () |
| Returns a string representation of the errno value, using whatever thread-safe variant of strerror() is available. More... | |
| std::string | StrError (int errnum) |
Like the no-argument version above, but uses errnum instead of errno. More... | |
| std::string | getDefaultTargetTriple () |
| getDefaultTargetTriple() - Return the default target triple the compiler has been configured to produce code for. More... | |
| std::string | getProcessTriple () |
| getProcessTriple() - Return an appropriate target triple for generating code to be loaded into the current process, e.g. More... | |
| StringRef | getHostCPUName () |
| getHostCPUName - Get the LLVM name for the host CPU. More... | |
| bool | getHostCPUFeatures (StringMap< bool > &Features) |
| getHostCPUFeatures - Get the LLVM names for the host CPU features. More... | |
| ErrorOr< std::string > | findProgramByName (StringRef Name, ArrayRef< StringRef > Paths=ArrayRef< StringRef >()) |
Find the first executable file Name in Paths. More... | |
| std::error_code | ChangeStdinToBinary () |
| std::error_code | ChangeStdoutToBinary () |
| int | ExecuteAndWait (StringRef Program, const char **args, const char **env=nullptr, const StringRef **redirects=nullptr, unsigned secondsToWait=0, unsigned memoryLimit=0, std::string *ErrMsg=nullptr, bool *ExecutionFailed=nullptr) |
| This function executes the program using the arguments provided. More... | |
| ProcessInfo | ExecuteNoWait (StringRef Program, const char **args, const char **env=nullptr, const StringRef **redirects=nullptr, unsigned memoryLimit=0, std::string *ErrMsg=nullptr, bool *ExecutionFailed=nullptr) |
| Similar to ExecuteAndWait, but returns immediately. More... | |
| bool | argumentsFitWithinSystemLimits (ArrayRef< const char * > Args) |
| Return true if the given arguments fit within system-specific argument length limits. More... | |
| std::error_code | writeFileWithEncoding (StringRef FileName, StringRef Contents, WindowsEncodingMethod Encoding=WEM_UTF8) |
Saves the UTF8-encoded contents string into the file FileName using a specific encoding. More... | |
| ProcessInfo | Wait (const ProcessInfo &PI, unsigned SecondsToWait, bool WaitUntilTerminates, std::string *ErrMsg=nullptr) |
This function waits for the process specified by PI to finish. More... | |
| void | RunInterruptHandlers () |
| This function runs all the registered interrupt handlers, including the removal of files registered by RemoveFileOnSignal. More... | |
| bool | RemoveFileOnSignal (StringRef Filename, std::string *ErrMsg=nullptr) |
| This function registers signal handlers to ensure that if a signal gets delivered that the named file is removed. More... | |
| void | DontRemoveFileOnSignal (StringRef Filename) |
| This function removes a file from the list of files to be removed on signal delivery. More... | |
| void | PrintStackTraceOnErrorSignal (bool DisableCrashReporting=false) |
| When an error signal (such as SIBABRT or SIGSEGV) is delivered to the process, print a stack trace and then exit. More... | |
| void | DisableSystemDialogsOnCrash () |
| Disable all system dialog boxes that appear when the process crashes. More... | |
| void | PrintStackTrace (raw_ostream &OS) |
Print the stack trace using the given raw_ostream object. More... | |
| void | AddSignalHandler (void(*FnPtr)(void *), void *Cookie) |
| AddSignalHandler - Add a function to be called when an abort/kill signal is delivered to the process. More... | |
| void | SetInterruptFunction (void(*IF)()) |
| This function registers a function to be called when the user "interrupts" the program (typically by pressing ctrl-c). More... | |
| uint16_t | SwapByteOrder_16 (uint16_t value) |
| SwapByteOrder_16 - This function returns a byte-swapped representation of the 16-bit argument. More... | |
| uint32_t | SwapByteOrder_32 (uint32_t value) |
| SwapByteOrder_32 - This function returns a byte-swapped representation of the 32-bit argument. More... | |
| uint64_t | SwapByteOrder_64 (uint64_t value) |
| SwapByteOrder_64 - This function returns a byte-swapped representation of the 64-bit argument. More... | |
| unsigned char | getSwappedBytes (unsigned char C) |
| signed char | getSwappedBytes (signed char C) |
| char | getSwappedBytes (char C) |
| unsigned short | getSwappedBytes (unsigned short C) |
| signed short | getSwappedBytes (signed short C) |
| unsigned int | getSwappedBytes (unsigned int C) |
| signed int | getSwappedBytes (signed int C) |
| unsigned long | getSwappedBytes (unsigned long C) |
| signed long | getSwappedBytes (signed long C) |
| unsigned long long | getSwappedBytes (unsigned long long C) |
| signed long long | getSwappedBytes (signed long long C) |
| float | getSwappedBytes (float C) |
| double | getSwappedBytes (double C) |
| template<typename T > | |
| void | swapByteOrder (T &Value) |
| TimeValue | operator+ (const TimeValue &tv1, const TimeValue &tv2) |
| TimeValue | operator- (const TimeValue &tv1, const TimeValue &tv2) |
| bool | operator< (uint32_t Value, UnicodeCharRange Range) |
| bool | operator< (UnicodeCharRange Range, uint32_t Value) |
| bool | RunningOnValgrind () |
| void | ValgrindDiscardTranslations (const void *Addr, size_t Len) |
Variables | |
| static const bool | IsBigEndianHost = false |
| static const bool | IsLittleEndianHost = !IsBigEndianHost |
| typedef uint32_t llvm::sys::cas_flag |
| typedef SmartMutex<false> llvm::sys::Mutex |
| typedef SmartRWMutex<false> llvm::sys::RWMutex |
| typedef SmartScopedLock<false> llvm::sys::ScopedLock |
|
strong |
| void llvm::sys::AddSignalHandler | ( | void(*)(void *) | FnPtr, |
| void * | Cookie | ||
| ) |
AddSignalHandler - Add a function to be called when an abort/kill signal is delivered to the process.
The handler can have a cookie passed to it to identify what instance of the handler it is.
Referenced by llvm::dbgs(), and RegisterCrashPrinter().
Return true if the given arguments fit within system-specific argument length limits.
| cas_flag llvm::sys::AtomicAdd | ( | volatile cas_flag * | ptr, |
| cas_flag | val | ||
| ) |
Referenced by llvm::Statistic::operator+=(), and llvm::Statistic::operator-=().
| cas_flag llvm::sys::AtomicDecrement | ( | volatile cas_flag * | ptr | ) |
Referenced by llvm::Statistic::operator--().
| cas_flag llvm::sys::AtomicDiv | ( | volatile cas_flag * | ptr, |
| cas_flag | val | ||
| ) |
Referenced by llvm::Statistic::operator/=().
| cas_flag llvm::sys::AtomicIncrement | ( | volatile cas_flag * | ptr | ) |
Referenced by llvm::Statistic::operator++().
| cas_flag llvm::sys::AtomicMul | ( | volatile cas_flag * | ptr, |
| cas_flag | val | ||
| ) |
Referenced by llvm::Statistic::operator*=().
| std::error_code llvm::sys::ChangeStdinToBinary | ( | ) |
Referenced by llvm::MemoryBuffer::getSTDIN().
| std::error_code llvm::sys::ChangeStdoutToBinary | ( | ) |
Referenced by getFD().
| cas_flag llvm::sys::CompareAndSwap | ( | volatile cas_flag * | ptr, |
| cas_flag | new_value, | ||
| cas_flag | old_value | ||
| ) |
| void llvm::sys::DisableSystemDialogsOnCrash | ( | ) |
Disable all system dialog boxes that appear when the process crashes.
| void llvm::sys::DontRemoveFileOnSignal | ( | StringRef | Filename | ) |
This function removes a file from the list of files to be removed on signal delivery.
Referenced by llvm::LockFileManager::~LockFileManager().
| int llvm::sys::ExecuteAndWait | ( | StringRef | Program, |
| const char ** | args, | ||
| const char ** | env = nullptr, |
||
| const StringRef ** | redirects = nullptr, |
||
| unsigned | secondsToWait = 0, |
||
| unsigned | memoryLimit = 0, |
||
| std::string * | ErrMsg = nullptr, |
||
| bool * | ExecutionFailed = nullptr |
||
| ) |
This function executes the program using the arguments provided.
The invoked program will inherit the stdin, stdout, and stderr file descriptors, the environment and other configuration settings of the invoking program. This function waits for the program to finish, so should be avoided in library functions that aren't expected to block. Consider using ExecuteNoWait() instead.
| Program | Path of the program to be executed. It is |
| args | presumed this is the result of the findProgramByName method. A vector of strings that are passed to the program. The first element should be the name of the program. The list must be terminated by a null char* entry. |
| env | An optional vector of strings to use for the program's environment. If not provided, the current program's environment will be used. |
| redirects | An optional array of pointers to paths. If the array is null, no redirection is done. The array should have a size of at least three. The inferior process's stdin(0), stdout(1), and stderr(2) will be redirected to the corresponding paths. When an empty path is passed in, the corresponding file descriptor will be disconnected (ie, /dev/null'd) in a portable way. |
| secondsToWait | If non-zero, this specifies the amount of time to wait for the child process to exit. If the time expires, the child is killed and this call returns. If zero, this function will wait until the child finishes or forever if it doesn't. |
| memoryLimit | If non-zero, this specifies max. amount of memory can be allocated by process. If memory usage will be higher limit, the child is killed and this call returns. If zero
|
| ErrMsg | If non-zero, provides a pointer to a string instance in which error messages will be returned. If the string is non-empty upon return an error occurred while invoking the program. |
Definition at line 30 of file Program.cpp.
References Execute(), llvm::sys::ProcessInfo::ReturnCode, and Wait().
Referenced by ExecGraphViewer().
| ProcessInfo llvm::sys::ExecuteNoWait | ( | StringRef | Program, |
| const char ** | args, | ||
| const char ** | env = nullptr, |
||
| const StringRef ** | redirects = nullptr, |
||
| unsigned | memoryLimit = 0, |
||
| std::string * | ErrMsg = nullptr, |
||
| bool * | ExecutionFailed = nullptr |
||
| ) |
Similar to ExecuteAndWait, but returns immediately.
Definition at line 49 of file Program.cpp.
References Execute().
Referenced by ExecGraphViewer().
| ErrorOr<std::string> llvm::sys::findProgramByName | ( | StringRef | Name, |
| ArrayRef< StringRef > | Paths = ArrayRef< StringRef >() |
||
| ) |
Find the first executable file Name in Paths.
This does not perform hashing as a shell would but instead stats each PATH entry individually so should generally be avoided. Core LLVM library functions and options should instead require fully specified paths.
| Name | name of the executable to find. If it contains any system slashes, it will be returned as is. |
| Paths | optional list of paths to search for Name. If empty it will use the system PATH environment instead. |
Name in Paths if it exists. Name if Name has slashes in it. Otherwise an error. | std::string llvm::sys::getDefaultTargetTriple | ( | ) |
getDefaultTargetTriple() - Return the default target triple the compiler has been configured to produce code for.
The target triple is a string in the format of: CPU_TYPE-VENDOR-OPERATING_SYSTEM or CPU_TYPE-VENDOR-KERNEL-OPERATING_SYSTEM
Referenced by llvm::object::MachOObjectFile::getHostArch(), and LLVMGetDefaultTargetTriple().
getHostCPUFeatures - Get the LLVM names for the host CPU features.
The particular format of the names are target dependent, and suitable for passing as -mattr to the target which matches the host.
| Features | - A string mapping feature names to either true (if enabled) or false (if disabled). This routine makes no guarantees about exactly which features may appear in this map, except that they are all valid LLVM feature names. |
Definition at line 893 of file Host.cpp.
Referenced by getFeaturesStr().
| StringRef llvm::sys::getHostCPUName | ( | ) |
getHostCPUName - Get the LLVM name for the host CPU.
The particular format of the name is target dependent, and suitable for passing as -mcpu to the target which matches the host.
Definition at line 729 of file Host.cpp.
Referenced by getCPUStr().
| std::string llvm::sys::getProcessTriple | ( | ) |
getProcessTriple() - Return an appropriate target triple for generating code to be loaded into the current process, e.g.
when using the JIT.
Definition at line 898 of file Host.cpp.
References llvm::Triple::get32BitArchVariant(), llvm::Triple::get64BitArchVariant(), llvm::Triple::isArch32Bit(), llvm::Triple::isArch64Bit(), llvm::Triple::normalize(), and llvm::Triple::str().
Referenced by llvm::EngineBuilder::selectTarget().
Definition at line 70 of file SwapByteOrder.h.
Referenced by llvm::RawInstrProfReader< IntPtrT >::hasFormat(), and swapByteOrder().
|
inline |
Definition at line 71 of file SwapByteOrder.h.
|
inline |
Definition at line 72 of file SwapByteOrder.h.
Definition at line 74 of file SwapByteOrder.h.
References SwapByteOrder_16().
|
inline |
Definition at line 75 of file SwapByteOrder.h.
References SwapByteOrder_16().
Definition at line 77 of file SwapByteOrder.h.
References SwapByteOrder_32().
Definition at line 78 of file SwapByteOrder.h.
References SwapByteOrder_32().
Definition at line 81 of file SwapByteOrder.h.
References SwapByteOrder_32().
|
inline |
Definition at line 82 of file SwapByteOrder.h.
References SwapByteOrder_32().
Definition at line 90 of file SwapByteOrder.h.
References SwapByteOrder_64().
|
inline |
Definition at line 93 of file SwapByteOrder.h.
References SwapByteOrder_64().
|
inline |
Definition at line 97 of file SwapByteOrder.h.
References SwapByteOrder_32().
|
inline |
Definition at line 107 of file SwapByteOrder.h.
References SwapByteOrder_64().
| void llvm::sys::MemoryFence | ( | ) |
Definition at line 29 of file Atomic.cpp.
Referenced by getDefaultTimerGroup(), llvm::Statistic::init(), llvm::ManagedStatic< C >::operator*(), llvm::ManagedStatic< C >::operator->(), llvm::ManagedStaticBase::RegisterManagedStatic(), and llvm::Statistic::RegisterStatistic().
Definition at line 371 of file TimeValue.h.
Definition at line 377 of file TimeValue.h.
|
inline |
Definition at line 32 of file UnicodeCharRanges.h.
References llvm::sys::UnicodeCharRange::Lower.
|
inline |
Definition at line 35 of file UnicodeCharRanges.h.
References llvm::sys::UnicodeCharRange::Upper.
| void llvm::sys::PrintStackTrace | ( | raw_ostream & | OS | ) |
Print the stack trace using the given raw_ostream object.
When an error signal (such as SIBABRT or SIGSEGV) is delivered to the process, print a stack trace and then exit.
Print a stack trace if a fatal signal occurs.
| bool llvm::sys::RemoveFileOnSignal | ( | StringRef | Filename, |
| std::string * | ErrMsg = nullptr |
||
| ) |
This function registers signal handlers to ensure that if a signal gets delivered that the named file is removed.
Remove a file if a fatal signal occurs.
| void llvm::sys::RunInterruptHandlers | ( | ) |
This function runs all the registered interrupt handlers, including the removal of files registered by RemoveFileOnSignal.
Referenced by llvm::PrintFatalError(), llvm::report_fatal_error(), and llvm::MCContext::reportFatalError().
| bool llvm::sys::RunningOnValgrind | ( | ) |
Definition at line 32 of file Valgrind.cpp.
| void llvm::sys::SetInterruptFunction | ( | void(*)() | IF | ) |
This function registers a function to be called when the user "interrupts" the program (typically by pressing ctrl-c).
When the user interrupts the program, the specified interrupt function is called instead of the program being killed, and the interrupt function automatically disabled. Note that interrupt functions are not allowed to call any non-reentrant functions. An null interrupt function pointer disables the current installed function. Note also that the handler may be executed on a different thread on some platforms. Register a function to be called when ctrl-c is pressed.
| std::string llvm::sys::StrError | ( | ) |
Returns a string representation of the errno value, using whatever thread-safe variant of strerror() is available.
Be sure to call this immediately after the function that set errno, or errno may have been overwritten by an intervening call.
Definition at line 32 of file Errno.cpp.
Referenced by MakeErrMsg().
| std::string llvm::sys::StrError | ( | int | errnum | ) |
Like the no-argument version above, but uses errnum instead of errno.
Definition at line 37 of file Errno.cpp.
References llvm::raw_ostream::flush().
|
inline |
Definition at line 118 of file SwapByteOrder.h.
References getSwappedBytes().
Referenced by llvm::support::endian::byte_swap(), llvm::hashing::detail::fetch32(), llvm::hashing::detail::fetch64(), getU(), prependCompressionHeader(), SwapStruct(), llvm::MachO::swapStruct(), llvm::RuntimeDyldImpl::writeInt16BE(), llvm::RuntimeDyldImpl::writeInt32BE(), and llvm::RuntimeDyldImpl::writeInt64BE().
|
inline |
SwapByteOrder_16 - This function returns a byte-swapped representation of the 16-bit argument.
Definition at line 28 of file SwapByteOrder.h.
References llvm::MipsISD::Hi, and llvm::MipsISD::Lo.
Referenced by llvm::ByteSwap_16(), llvm::convertUTF16ToUTF8String(), and getSwappedBytes().
|
inline |
SwapByteOrder_32 - This function returns a byte-swapped representation of the 32-bit argument.
Definition at line 42 of file SwapByteOrder.h.
Referenced by llvm::ByteSwap_32(), getSwappedBytes(), and SwapByteOrder_64().
|
inline |
SwapByteOrder_64 - This function returns a byte-swapped representation of the 64-bit argument.
Definition at line 58 of file SwapByteOrder.h.
References llvm::MipsISD::Hi, llvm::MipsISD::Lo, and SwapByteOrder_32().
Referenced by llvm::ByteSwap_64(), and getSwappedBytes().
| void llvm::sys::ValgrindDiscardTranslations | ( | const void * | Addr, |
| size_t | Len | ||
| ) |
Definition at line 38 of file Valgrind.cpp.
| ProcessInfo llvm::sys::Wait | ( | const ProcessInfo & | PI, |
| unsigned | SecondsToWait, | ||
| bool | WaitUntilTerminates, | ||
| std::string * | ErrMsg = nullptr |
||
| ) |
This function waits for the process specified by PI to finish.
| PI | The child process that should be waited on. |
| SecondsToWait | If non-zero, this specifies the amount of time to wait for the child process to exit. If the time expires, the child is killed and this function returns. If zero, this function will perform a non-blocking wait on the child process. |
| WaitUntilTerminates | If true, ignores SecondsToWait and waits until child has terminated. |
| ErrMsg | If non-zero, provides a pointer to a string instance in which error messages will be returned. If the string is non-empty upon return an error occurred while invoking the program. |
Referenced by ExecuteAndWait().
| std::error_code llvm::sys::writeFileWithEncoding | ( | StringRef | FileName, |
| StringRef | Contents, | ||
| WindowsEncodingMethod | Encoding = WEM_UTF8 |
||
| ) |
Saves the UTF8-encoded contents string into the file FileName using a specific encoding.
This write file function adds the possibility to choose which encoding to use when writing a text file. On Windows, this is important when writing files with internationalization support with an encoding that is different from the one used in LLVM (UTF-8). We use this when writing response files, since GCC tools on MinGW only understand legacy code pages, and VisualStudio tools only understand UTF-16. For UNIX, using different encodings is silently ignored, since all tools work well with UTF-8. This function assumes that you only use UTF-8 text data and will convert it to your desired encoding before writing to the file.
FIXME: We use EM_CurrentCodePage to write response files for GNU tools in a MinGW/MinGW-w64 environment, which has serious flaws but currently is our best shot to make gcc/ld understand international characters. This should be changed as soon as binutils fix this to support UTF16 on mingw.
Definition at line 35 of file Host.h.
Referenced by llvm::FoldingSetNodeID::AddString(), llvm::support::endian::byte_swap(), llvm::hashing::detail::fetch32(), and llvm::hashing::detail::fetch64().
|
static |
Definition at line 38 of file Host.h.
Referenced by llvm::FoldingSetNodeID::AddString(), getStruct(), getStructOrErr(), getU(), getUniversalBinaryStruct(), LLVMInitializeBPFTargetMC(), LoadIntFromMemory(), parseBPFArch(), prependCompressionHeader(), StoreIntToMemory(), and llvm::ExecutionEngine::StoreValueToMemory().
1.8.6