llvm-6502/lib/IR
Philip Reames 25703e8fa3 Extend intrinsic name mangling to support arrays, named structs, and function types.
Currently, we have a type parameter mechanism for intrinsics. Rather than having to specify a separate intrinsic for each combination of argument and return types, we can specify a single intrinsic with one or more type parameters. These type parameters are passed explicitly to Intrinsic::getDeclaration or can be specified implicitly in the naming of the intrinsic function in an LL file.

Today, the types are limited to integer, floating point, and pointer types. With a goal of supporting symbolic targets for patchpoints and statepoints, this change adds support for function types.  The change also includes support for first class aggregate types (named structures and arrays) since these appear in function types we've encountered.  

Reviewed by: atrick, ributzka
Differential Revision: http://reviews.llvm.org/D4608



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221742 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-12 00:21:51 +00:00
..
AsmWriter.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
AsmWriter.h
AttributeImpl.h
Attributes.cpp
AutoUpgrade.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
BasicBlock.cpp
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp Return undef on FP <-> Int conversions that overflow (PR21330). 2014-10-10 23:00:21 +00:00
ConstantFold.h
ConstantRange.cpp
Constants.cpp
ConstantsContext.h
Core.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
DataLayout.cpp Switch the default DataLayout to be little endian, and make the variable 2014-10-20 10:41:29 +00:00
DebugInfo.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
DebugLoc.cpp Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
DiagnosticInfo.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp Try to appease MSVC buildbots after r221466. 2014-11-06 19:00:47 +00:00
Dominators.cpp
Function.cpp Extend intrinsic name mangling to support arrays, named structs, and function types. 2014-11-12 00:21:51 +00:00
GCOV.cpp GCOV: Make sure that function idents in the .gcda and .gcno match 2014-11-06 06:55:02 +00:00
Globals.cpp Copy externally_initialized in GlobalVariable::copyAttributesFrom. 2014-11-10 18:41:59 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
Instructions.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
IntrinsicInst.cpp
IRBuilder.cpp Add CreateAlignmentAssumption to IRBuilder 2014-10-15 23:44:22 +00:00
IRPrintingPasses.cpp
LeakDetector.cpp
LeaksContext.h
LegacyPassManager.cpp Remove redundant calls to isMaterializable. 2014-11-01 16:46:18 +00:00
LLVMBuild.txt
LLVMContext.cpp Introduce enum values for previously defined metadata types. (NFC) 2014-10-21 00:13:20 +00:00
LLVMContextImpl.cpp LTO: Ignore disabled diagnostic remarks 2014-10-01 18:36:03 +00:00
LLVMContextImpl.h LTO: Ignore disabled diagnostic remarks 2014-10-01 18:36:03 +00:00
Makefile
Mangler.cpp Silencing an "enumeral and non-enumeral type in conditional expression" warning; NFC. 2014-10-28 13:12:13 +00:00
MDBuilder.cpp
Metadata.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
Module.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
module.modulemap
Pass.cpp
PassManager.cpp
PassRegistry.cpp [PM] Remove an unused and rather expensive mapping from an analysis 2014-10-06 00:30:59 +00:00
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
Use.cpp
UseListOrder.cpp
User.cpp IR: Cleanup comments for Value, User, and MDNode 2014-10-15 20:28:31 +00:00
Value.cpp Assert that ValueHandleBase::ValueIsRAUWd doesn't change the tracked Value type. 2014-10-23 04:08:42 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00