[llvm] [SandboxVectorizer][NFCI] Fix use of possibly-uninitialized scalar. (PR #122201)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 8 17:18:14 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-vectorizers
Author: Tyler Lanphear (tylanphear)
<details>
<summary>Changes</summary>
The `EraseCallbackID` field is not always initialized in the ctor for SeedCollector; if not, it will be used uninitialized by its dtor. This could potentially lead to the erasure of a random callback, leading to a bug.
Fixed by initializing to a purposefully invalid ID (`std::numeric_limits<ContextID>::max()`)
---
Full diff: https://github.com/llvm/llvm-project/pull/122201.diff
1 Files Affected:
- (modified) llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h (+3-1)
``````````diff
diff --git a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
index 6e16a84d832e5e..cc4ebb5c508414 100644
--- a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
+++ b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
@@ -292,7 +292,9 @@ class SeedCollector {
SeedContainer StoreSeeds;
SeedContainer LoadSeeds;
Context &Ctx;
- Context::CallbackID EraseCallbackID;
+ Context::CallbackID EraseCallbackID =
+ std::numeric_limits<Context::CallbackID>::max();
+
/// \Returns the number of SeedBundle groups for all seed types.
/// This is to be used for limiting compilation time.
unsigned totalNumSeedGroups() const {
``````````
</details>
https://github.com/llvm/llvm-project/pull/122201
More information about the llvm-commits
mailing list