summaryrefslogtreecommitdiff
path: root/src/zap
diff options
context:
space:
mode:
authorBruce Forstall <brucefo@microsoft.com>2017-04-12 17:16:46 -0700
committerBruce Forstall <brucefo@microsoft.com>2017-04-14 13:19:29 -0700
commit950b0904511058e3d0254009573535e576fe4574 (patch)
tree8e8c93cfe9b9934bf8ecd43f5b25bacbb8a40e19 /src/zap
parent4a2298203489a9b77ebe8e5c9116de35eb62c3ca (diff)
downloadcoreclr-950b0904511058e3d0254009573535e576fe4574.tar.gz
coreclr-950b0904511058e3d0254009573535e576fe4574.tar.bz2
coreclr-950b0904511058e3d0254009573535e576fe4574.zip
Introduce API for codegen getting temp registers from gtRsvdRegs
LSRA puts a set of temporary registers needed by a node in the gtRsvdRegs register mask. Currently, evey codegen function that needs to use a temporary register manually manipulates this mask. Introduce a few functions to make this simpler and more regular: 1. GetSingleTempReg() // Gets a temp; asserts there is exactly one temp reg. 2. ExtractTempReg() // Gets the lowest temp, removes it from gtRsvdRegs so subsequent calls don't see it. 3. AvailableTempRegCount() // Returns a count of available temp registers. All take an optional register mask, so you can extract a register from just the set specified by the mask (typically RBM_ALLINT or RBM_ALLFLOAT).
Diffstat (limited to 'src/zap')
0 files changed, 0 insertions, 0 deletions