[clang] 21fa82d - [analyzer] Introduce minor refactoring of SVal::getSubKind function
Denys Petrov via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 3 05:05:41 PDT 2020
Author: Denys Petrov
Date: 2020-08-03T15:05:08+03:00
New Revision: 21fa82d5c63c30c745d5181889329084ac6d2767
URL: https://github.com/llvm/llvm-project/commit/21fa82d5c63c30c745d5181889329084ac6d2767
DIFF: https://github.com/llvm/llvm-project/commit/21fa82d5c63c30c745d5181889329084ac6d2767.diff
LOG: [analyzer] Introduce minor refactoring of SVal::getSubKind function
Summary: `BaseMask` occupies the lowest bits. Effect of applying the mask is neutralized by right shift operation, thus making it useless.
Fix: Remove a redundant bitwise operation.
Differential Revision: https://reviews.llvm.org/D85026
Added:
Modified:
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
Removed:
################################################################################
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
index a640d815a5ce..a561ac67bf78 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
@@ -80,7 +80,7 @@ class SVal {
#define ABSTRACT_SVAL_WITH_KIND(Id, Parent) Id ## Kind,
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.def"
};
- enum { BaseBits = 2, BaseMask = 0x3 };
+ enum { BaseBits = 2, BaseMask = 0b11 };
protected:
const void *Data = nullptr;
@@ -116,7 +116,7 @@ class SVal {
unsigned getRawKind() const { return Kind; }
BaseKind getBaseKind() const { return (BaseKind) (Kind & BaseMask); }
- unsigned getSubKind() const { return (Kind & ~BaseMask) >> BaseBits; }
+ unsigned getSubKind() const { return Kind >> BaseBits; }
// This method is required for using SVal in a FoldingSetNode. It
// extracts a unique signature for this SVal object.
More information about the cfe-commits
mailing list