llvm-6502/include/llvm
Dan Gohman 3a5797d946 Change how extended types are represented in MVTs. Instead of fiddling
bits, use a union of a SimpleValueType enum and a regular Type*.

This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits.
In most cases, this doesn't add significant overhead. There are places
in codegen that use arrays of MVTs, so these are now larger, but
they're small in common cases.

This eliminates restrictions on the size of integer types and vector
types that can be represented in codegen. As the included testcase
demonstrates, it's now possible to codegen very large add operations.
There are still some complications with using very large types. PR2880
is still open so they can't be used as return values on normal targets,
there are no libcalls defined for very large integers so operations
like multiply and divide aren't supported.

This also introduces a minimal tablgen Type library, capable of
handling IntegerType and VectorType. This will allow parts of
TableGen that don't depend on using SimpleValueType values to handle
arbitrary integer and vector types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58623 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-03 17:56:27 +00:00
..
ADT Typo 2008-11-03 03:50:40 +00:00
Analysis Trim #includes. 2008-10-16 20:18:31 +00:00
Assembly Move Print*Pass to use raw_ostream. 2008-10-22 03:25:22 +00:00
Bitcode Add raw_ostream versions of WriteBitcodeToFile and BitcodeWriterPass. 2008-10-22 17:39:14 +00:00
CodeGen Change how extended types are represented in MVTs. Instead of fiddling 2008-11-03 17:56:27 +00:00
CompilerDriver
Config CMake: GetTargetTriple: new module for determining the target 2008-10-26 00:47:52 +00:00
Debugger
ExecutionEngine Support for allocation of TLS variables in the JIT. Allocation of a global 2008-10-25 15:41:43 +00:00
Support Symbol visibility is unsupported on cygwin too. 2008-10-31 18:05:01 +00:00
System Update the stub and callback code to handle lazy compilation. The stub 2008-10-20 21:39:23 +00:00
Target Added interface to allow clients to create a MemIntrinsicNode for 2008-11-01 20:24:53 +00:00
Transforms Add a new MergeFunctions pass. It finds identical functions and merges them. 2008-11-02 05:52:50 +00:00
AbstractTypeUser.h
Argument.h
Attributes.h
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
Constant.h
Constants.h
DerivedTypes.h
Function.h
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
InlineAsm.h Keep track of *which* input constraint matches an output 2008-10-17 16:47:46 +00:00
InstrTypes.h Use the opcode predicates, instead of duplicating the code. 2008-10-17 21:42:45 +00:00
Instruction.def
Instruction.h Correct the name of isTrapping in comments. 2008-10-15 22:56:21 +00:00
Instructions.h Don't force things to be Value * when they're not. 2008-10-29 00:30:54 +00:00
IntrinsicInst.h
Intrinsics.h
Intrinsics.td Make llvm memory barrier available as an intrinsic 2008-10-18 02:48:13 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
LinkAllPasses.h Add a new MergeFunctions pass. It finds identical functions and merges them. 2008-11-02 05:52:50 +00:00
LinkAllVMCore.h
Linker.h Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Module.h
ModuleProvider.h
OperandTraits.h
Pass.h Add an assert to catch user errors like: 2008-10-31 17:27:41 +00:00
PassAnalysisSupport.h
PassManager.h
PassManagers.h Trim #includes. 2008-10-16 20:18:31 +00:00
PassSupport.h
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h
Use.h Add comment on how tagged pointers are 2008-10-17 08:31:36 +00:00
User.h Do not allow a user to set the operand for a constant. 2008-10-28 17:22:40 +00:00
Value.h fit in 80 cols 2008-10-28 06:20:17 +00:00
ValueSymbolTable.h