[llvm] Add non-null check before accessing pointer (PR #83459)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 29 10:28:20 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Martin Wehking (MartinWehking)
<details>
<summary>Changes</summary>
Add a check if RC is not null to ensure that a consecutive access is safe.
A static analyzer flagged this issue since hasVectorRegisters potentially dereferences RC.
---
Full diff: https://github.com/llvm/llvm-project/pull/83459.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/SIFoldOperands.cpp (+1-1)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
index 634b4aeb30a730..1cef4f1fa81e3a 100644
--- a/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+++ b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
@@ -1054,7 +1054,7 @@ void SIFoldOperands::foldOperand(
// Don't fold if OpToFold doesn't hold an aligned register.
const TargetRegisterClass *RC =
TRI->getRegClassForReg(*MRI, OpToFold.getReg());
- if (TRI->hasVectorRegisters(RC) && OpToFold.getSubReg()) {
+ if (RC && TRI->hasVectorRegisters(RC) && OpToFold.getSubReg()) {
unsigned SubReg = OpToFold.getSubReg();
if (const TargetRegisterClass *SubRC =
TRI->getSubRegisterClass(RC, SubReg))
``````````
</details>
https://github.com/llvm/llvm-project/pull/83459
More information about the llvm-commits
mailing list