[PATCH] D124658: CSA Normalize SymIntExpr so the RHS is positive when possible
    Tomasz KamiĆski via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Fri Apr 29 00:48:37 PDT 2022
    
    
  
tomasz-kaminski-sonarsource created this revision.
tomasz-kaminski-sonarsource added reviewers: vsavchenko, NoQ, steakhal.
Herald added a subscriber: martong.
Herald added a project: All.
tomasz-kaminski-sonarsource requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
This PR changes the SymIntExpr so the expression that uses
negative value as RHS, for example: x +/- (-N), are modeled as
as x -/+ N. This avoid producing very large RHS in case when the
symbol is cased to unsigned number, and as consequence makes the
value more robust in presence of cast.
This change is not apllied if N is lowest negative value for
which negation would not be representable.
Repository:
  rG LLVM Github Monorepo
https://reviews.llvm.org/D124658
Files:
  clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  clang/test/Analysis/additive-op-on-sym-int-expr.c
  clang/test/Analysis/expr-inspection.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124658.425983.patch
Type: text/x-patch
Size: 5745 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220429/58af07b5/attachment.bin>
    
    
More information about the cfe-commits
mailing list