[llvm] [SandboxVectorizer][NFCI] Fix use of possibly-uninitialized scalar. (PR #122201)
Tyler Lanphear via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 9 15:35:12 PST 2025
================
@@ -37,10 +38,25 @@ class Context {
using MoveInstrCallback =
std::function<void(Instruction *, const BBIterator &)>;
- /// An ID for a registered callback. Used for deregistration. Using a 64-bit
- /// integer so we don't have to worry about the unlikely case of overflowing
- /// a 32-bit counter.
- using CallbackID = uint64_t;
+ /// An ID for a registered callback. Used for deregistration. A dedicated type
+ /// is employed so as to keep IDs opaque to the end user; only Context should
+ /// deal with its underlying representation.
+ class CallbackID {
+ public:
+ // Uses a 64-bit integer so we don't have to worry about the unlikely case
+ // of overflowing a 32-bit counter.
+ using ReprTy = uint64_t;
+
+ private:
+ // Default initialization results in an invalid ID.
+ ReprTy Val = std::numeric_limits<ReprTy>::max();
----------------
tylanphear wrote:
Hmm, this is a good point. I think using 0 as the default value and making the first valid callback ID be 1 makes sense as a solution.
https://github.com/llvm/llvm-project/pull/122201
More information about the llvm-commits
mailing list