================
@@ -241,26 +242,25 @@ computeOffset(ProgramStateRef State, SValBuilder &SVB,
SVal Location) {
static std::pair<NonLoc, nonloc::ConcreteInt>
getSimplifiedOffsets(NonLoc offset, nonloc::ConcreteInt extent,
SValBuilder &svalBuilder) {
+ const llvm::APSInt &extentVal = extent.getValue();
std::optional<nonloc::SymbolVal> SymVal = offset.getAs<nonloc::SymbolVal>();
if (SymVal && SymVal->isExpression()) {
if (const SymIntExpr *SIE = dyn_cast<SymIntExpr>(SymVal->getSymbol())) {
- llvm::APSInt constant =
- APSIntType(extent.getValue()).convert(SIE->getRHS());
+ llvm::APSInt constant = APSIntType(extentVal).convert(SIE->getRHS());
switch (SIE->getOpcode()) {
case BO_Mul:
// The constant should never be 0 here, becasue multiplication by zero
// is simplified by the engine.
- if ((extent.getValue() % constant) != 0)
+ if ((extentVal % constant) != 0)
return std::pair<NonLoc, nonloc::ConcreteInt>(offset, extent);
else
return getSimplifiedOffsets(
nonloc::SymbolVal(SIE->getLHS()),
- svalBuilder.makeIntVal(extent.getValue() / constant),
- svalBuilder);
+ svalBuilder.makeIntVal(extentVal / constant), svalBuilder);
case BO_Add:
return getSimplifiedOffsets(
nonloc::SymbolVal(SIE->getLHS()),
- svalBuilder.makeIntVal(extent.getValue() - constant), svalBuilder);
+ svalBuilder.makeIntVal(extentVal - constant), svalBuilder);
default:
break;
----------------
NagyDonat wrote:
Slightly offtopic request: as you're already editing many lines of this
function, please convert it to `UpperCamelCase` variable names (which is the
standard suggested by the LLVM style guide).
When I started to work on this checker in April 2023, it was an ugly mixture of
`UpperCamelCase` and `lowerCamelCase` variable names; but then, as I refactored
various parts of it, I gradually renamed (or removed) most old `lowerCamelCase`
variables, so (if I recall correctly) this is the last function that heavily
uses them.
https://github.com/llvm/llvm-project/pull/120436
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits