Skip to content
  1. Jul 29, 2009
  2. Jul 14, 2009
  3. Jun 30, 2009
  4. Jun 26, 2009
    • Ted Kremenek's avatar
      Introduce a new concept to the static analyzer: SValuator. · 1642bdaa
      Ted Kremenek authored
      GRTransferFuncs had the conflated role of both constructing SVals (symbolic
      expressions) as well as handling checker-specific logic. Now SValuator has the
      role of constructing SVals from expressions and GRTransferFuncs just handles
      checker-specific logic. The motivation is by separating these two concepts we
      will be able to much more easily create richer constraint-generating logic
      without coupling it to the main checker transfer function logic.
      
      We now have one implementation of SValuator: SimpleSValuator.
      
      SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals
      (which is removed in this patch). This includes the logic for EvalBinOp,
      EvalCast, etc. Because SValuator has a narrower role than the old
      GRTransferFuncs, the interfaces are much simpler, and so is the implementation
      of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of
      SVal-related logic in GRSimpleVals and cleaned it up while moving it over to
      SimpleSValuator.
      
      As a consequence of removing GRSimpleVals, there is no longer a
      '-checker-simple' option. The '-checker-cfref' did everything that option did
      but also ran the retain/release checker. Of course a user may not always wish to
      run the retain/release checker, nor do we wish core analysis logic buried in the
      checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp
      to separate out these pieces into the core analysis engine.
      
      llvm-svn: 74229
      1642bdaa
  5. Jun 25, 2009
  6. Jun 23, 2009
  7. Jun 19, 2009
  8. Jun 18, 2009
  9. May 12, 2009
  10. May 09, 2009
  11. May 04, 2009
  12. Apr 21, 2009
  13. Apr 20, 2009
  14. Apr 11, 2009
  15. Apr 10, 2009
  16. Apr 09, 2009
  17. Apr 08, 2009
  18. Apr 03, 2009
  19. Mar 30, 2009
  20. Mar 26, 2009
    • Ted Kremenek's avatar
      analyzer infrastructure: make a bunch of changes to symbolic expressions that · 3e31c26f
      Ted Kremenek authored
      Zhongxing and I discussed by email.
      
      Main changes:
      - Removed SymIntConstraintVal and SymIntConstraint
      - Added SymExpr as a parent class to SymbolData, SymSymExpr, SymIntExpr
      - Added nonloc::SymExprVal to wrap SymExpr
      - SymbolRef is now just a typedef of 'const SymbolData*'
      - Bunch of minor code cleanups in how some methods were invoked (no functionality change)
      
      This changes are part of a long-term plan to have full symbolic expression
      trees. This will be useful for lazily evaluating complicated expressions.
      
      llvm-svn: 67731
      3e31c26f
  21. Mar 25, 2009
  22. Mar 20, 2009
    • Ted Kremenek's avatar
      GRExprEngine: · 6b31533a
      Ted Kremenek authored
      - Conjure symbols at '--' and '++' unary operations
      - Add utility method SVal::GetConjuredSymbolVal() and constify some arguments
        along the way.
      
      llvm-svn: 67395
      6b31533a
  23. Mar 18, 2009
    • Ted Kremenek's avatar
      Fix crash reported in <rdar://problem/6695527>. We now have · b36e01d8
      Ted Kremenek authored
      SVal::GetRValueSymbolVal do the checking if we can symbolicate a type instead of
      having BasicStoreManager do it (which wasn't always doing the check
      consistently). Having this check in SVal::GetRValueSymbolVal keeps the check in
      one centralized place.
      
      llvm-svn: 67245
      b36e01d8
Loading