diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-02-27 16:15:25 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-02-27 16:15:25 +0000 |
commit | 53e5a38da93a114f72d2996003757b5852ea3f12 (patch) | |
tree | ab40fb21280c9bb19f8102e4374b38081645c867 /lldb/packages/Python/lldbsuite/test/tools/lldb-server/main.cpp | |
parent | 68050fd694b7c670e01b488c61a81fd116516ac2 (diff) | |
download | bcm5719-llvm-53e5a38da93a114f72d2996003757b5852ea3f12.tar.gz bcm5719-llvm-53e5a38da93a114f72d2996003757b5852ea3f12.zip |
[X86] Use APInt instead of SmallBitVector for tracking undef elements in constant pool shuffle decoding
Summary:
SmallBitVector uses a malloc for more than 58 bits on a 64-bit target and more than 27 bits on a 32-bit target. Some of the vector types we deal with here use more than those number of elements and therefore cause a malloc.
APInt on the other hand supports up to 64 bits without a malloc. That's the maximum number of bits we need here so we can avoid a malloc for all cases by using APInt. This will incur a minor increase in stack usage due to APInt storing the bit count separately from the data bits unlike SmallBitVector, but that should be ok.
Reviewers: RKSimon
Reviewed By: RKSimon
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D30386
llvm-svn: 296352
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/tools/lldb-server/main.cpp')
0 files changed, 0 insertions, 0 deletions