summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/GlobalOpt.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-02-01 01:22:06 +0000
committerChris Lattner <sabre@nondot.org>2005-02-01 01:22:06 +0000
commitef55a1a775f48a31d094c454b6605b6a05bf9f16 (patch)
tree8c061f37593bb132a75974473d286c32960bf674 /llvm/lib/Transforms/IPO/GlobalOpt.cpp
parent1230cf25bafa057498cfbf1e6186f841b8f67ebb (diff)
downloadbcm5719-llvm-ef55a1a775f48a31d094c454b6605b6a05bf9f16.tar.gz
bcm5719-llvm-ef55a1a775f48a31d094c454b6605b6a05bf9f16.zip
Switch from using an ilist for uses to using a custom doubly linked list.
This list does not provide the ability to go backwards in the list (its more of an unordered collection, stored in the shape of a list). This change means that use iterators are now only forward iterators, not bidirectional. This improves the memory usage of use lists from '5 + 4*#use' per value to '1 + 4*#use'. While it would be better to reduce the multiplied factor, I'm not smart enough to do so. This list also has slightly more efficient operators for manipulating list nodes (a few less loads/stores), due to not needing to be able to iterate backwards through the list. This change reduces the memory footprint required to hold 176.gcc from 66.025M -> 57.687M, a 14% reduction. It also speeds up the compiler, 7.73% in the case of bytecode loading alone (release build loading 176.gcc). llvm-svn: 19956
Diffstat (limited to 'llvm/lib/Transforms/IPO/GlobalOpt.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud