llvm-6502/lib/VMCore
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
..
AsmWriter.cpp Reuse PrintEscapedString for printing names in .ll 2008-10-28 19:33:02 +00:00
Attributes.cpp Now Attributes are divided in three groups 2008-09-26 22:53:05 +00:00
AutoUpgrade.cpp Large mechanical patch. 2008-09-25 21:00:45 +00:00
BasicBlock.cpp Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
CMakeLists.txt CMake: Turned some libraries into partially linked objects. Corrected 2008-10-22 02:51:53 +00:00
ConstantFold.cpp apply Eli's patch for PR2165 and provide a testcase. 2008-10-16 05:26:51 +00:00
ConstantFold.h Fix comment typos. 2008-08-01 12:23:49 +00:00
Constants.cpp Fix type-o in ExprMapKeyType::operator ==(). The "&&" was missing. 2008-10-26 00:19:56 +00:00
Core.cpp Add a "loses information" return value to APFloat::convert 2008-10-09 23:00:39 +00:00
DebugInfoBuilder.cpp Put file scoped constants in an anonymous namespace. Use the "using namespace 2008-08-27 21:10:13 +00:00
Dominators.cpp Move dominator info printer into tool/opt/GraphPrinters.cpp 2008-06-30 17:32:58 +00:00
Function.cpp Now Attributes are divided in three groups 2008-09-26 22:53:05 +00:00
Globals.cpp Make safer variant of alias resolution routine to be default 2008-09-09 20:05:04 +00:00
InlineAsm.cpp Keep track of *which* input constraint matches an output 2008-10-17 16:47:46 +00:00
Instruction.cpp Fix an obvious copy/pasto. 2008-10-27 07:28:44 +00:00
Instructions.cpp Large mechanical patch. 2008-09-25 21:00:45 +00:00
IntrinsicInst.cpp Unbreak DbgStopPointInst::getFileName(). 2008-10-11 06:40:56 +00:00
LeakDetector.cpp Have LeakDetector use a SmallPtrSet instead of an std::set. 2008-08-14 20:40:10 +00:00
Makefile Fix PR2062: Don't build Intrinsics.gen in the source directory. Do it in the 2008-03-25 09:12:48 +00:00
Mangler.cpp - Replace use of std::map<std::string, ..> with StringMap. Replace use of std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up. 2008-07-10 00:04:23 +00:00
Module.cpp Switch the asmprinter (.ll) and all the stuff it requires over to 2008-08-23 22:23:09 +00:00
ModuleProvider.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Pass.cpp Speed up the passmgr by avoiding heap thrashing on vectors. 2008-08-08 05:33:04 +00:00
PassManager.cpp Add <cstdio> include where needed by gcc-4.4. 2008-10-08 07:23:46 +00:00
PrintModulePass.cpp Move Print*Pass to use raw_ostream. 2008-10-22 03:25:22 +00:00
SymbolTableListTraitsImpl.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Type.cpp Reverting back 58505. Will commit it once I have the bc reader/writer/docs 2008-11-01 10:57:12 +00:00
TypeSymbolTable.cpp Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. 2008-05-15 10:04:30 +00:00
Use.cpp Introduce a typing refinenement on tagged data 2008-10-16 15:33:02 +00:00
Value.cpp Factorize code: remove variants of "strip off 2008-10-01 15:25:41 +00:00
ValueSymbolTable.cpp implement some fixme's by making "autorenaming" in the value symbol table not 2008-06-27 21:26:26 +00:00
ValueTypes.cpp Change how extended types are represented in MVTs. Instead of fiddling 2008-11-03 17:56:27 +00:00
Verifier.cpp Related to PR2911, reject as invalid non-pointer GC roots. 2008-10-25 16:28:35 +00:00