llvm/lib/VMCore
Chris Lattner b5c16705fd Change Type::isAbstract to have better comments, a more correct name
(PromoteAbstractToConcrete), and to use a set to avoid recomputation.
In particular, this set eliminates the potentially exponential cases
from this little recursive algorithm.

On a particularly nasty testcase, llvm-dis on the .bc file went from 34
minutes (which is when I killed it, it still hadn't finished) to 0.57s.
Remember kids, exponential algorithms are bad.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16772 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 16:36:46 +00:00
..
AsmWriter.cpp Okay, the list of link-time passes wasn't such a hot idea. Its prone to 2004-09-14 05:43:23 +00:00
BasicBlock.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
ConstantFold.cpp bug 122: 2004-07-17 23:47:01 +00:00
ConstantFold.h Fix a link error using VS8.0 2004-06-08 17:53:24 +00:00
ConstantFolding.h Fix a link error using VS8.0 2004-06-08 17:53:24 +00:00
ConstantRange.cpp Bug fixes for PR341 2004-07-15 01:29:12 +00:00
Constants.cpp When creating constant arrays check that the initializer vector is the 2004-09-15 02:32:15 +00:00
Dominators.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Function.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Globals.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
InstrTypes.cpp Fix #includes of i*.h => Instructions.h as per PR403. 2004-07-29 17:30:56 +00:00
Instruction.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Instructions.cpp Packed types, brought to you by Brad Jones 2004-08-20 06:00:58 +00:00
LeakDetector.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Linker.cpp Make sure the const bit gets inherited correctly when linking declarations 2004-10-05 02:28:11 +00:00
Makefile
Mangler.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Module.cpp Okay, the list of link-time passes wasn't such a hot idea. Its prone to 2004-09-14 05:43:23 +00:00
ModuleProvider.cpp
Pass.cpp 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:47:19 +00:00
PassManagerT.h 'Pass' should now not be derived from by clients. Instead, they should derive 2004-09-20 04:48:05 +00:00
SymbolTable.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Change Type::isAbstract to have better comments, a more correct name 2004-10-06 16:36:46 +00:00
Value.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Verifier.cpp Make sure to check select instructions for generic instruction properties 2004-09-29 21:19:28 +00:00