Rewrite SelectionDAGBuilder::Clusterify to run in linear time. NFC.
authorHans Wennborg <hans@hanshq.net>
Fri, 20 Mar 2015 00:41:03 +0000 (00:41 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 20 Mar 2015 00:41:03 +0000 (00:41 +0000)
commitffe6f0ffdda4d390101473c46129fafd7774eb2b
treee446fa02e48fee910091e99a1f70e10078139bd6
parentaa0140066391bf942a686ab79f6526d57ee9479f
Rewrite SelectionDAGBuilder::Clusterify to run in linear time. NFC.

It was previously repeatedly erasing elements from the middle of a vector,
causing O(n^2) worst-case run-time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232789 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h