Commit 2e0d3f8
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- clang
- lib/AST
- test/SemaCXX
3 files changed
+709
-321
lines changed
0 commit comments