llvm/lib/VMCore
Chris Lattner de0e42d3c0 Speed up updateDFSNumbers with two observations:
1. domtree is a tree, not a graph.  There is no need to avoid revisiting nodes with a set.
2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children.

This speeds up updateDFSNumbers significantly, making it basically free.  On the testcase in PR1432,
this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to
the 30th. :)  It used to be #1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40923 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 06:24:20 +00:00
..
AsmWriter.cpp
AutoUpgrade.cpp This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. 2007-08-04 01:51:18 +00:00
BasicBlock.cpp
ConstantFold.cpp Fix a doxygen directive. 2007-08-05 19:27:01 +00:00
ConstantFold.h
Constants.cpp
Dominators.cpp Speed up updateDFSNumbers with two observations: 2007-08-08 06:24:20 +00:00
Function.cpp
Globals.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp
IntrinsicInst.cpp
LeakDetector.cpp
Makefile
Mangler.cpp
Module.cpp
ModuleProvider.cpp
Pass.cpp
PassManager.cpp
SymbolTableListTraitsImpl.h
Type.cpp Long double, part 1 of N. Support in IR. 2007-08-03 01:03:46 +00:00
TypeSymbolTable.cpp
Value.cpp
ValueSymbolTable.cpp
ValueTypes.cpp long double patch 3 of N. Add to MVT. 2007-08-03 20:51:37 +00:00
Verifier.cpp Fix minor doxygen nits. 2007-08-05 20:06:04 +00:00