Replace another std::set in the core of CodeGenRegister, this time with sorted arrays.
authorOwen Anderson <resistor@mac.com>
Sat, 31 Jan 2015 09:13:36 +0000 (09:13 +0000)
committerOwen Anderson <resistor@mac.com>
Sat, 31 Jan 2015 09:13:36 +0000 (09:13 +0000)
commit41a9ae532e89c45a7d21c636dc75b560f43d9df0
tree0e4d8fcfecbf47265c7d276208fc07297842a633
parent35da384515ca7cbfb6571934d91c71f974dfd47e
Replace another std::set in the core of CodeGenRegister, this time with sorted arrays.

The hot path through this region of code does lots of batch inserts into sets. By storing them as sorted arrays, we can defer the sorting to the end of the batch, which is dramatically more efficient. This reduces tblgen runtime by 25% on my worst-case target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227682 91177308-0d34-0410-b5e6-96231b3b80d8
utils/TableGen/CodeGenRegisters.cpp
utils/TableGen/CodeGenRegisters.h
utils/TableGen/RegisterInfoEmitter.cpp