llvm/lib
Dan Gohman a3f8b7a4ce Optimize DAGCombiner's worklist processing. Previously it started
its work by putting all nodes in the worklist, requiring a big
dynamic allocation. Now, DAGCombiner just iterates over the AllNodes
list and maintains a worklist for nodes that are newly created or
need to be revisited. This allows the worklist to stay small in most
cases, so it can be a SmallVector.

This has the side effect of making DAGCombine not miss a folding
opportunity in alloca-align-rounding.ll.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55498 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 21:01:56 +00:00
..
Analysis Clear the intervals list in "destroy", patch by 2008-08-28 03:33:03 +00:00
Archive Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
AsmParser Regenerate. 2008-08-17 18:48:50 +00:00
Bitcode add #include 2008-08-23 21:33:24 +00:00
CodeGen Optimize DAGCombiner's worklist processing. Previously it started 2008-08-28 21:01:56 +00:00
Debugger Add #include 2008-08-23 21:34:34 +00:00
ExecutionEngine Avoid a warning about isTargetNullPtr being unused in release builds. 2008-08-26 01:38:29 +00:00
Linker Reimplement LinkFunctionProtos in terms of GetLinkageResult. This fixes 2008-07-14 07:23:24 +00:00
Support Updating VC++ project. 2008-08-24 11:56:40 +00:00
System add a helper method to sys::Path for clang, patch by 2008-08-11 23:39:47 +00:00
Target Use resize instead of reserve. Reserve doesn't change size(). 2008-08-28 18:32:53 +00:00
Transforms Do not apply the transformation if the target does not support DestTy natively. 2008-08-27 20:55:23 +00:00
VMCore Make the verifier reject instructions which have null pointers 2008-08-28 04:02:44 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00