llvm-6502/include/llvm
Duncan Sands 47d9dcc584 Fix PR3117: not all nodes being legalized. The
essential problem was that the DAG can contain
random unused nodes which were never analyzed.
When remapping a value of a node being processed,
such a node may become used and need to be analyzed;
however due to operands being transformed during
analysis the node may morph into a different one.
Users of the morphing node need to be updated, and
this wasn't happening.  While there I added a bunch
of documentation and sanity checks, so I (or some
other poor soul) won't have to scratch their head
over this stuff so long trying to remember how it
was all supposed to work next time some obscure
problem pops up!  The extra sanity checking exposed
a few places where invariants weren't being preserved,
so those are fixed too.  Since some of the sanity
checking is expensive, I added a flag to turn it
on.  It is also turned on when building with
ENABLE_EXPENSIVE_CHECKS=1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60797 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 21:33:20 +00:00
..
ADT Move the conversion to intptr_t to a separate statement. This 2008-12-08 17:41:24 +00:00
Analysis Teach BasicAA::getModRefInfo(CallSite, CallSite) some 2008-12-09 21:19:42 +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 Fix PR3117: not all nodes being legalized. The 2008-12-09 21:33:20 +00:00
CompilerDriver Support -emit-llvm properly (with -S and -c). 2008-12-09 14:40:18 +00:00
Config CMake: Remove HAVE_LT_DLOPEN from config.h.cmake because it was 2008-11-18 21:12:01 +00:00
Debugger
ExecutionEngine DisableGVCompilation should not abort on internal GlobalValue's. 2008-12-09 07:31:49 +00:00
Support newline at end of phile 2008-12-09 06:32:32 +00:00
System Update the stub and callback code to handle lazy compilation. The stub 2008-10-20 21:39:23 +00:00
Target Fix the name of ISD::TokenFactor in a comment. Thanks Gabor! 2008-12-09 02:18:52 +00:00
Transforms Factor some code into a new FoldSingleEntryPHINodes method. 2008-12-03 19:44:02 +00:00
AbstractTypeUser.h
Argument.h Large mechanical patch. 2008-09-25 21:00:45 +00:00
Attributes.h Implement stack protectors as function attributes: "ssp" and "sspreq". 2008-11-13 01:02:14 +00:00
AutoUpgrade.h
BasicBlock.h remove two unneeded forward declarations, pointed out by Gabor. 2008-12-09 02:10:10 +00:00
CallGraphSCCPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
CallingConv.h Add "inreg" field to CallSDNode (doesn't increase 2008-09-26 19:31:26 +00:00
CMakeLists.txt CMake: Adds header and TableGen files to Visual Studio solution. A new 2008-11-15 02:08:08 +00:00
Constant.h fix typo's 2008-10-13 10:28:12 +00:00
Constants.h Make ConstantAggregateZero::get return a ConstantAggregateZero*, 2008-12-08 07:10:54 +00:00
DerivedTypes.h
Function.h Fix disagreement about where the attributes are 2008-10-07 22:33:44 +00:00
GlobalAlias.h Make safer variant of alias resolution routine to be default 2008-09-09 20:05:04 +00:00
GlobalValue.h Rename isWeakForLinker to mayBeOverridden. Use it 2008-09-29 11:25:42 +00:00
GlobalVariable.h Add GlobalValue::{removeFromParent,eraseFromParent} 2008-08-29 07:30:15 +00:00
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 Cosmetic. 2008-10-06 20:33:02 +00:00
Instruction.h improve const correctness. 2008-11-27 08:39:18 +00:00
Instructions.h add a long-overdue AllocaInst::isStaticAlloca method. 2008-11-26 02:54:17 +00:00
IntrinsicInst.h reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
Intrinsics.h Large mechanical patch. 2008-09-25 21:00:45 +00:00
Intrinsics.td reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
IntrinsicsAlpha.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsARM.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsCellSPU.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsPowerPC.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsX86.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsXCore.td Add XCore intrinsics for getid (returns thread id) and bitrev (reverses 2008-11-14 10:12:16 +00:00
LinkAllPasses.h Add new helper pass that strips all symbol names except debugging information. 2008-11-18 21:34:39 +00:00
LinkAllVMCore.h opt was not exporting the Mangler symbols 2008-11-05 22:42:50 +00:00
Linker.h Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Module.h - Add a "getOrInsertGlobal" method to the Module class. This acts similarly to 2008-11-04 22:51:24 +00:00
ModuleProvider.h
OperandTraits.h
Pass.h Add an assert to catch user errors like: 2008-10-31 17:27:41 +00:00
PassAnalysisSupport.h Speed up the passmgr by avoiding heap thrashing on vectors. 2008-08-08 05:33:04 +00:00
PassManager.h
PassManagers.h Trim #includes. 2008-10-16 20:18:31 +00:00
PassSupport.h
SymbolTableListTraits.h
Type.h add a new form of Type::dump that takes a module for type names, 2008-10-01 20:16:19 +00:00
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 Comment typeo fix, thanks Duncan! 2008-12-02 18:33:11 +00:00
ValueSymbolTable.h