Fix a significant algorithm problem with the instcombine worklist.  removing
a value from the worklist required scanning the entire worklist to remove all
entries.  We now use a combination map+vector to prevent duplicates from
happening and prevent the scan.  This speeds up instcombine on a large file
from the llvm-gcc bootstrap from 189.7s to 4.84s in a debug build and from
5.04s to 1.37s in a release build.

llvm-svn: 34848
1 file changed
tree: 7c97d575252eee0037a37ef937b0d9064cdb433b
  1. llvm/
  2. stacker/