diff options
author | Jessica Paquette <jpaquette@apple.com> | 2022-02-16 11:28:14 -0800 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2022-02-16 11:39:07 -0800 |
commit | 6d58f4ab071eb5c891d662295bcbe240ba507d44 (patch) | |
tree | 4a798fbf5ae50708bdf9199774781bf0f004a527 /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp | |
parent | d7c4f7f14732727eb2329272144405268a90e20f (diff) | |
download | llvm-6d58f4ab071eb5c891d662295bcbe240ba507d44.zip llvm-6d58f4ab071eb5c891d662295bcbe240ba507d44.tar.gz llvm-6d58f4ab071eb5c891d662295bcbe240ba507d44.tar.bz2 |
[MachineOutliner] NFC: Hide LRU-related stuff behind helper functions
It's not particularly user-friendly to have to call `initLRU` everywhere. Also,
it wasn't particularly great that the LRU for registers used in a sequence was
also initialized by `initLRU`.
This patch hides this stuff behind some helper functions:
* `isAvailableAcrossAndOutOfSeq`
* `isAnyUnavailableAcrossOrOutOfSeq`
* `isAvailableInsideSeq`
This allows the user to avoid calling `initLRU` explicitly. Also, it allows
us to separate initializing the used-in-sequence LRU from the main LRU.
Since both ARM and AArch64 check LR liveness in `insertOutlinedCall`, this
refactor requires that we de-const the Candidate there.
Some other quality-of-code improvements:
* LRUs in outliner::Candidate now have more descriptive names
* Use `Register` instead of `unsigned` in some places
* Improve readability in some places by using ranges rather than `std::for_each`
This is a preparatory commit for a larger compile time related change for the
AArch64 outliner.
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
0 files changed, 0 insertions, 0 deletions