diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-02-25 20:01:58 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-02-25 20:01:58 +0000 |
commit | 0f5fb5f54909c4dc2b7739124c6d6799098f2806 (patch) | |
tree | eee4f676df86c2fa50ce7721d50af3e5f51605a8 /lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py | |
parent | 2caa97c8919633961ed9e6773de0cc5f2fbed188 (diff) | |
download | bcm5719-llvm-0f5fb5f54909c4dc2b7739124c6d6799098f2806.tar.gz bcm5719-llvm-0f5fb5f54909c4dc2b7739124c6d6799098f2806.zip |
[APInt] Add APInt::extractBits() method to extract APInt subrange (reapplied)
The current pattern for extract bits in range is typically:
Mask.lshr(BitOffset).trunc(SubSizeInBits);
Which can be particularly slow for large APInts (MaskSizeInBits > 64) as they require the allocation of memory for the temporary variable.
This is another of the compile time issues identified in PR32037 (see also D30265).
This patch adds the APInt::extractBits() helper method which avoids the temporary memory allocation.
Differential Revision: https://reviews.llvm.org/D30336
llvm-svn: 296272
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py')
0 files changed, 0 insertions, 0 deletions