llvm-6502/lib/IR
Reid Kleckner 4b70bfc905 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197645 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-19 02:14:12 +00:00
..
AsmWriter.cpp Fix AsmWriter's handling of SPIR calling conventions. Patch by Boaz Ouriel. 2013-12-15 10:01:20 +00:00
AsmWriter.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
AttributeImpl.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Attributes.cpp Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
AutoUpgrade.cpp Debug Info: rename getDebugInfoVersionFromModule to getDebugMetadataVersionFromModule. 2013-12-03 00:12:14 +00:00
BasicBlock.cpp
CMakeLists.txt Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
ConstantFold.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
ConstantFold.h
Constants.cpp Add getBitCastOrAddrSpaceCast 2013-12-07 02:58:41 +00:00
ConstantsContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
Core.cpp Remove unused value. 2013-12-07 02:27:52 +00:00
DataLayout.cpp Pointer sizes are stored in Bytes. Fix variables names to say so. 2013-12-13 23:15:20 +00:00
DebugInfo.cpp Debug info: Implement (rvalue) reference qualifiers for C++11 non-static 2013-12-18 21:48:19 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp DiagnosticInfo: Add missing namespace 2013-12-18 10:12:06 +00:00
DiagnosticPrinter.cpp [DiagnosticPrinter] Use the appropriate method to print a Twine object in a 2013-12-17 22:35:07 +00:00
DIBuilder.cpp Debug info: Implement (rvalue) reference qualifiers for C++11 non-static 2013-12-18 21:48:19 +00:00
Dominators.cpp
Function.cpp Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
GCOV.cpp llvm-cov: Added -f option for function summaries. 2013-12-19 00:29:25 +00:00
Globals.cpp Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
GVMaterializer.cpp
InlineAsm.cpp Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Instruction.cpp Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instructions.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
LegacyPassManager.cpp Correct word hyphenations 2013-12-05 05:44:44 +00:00
LLVMBuild.txt
LLVMContext.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.cpp Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
LLVMContextImpl.h Add warning capabilities in LLVM. 2013-12-17 17:47:22 +00:00
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Metadata.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
Module.cpp Debug Info: drop debug info via upgrading path if version number does not match. 2013-12-02 21:29:56 +00:00
Pass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
PassManager.cpp [PM] Factor the overwhelming majority of the interface boiler plate out 2013-11-26 11:24:37 +00:00
PassRegistry.cpp Use an RWMutex instead of a Mutex in PassRegistry. 2013-07-03 18:38:08 +00:00
PrintModulePass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
TypeFinder.cpp TypeFinder: prefer iterative algorithm to keep stack usage low. 2013-10-16 04:10:06 +00:00
Use.cpp Fix Casting 2013-01-14 21:04:37 +00:00
User.cpp
Value.cpp Make it explicit that nulls are not allowed in names. 2013-11-19 21:12:39 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp Add v4f16 to supported value types. 2013-10-03 03:29:21 +00:00
Verifier.cpp Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00