Skip to content
  1. Nov 18, 2011
  2. Nov 17, 2011
  3. Nov 16, 2011
  4. Nov 14, 2011
  5. Nov 11, 2011
  6. Nov 10, 2011
  7. Nov 08, 2011
    • Anna Zaks's avatar
      [analyzer] Remove redundant check from DivZeroChecker · 0d58033b
      Anna Zaks authored
      Analysis by Ted:
      "
          if (stateZero && !stateNotZero) {
      
      is checking to see if:
      
        (A)  "it is possible for the value to be zero"   (stateZero)
      
          AND
      
        (B) "it is not possible for the value to be non-zero"  (!stateNotZero)
      
      That said, the only way for both B to be true AND A to be false is if the path is completely infeasible by the time we reach the divide-by-zero check.  For the most part (all cases?), such cases should automatically get pruned out at branches (i.e., an infeasible path gets dropped), which is the case in our tests.  So the question is whether or not such an infeasible path might not get dropped earlier?  I can't envision any right now.
      
      Indeed, the rest of the checker assumes that if the bug condition didn't fire then 'stateNotZero' is non-NULL:
      
          C.addTransition(stateNotZero);
      "
      
      llvm-svn: 144114
      0d58033b
  8. Nov 07, 2011
  9. Nov 06, 2011
    • John McCall's avatar
      Change the AST representation of operations on Objective-C · fe96e0b6
      John McCall authored
      property references to use a new PseudoObjectExpr
      expression which pairs a syntactic form of the expression
      with a set of semantic expressions implementing it.
      This should significantly reduce the complexity required
      elsewhere in the compiler to deal with these kinds of
      expressions (e.g. IR generation's special l-value kind,
      the static analyzer's Message abstraction), at the lower
      cost of specifically dealing with the odd AST structure
      of these expressions.  It should also greatly simplify
      efforts to implement similar language features in the
      future, most notably Managed C++'s properties and indexed
      properties.
      
      Most of the effort here is in dealing with the various
      clients of the AST.  I've gone ahead and simplified the
      ObjC rewriter's use of properties;  other clients, like
      IR-gen and the static analyzer, have all the old
      complexity *and* all the new complexity, at least
      temporarily.  Many thanks to Ted for writing and advising
      on the necessary changes to the static analyzer.
      
      I've xfailed a small diagnostics regression in the static
      analyzer at Ted's request.
      
      llvm-svn: 143867
      fe96e0b6
  10. Nov 05, 2011
  11. Nov 04, 2011
  12. Nov 02, 2011
  13. Nov 01, 2011
  14. Oct 29, 2011
  15. Oct 28, 2011
  16. Oct 27, 2011
  17. Oct 26, 2011
  18. Oct 25, 2011
Loading