diff options
author | Marcello Maggioni <hayarms@gmail.com> | 2017-03-13 21:42:53 +0000 |
---|---|---|
committer | Marcello Maggioni <hayarms@gmail.com> | 2017-03-13 21:42:53 +0000 |
commit | 598d89a3f49438e97d835c508b9e5300fb5eb5c0 (patch) | |
tree | 2b22e43bc774c8fb937df30d8f14aa608bc59b3c /llvm/lib/Support/FileOutputBuffer.cpp | |
parent | c0d61606662f9407bab8d83cc50f409520b24671 (diff) | |
download | llvm-598d89a3f49438e97d835c508b9e5300fb5eb5c0.zip llvm-598d89a3f49438e97d835c508b9e5300fb5eb5c0.tar.gz llvm-598d89a3f49438e97d835c508b9e5300fb5eb5c0.tar.bz2 |
[IPRA] Change algorithm for RegUsageInfoCollector.
The previous algorithm for RegUsageInfoCollector had pretty bad
performance on architectures with a lot of registers that alias
a lot one another, because we potentially iterate for every register
over all the aliasing registers. This costs even more if the function
is small and doesn't define a lot of registers.
This patch changes the algorithm to one that while iterating over
all the registers it will iterate over the aliasing registers only
if the register itself is defined.
This should be faster based on the assumption that only a subset
of the whole LLVM registers set is actually defined in the function.
Differential Revision: https://reviews.llvm.org/D30880
llvm-svn: 297673
Diffstat (limited to 'llvm/lib/Support/FileOutputBuffer.cpp')
0 files changed, 0 insertions, 0 deletions