llvm-project/llvm/lib
Duncan Sands 445071c44f 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.

llvm-svn: 60797
2008-12-09 21:33:20 +00:00
..
Analysis Teach BasicAA::getModRefInfo(CallSite, CallSite) some 2008-12-09 21:19:42 +00:00
Archive Silence unused variable warnings. 2008-11-21 20:00:59 +00:00
AsmParser Extend the 'noalias' attribute to function return values. This is intended to 2008-11-24 03:41:24 +00:00
Bitcode Added support for the following definition of shufflevector 2008-11-10 04:46:22 +00:00
CodeGen Fix PR3117: not all nodes being legalized. The 2008-12-09 21:33:20 +00:00
Debugger Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
ExecutionEngine DisableGVCompilation should not abort on internal GlobalValue's. 2008-12-09 07:31:49 +00:00
Linker Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Support remove unused var 2008-12-09 17:04:06 +00:00
System Don't use plain %x to print pointer values. I had changed it from %p 2008-12-05 23:39:24 +00:00
Target Handle a compiler warning. 2008-12-09 09:58:11 +00:00
Transforms rename getNonLocalDependency -> getNonLocalCallDependency, and remove 2008-12-09 19:38:05 +00:00
VMCore Make ConstantAggregateZero::get return a ConstantAggregateZero*, 2008-12-08 07:10:54 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00