diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-08-31 17:58:19 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-08-31 17:58:19 +0000 |
commit | 864d22ea72ac418ba06feb5e09b18c35ec53b4b2 (patch) | |
tree | 096f78c70b933796708e0691a1bdf5a79ee4b079 /test/CodeGen/Thumb/vargs.ll | |
parent | f3bba4c1aefb1d260793813e60d045d76e52b6d2 (diff) | |
download | external_llvm-864d22ea72ac418ba06feb5e09b18c35ec53b4b2.zip external_llvm-864d22ea72ac418ba06feb5e09b18c35ec53b4b2.tar.gz external_llvm-864d22ea72ac418ba06feb5e09b18c35ec53b4b2.tar.bz2 |
Improve virtual frame base register allocation heuristics.
1. Allocate them in the entry block of the function to enable function-wide
re-use. The instructions to create them should be re-materializable, so
there shouldn't be additional cost compared to creating them local
to the basic blocks where they are used.
2. Collect all of the frame index references for the function and sort them
by the local offset referenced. Iterate over the sorted list to
allocate the virtual base registers. This enables creation of base
registers optimized for positive-offset access of frame references.
(Note: This may be appropriate to later be a target hook to do the
sorting in a target appropriate manner. For now it's done here for
simplicity.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112609 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb/vargs.ll')
0 files changed, 0 insertions, 0 deletions