aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2015-09-18 01:51:37 +0000
committerRui Ueyama <ruiu@google.com>2015-09-18 01:51:37 +0000
commitc9a6e827bddf9f4cc699b22d0c50d87c1454e4f1 (patch)
tree6558923a445783c96d2a2a60837ee43d320bc449 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
parent038bf833c4c0b3d40adf89cde18a247651e4867c (diff)
downloadllvm-c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1.zip
llvm-c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1.tar.gz
llvm-c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1.tar.bz2
COFF: Optimize ICF by not creating temporary vectors.
Previously, ICF created a vector for each SectionChunk. The vector contained pointers to successors, which are namely associative sections and COMDAT relocation targets. The reason I created vectors is because I thought that that would make section comparison faster. It did make the comparison faster. When self-linking, for example, it saved about 10 ms on each iteration. The time we spent on constructing the vectors was 124 ms. If we iterate more than 12 times, return from the investment exceeds the initial cost. In reality, it usually needs 5 iterations. So we shouldn't construct the vectors. llvm-svn: 247963
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp')
0 files changed, 0 insertions, 0 deletions