[PATCH] D142078: [llvm] Move bit counting functions to bit.h (NFC)
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 18 21:01:40 PST 2023
dblaikie added a comment.
Is the plan to migrate callers over to this eventually, and remove the countNnn wrappers?
================
Comment at: llvm/include/llvm/ADT/bit.h:44-54
+#ifdef _MSC_VER
+// Declare these intrinsics manually rather including intrin.h. It's very
+// expensive, and MathExtras.h is popular.
+// #include <intrin.h>
+extern "C" {
+unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask);
+unsigned char _BitScanForward64(unsigned long *_Index, unsigned __int64 _Mask);
----------------
Instead of this, perhaps we could write small/simple wrappers, avoiding the need to forward declare things from platform headers? & possibly wrapping the basic operations/differences between the platforms in a more direct way, then exposing these higher level primitives based on those abstractions?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142078/new/
https://reviews.llvm.org/D142078
More information about the llvm-commits
mailing list