1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
llvm-mirror/include/llvm/Support
Reid Kleckner f795c3e4a9 Begin adding docs and IR-level support for the inalloca attribute
The inalloca attribute is designed to support passing C++ objects by
value in the Microsoft C++ ABI.  It behaves the same as byval, except
that it always implies that the argument is in memory and that the bytes
are never copied.  This attribute allows the caller to take the address
of an outgoing argument's memory and execute arbitrary code to store
into it.

This patch adds basic IR support, docs, and verification.  It does not
attempt to implement any lowering or fix any possibly broken transforms.

When this patch lands, a complete description of this feature should
appear at http://llvm.org/docs/InAlloca.html .

Differential Revision: http://llvm-reviews.chandlerc.com/D2173

llvm-svn: 197645
2013-12-19 02:14:12 +00:00
..
AIXDataTypesFix.h
AlignOf.h Incrase the number of parameters for AlignedCharArrayUnion. 2013-01-09 10:39:16 +00:00
Allocator.h [BumpPtrAllocator] Move DefaultSlabAllocator to a member of BumpPtrAllocator, instead of a static variable. 2013-08-28 01:02:21 +00:00
ArrayRecycler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Atomic.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
BlockFrequency.h [block-freq] Add a right shift to BlockFrequency that saturates at 1. 2013-12-14 02:24:22 +00:00
BranchProbability.h
CallSite.h Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
Capacity.h
Casting.h Fix a regression I introduced back in r178147. 2013-07-18 02:42:40 +00:00
CBindingWrapping.h Fix file header comment. 2013-05-01 21:01:06 +00:00
CFG.h Correct word hyphenations 2013-12-05 05:44:44 +00:00
circular_raw_ostream.h Use empty parens for empty function parameter list instead of '(void)'. 2012-11-15 16:51:49 +00:00
CodeGen.h This exposes more MCJIT options via the C API: 2013-05-01 22:58:00 +00:00
COFF.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
CommandLine.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Compiler.h Compiler.h: Disable initializer list usage with clang-cl 2013-12-05 01:03:23 +00:00
Compression.h Expose CRC-32 implementation from zlib 2013-08-14 16:03:29 +00:00
ConstantFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ConstantRange.h Use move semantics if possible to construct ConstantRanges. 2013-07-11 15:37:27 +00:00
ConvertUTF.h [Support] Add a Unicode conversion wrapper from UTF16 to UTF8 2013-07-16 17:14:33 +00:00
CrashRecoveryContext.h
DataExtractor.h Be consistent about the field name - AddressSize, not PointerSize. Add 2013-02-05 23:26:02 +00:00
DataFlow.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DataStream.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
DataTypes.h.cmake Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
DataTypes.h.in Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
Debug.h Include raw_ostream.h. 2013-11-15 01:25:34 +00:00
DebugLoc.h DebugLoc defines LineCol as 32 bit in comment but unsigned in code. 2013-11-17 09:47:39 +00:00
Disassembler.h
DOTGraphTraits.h ScheduleDAG: colorize the DOT graph and improve formatting. 2013-01-25 07:45:25 +00:00
Dwarf.h Pull in a couple of new constants from the upcoming DWARF 5 standard. 2013-12-18 21:48:14 +00:00
DynamicLibrary.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ELF.h Add DT_VERSYM dynamic table entry tag definition. 2013-11-06 12:23:52 +00:00
Endian.h Make the host endianness check an integer constant expression. 2013-04-15 14:44:24 +00:00
Errno.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ErrorHandling.h Add a boolean parameter to the llvm::report_fatal_error() function to indicated 2013-03-27 18:27:54 +00:00
ErrorOr.h Remove another unused, and IMHO, not very desirable feature of ErrorOr. 2013-11-05 23:41:57 +00:00
FEnv.h Refine fenv.h handling: check if the desired macros exist, before using 2013-03-25 13:13:33 +00:00
FileOutputBuffer.h [Support] Make FileOutputBuffer work on Windows. 2012-12-03 22:09:52 +00:00
FileSystem.h Build fix for Android NDK which has neither futimes nor futimens 2013-12-11 15:42:33 +00:00
FileUtilities.h Don't use PathV1.h in FileUtilities.h. 2013-06-13 20:41:00 +00:00
Format.h
FormattedStream.h Forward resetColor() et al to the underlying stream. 2013-08-08 00:43:30 +00:00
GCOV.h llvm-cov: Added -f option for function summaries. 2013-12-19 00:29:25 +00:00
GetElementPtrTypeIterator.h Avoid warnings about unused parameters that tend to come up a lot when 2013-06-10 12:09:30 +00:00
GraphWriter.h Convert a use of sys::Path::GetTemporaryDirectory. 2013-06-14 16:43:15 +00:00
Host.h Return a StringRef from getHostCPUName. 2013-12-12 15:45:32 +00:00
IncludeFile.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InstIterator.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LeakDetector.h
LEB128.h Formatting. 2013-08-01 01:38:16 +00:00
LICENSE.TXT
Locale.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LockFileManager.h Fix a race condition in the lock-file manager: once the lock file is 2013-01-10 02:01:35 +00:00
MachO.h X86: Encode the 'h' cpu subtype in the MachO header for x86. 2013-11-16 00:52:57 +00:00
ManagedStatic.h Make PrettyStackTraceEntry use ManagedStatic for its ThreadLocal. 2013-09-13 22:59:47 +00:00
MathExtras.h Removing llvm::huge_vald and llvm::huge_vall because they are not currently used, and HUGE_VALD does not appear to be supported everywhere anyways. 2013-11-13 00:20:43 +00:00
MD5.h Add support for adding the contents of a StringRef to the MD5 hash. 2013-05-31 22:34:56 +00:00
Memory.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MemoryBuffer.h Change MemoryBuffer::getFile to take a Twine. 2013-10-25 19:06:52 +00:00
MemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
Mutex.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MutexGuard.h
NoFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
OutputBuffer.h
PassNameParser.h Provide basic type safety for array_pod_sort comparators. 2013-09-22 14:09:50 +00:00
Path.h Path: Add an in-place version of path::native. 2013-09-11 10:45:21 +00:00
PatternMatch.h Use Intrinsic::ID for the pattern match templates, fixing a signed/unsigned 2013-09-04 05:08:32 +00:00
PluginLoader.h
PointerLikeTypeTraits.h
PredIteratorCache.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
PrettyStackTrace.h Make the pretty stack trace be an opt-in, rather than opt-out, facility. Enable pretty 2013-11-04 02:22:25 +00:00
Process.h Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
Program.h Support: Update documentation for Program functions 2013-12-10 16:31:09 +00:00
raw_os_ostream.h
raw_ostream.h Add a wrapper for open. 2013-07-16 19:44:17 +00:00
Recycler.h Special case Recycler::clear(BumpPtrAllocator). 2013-01-04 22:35:45 +00:00
RecyclingAllocator.h Add an assertion to the fixed-size allocator to ensure that we don't request 2013-08-27 11:20:13 +00:00
Regex.h Expose FileCheck's AddFixedStringToRegEx as Regex::escape 2013-12-12 00:06:41 +00:00
Registry.h [Support/Registry.h] Include llvm/Support/Compiler.h. 2013-06-27 17:57:40 +00:00
RegistryParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RWMutex.h
SaveAndRestore.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Signals.h Don't use PathV1.h in Signals.h. 2013-06-13 21:16:58 +00:00
SMLoc.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Solaris.h Define BYTE_ORDER on Solaris. 2013-05-21 20:36:13 +00:00
SourceMgr.h Make SourceMgr::PrintMessage() testable and add unit tests 2013-09-27 21:09:25 +00:00
StreamableMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
StringPool.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
StringRefMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
SwapByteOrder.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
system_error.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SystemUtils.h Move PrependMainExecutablePath next to its only user. 2013-06-14 15:12:13 +00:00
TargetFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetRegistry.h Fix pr18235. 2013-12-13 16:05:32 +00:00
TargetSelect.h
Threading.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ThreadLocal.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Timer.h Slight cosmetic fixes 2013-02-26 18:05:31 +00:00
TimeValue.h Fix TimeValue::toWin32Time() to be symmetric to fromWin32Time() and compatible to Win32's FILETIME. 2013-07-16 02:43:51 +00:00
ToolOutputFile.h Add a wrapper for open. 2013-07-16 19:44:17 +00:00
type_traits.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Unicode.h Move generic isPrint and columnWidth implementations to a separate header/source to allow using both generic and system-dependent versions on win32. 2013-09-04 16:00:12 +00:00
UnicodeCharRanges.h Fix the following error when NDEBUG is defined: 2013-08-29 18:49:35 +00:00
Valgrind.h Fix include guards. 2013-08-20 22:52:02 +00:00
ValueHandle.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Watchdog.h Add a new watchdog timer interface. The interface does not permit handling timeouts, so 2013-03-26 01:27:52 +00:00
Win64EH.h Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
YAMLParser.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
YAMLTraits.h YAML I/O add support for validate() 2013-11-21 00:28:07 +00:00