* Fix DerivedType::dropAllTypeUses to not change the number of types in a
authorChris Lattner <sabre@nondot.org>
Wed, 16 Nov 2005 06:09:47 +0000 (06:09 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 16 Nov 2005 06:09:47 +0000 (06:09 +0000)
commit3787c95e865259feeb008eefcdf7ca65b3e9c320
tree5eed909040915c1b6aa49e55983ec417b77a5ec6
parentc961eea6cb8d0a2d75fa074832f5c797f90330ef
* Fix DerivedType::dropAllTypeUses to not change the number of types in a
  type when it gets refined.  This allows us to hash on this crucial value.
* Fix several issues in TypeMap::RefineAbstractType that prevent it from
  handling hash values that change correctly.
* Define hashTypeStructure to not always return 0.  :)

This last part (which depends on the first two) speeds up gccld time on eon
from 3.78s to 2.75s with a release build (a 28% speedup!).  This resolves
PR474.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24372 91177308-0d34-0410-b5e6-96231b3b80d8
lib/VMCore/Type.cpp