Skip to content

Commit 2e0d3f8

Browse files
committed
refactor: BitCastBuffer with APInt, fix for bools
Make use of the pre-exising APInt type as a pre-established spelling of BitVector to get much more granular with the BitCastBuffer; this also permits more thorough usage of `const APInt&` references to make the copies easier to optimize away and reduces the common case of int->buffer->int from 4-7 copies down to 2. As a bonus, we also got a bit more flexible with supporting platforms where `CHAR_BIT` is something other than 8, addressing some of the review feedback from the original diff, though there's plenty of follow-up work here and elsewhere to make that a reality. Additional, uncovers and fixes some errant behavior around `bool`s introduced in the previous commit, and makes the handling of `_BitInt(N)` types more consistent while preserving backwards-compatability.
1 parent f9785e4 commit 2e0d3f8

File tree

3 files changed

+709
-321
lines changed

3 files changed

+709
-321
lines changed

0 commit comments

Comments
 (0)