Revamp the "CSEMap" datastructure used in the SelectionDAG class. This
authorChris Lattner <sabre@nondot.org>
Mon, 7 Aug 2006 23:03:03 +0000 (23:03 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 7 Aug 2006 23:03:03 +0000 (23:03 +0000)
commita5682853b9921bbb0dd2ee175c9bd44142d4819e
treee4a6c9a3942cbb8f3b0a666136bb13204994afce
parent2ef88a09b71f458ad415b35a1fb431c3d15d7eb1
Revamp the "CSEMap" datastructure used in the SelectionDAG class.  This
eliminates a bunch of std::map's in the SelectionDAG, replacing them with a
home-grown hashtable.

This is still a work in progress: not all the maps have been moved over and the
hashtable never resizes.  That said, this still speeds up llc 20% on kimwitu++
with -fast -regalloc=local using a release build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29550 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGCSEMap.cpp [new file with mode: 0644]