llvm-6502/include/llvm/Support
Chris Lattner 1afcace3a3 Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM.  One way to look at it
is through diffstat:
 109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing.  Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
   union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
   uniques them.  This means that the compiler doesn't merge them structurally
   which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
   struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
   in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead 
   "const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.  
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09 17:41:24 +00:00
..
AIXDataTypesFix.h
AlignOf.h
Allocator.h Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much memory a BumpPtrAllocator allocated. 2011-04-18 22:44:46 +00:00
Atomic.h
BranchProbability.h Introduce BlockFrequency analysis for BasicBlocks. 2011-06-23 21:45:20 +00:00
CallSite.h
Casting.h PR7952: Make isa<> use the same logic as cast<>, so that they both work 2011-05-21 19:13:10 +00:00
CFG.h SuccIterator on bbs without terminator insts 2011-07-04 23:09:02 +00:00
circular_raw_ostream.h
COFF.h
CommandLine.h Comment out some unused parameter names to silence out-of-tree -Wunused warnings. 2011-04-22 11:36:45 +00:00
Compiler.h Version N of the llvm_unreachable patch: VC++ doesn't recognize that abort() 2011-03-14 22:41:50 +00:00
ConstantFolder.h Remove the LLVMContext& arguments from *Folder constructors, as they don't seem to be used anywhere. 2011-04-03 19:46:28 +00:00
ConstantRange.h
CrashRecoveryContext.h Add explicit 'unregister' method to CrashRecoveryConextCleanupRegistrar. 2011-05-04 23:26:59 +00:00
DataFlow.h
DataTypes.h.cmake
DataTypes.h.in
Debug.h
DebugLoc.h Use positive values since the value type is unsigned. Fixes a warning on the 2011-04-13 18:46:22 +00:00
Disassembler.h
DOTGraphTraits.h
Dwarf.h Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name. 2011-05-12 21:29:42 +00:00
DynamicLibrary.h
ELF.h Fix spelling and sort CMakeLists.txt. 2011-06-13 11:11:39 +00:00
Endian.h Don't include config.h in public headers 2011-06-23 12:34:31 +00:00
Errno.h
ErrorHandling.h Version N of the llvm_unreachable patch: VC++ doesn't recognize that abort() 2011-03-14 22:41:50 +00:00
FEnv.h Add missing file. 2011-06-23 14:02:13 +00:00
FileSystem.h
FileUtilities.h Fix whitespace. 2011-03-31 13:06:39 +00:00
Format.h
FormattedStream.h
GetElementPtrTypeIterator.h
GraphWriter.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Host.h
IncludeFile.h
InstIterator.h
InstVisitor.h
IRBuilder.h Speculatively revert r134431. 2011-07-05 21:16:28 +00:00
IRReader.h
LeakDetector.h
LICENSE.TXT
MachO.h
ManagedStatic.h
MathExtras.h
Memory.h Tidy up. 2011-03-18 16:39:36 +00:00
MemoryBuffer.h random comment cleanups. 2011-05-22 00:50:53 +00:00
MemoryObject.h
Mutex.h
MutexGuard.h
NoFolder.h Remove the LLVMContext& arguments from *Folder constructors, as they don't seem to be used anywhere. 2011-04-03 19:46:28 +00:00
OutputBuffer.h
PassManagerBuilder.h Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
PassNameParser.h
Path.h
PathV1.h Add r127409 back now that the windows file was updated. 2011-03-10 18:33:29 +00:00
PathV2.h
PatternMatch.h Implement some basic simplifications involving min/max, for example 2011-05-03 19:53:10 +00:00
PluginLoader.h
PointerLikeTypeTraits.h
PredIteratorCache.h
PrettyStackTrace.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Process.h
Program.h Have Program::Wait return -2 for crashed and timeouts instead of embedding 2011-05-21 00:56:46 +00:00
raw_os_ostream.h
raw_ostream.h
Recycler.h
RecyclingAllocator.h
Regex.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Registry.h
RegistryParser.h
RWMutex.h
Signals.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
SMLoc.h
Solaris.h
SourceMgr.h Add new -d option to tblgen. It writes a make(1)-style dependency file. 2011-06-01 13:10:15 +00:00
StringPool.h
SwapByteOrder.h
system_error.h Don't include config.h in public headers 2011-06-23 12:34:31 +00:00
SystemUtils.h
TargetFolder.h
Threading.h
ThreadLocal.h
Timer.h
TimeValue.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
ToolOutputFile.h
type_traits.h
TypeBuilder.h add a #include 2011-07-09 17:00:38 +00:00
Valgrind.h
ValueHandle.h
Win64EH.h Fix definitions of UOP_SaveXMM128, UOP_SaveXMM128Big, and UOP_PushMachFrame 2011-05-26 05:24:15 +00:00