diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-04-01 14:23:58 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-04-01 14:23:58 +0000 |
| commit | 12af4285d19c9d50453d243e0fe7f78418288372 (patch) | |
| tree | 4d9893b6583d77166ed43dbbb84b4c167a05f227 /llvm/utils/FileCheck | |
| parent | 45ae88f5fc451ffd73bda71c09e38f4ff742411f (diff) | |
| download | bcm5719-llvm-12af4285d19c9d50453d243e0fe7f78418288372.tar.gz bcm5719-llvm-12af4285d19c9d50453d243e0fe7f78418288372.zip | |
Emit the LLVM<->DWARF register mapping as a sorted table and use binary search to do the lookup.
This also avoids emitting the information twice, which led to code bloat. On i386-linux-Release+Asserts
with all targets built this change shaves a whopping 1.3 MB off clang. The number is probably exaggerated
by recent inliner changes but the methods were already enormous with the old inline cost computation.
The DWARF reg -> LLVM reg mapping doesn't seem to have holes in it, so it could be a simple lookup table.
I didn't implement that optimization yet to avoid potentially changing functionality.
There is still some duplication both in tablegen and the generated code that should be cleaned up eventually.
llvm-svn: 153837
Diffstat (limited to 'llvm/utils/FileCheck')
0 files changed, 0 insertions, 0 deletions

