[PATCH] [analyzer] Refactor conditional expression evaluating code

Pavel Labath labath at google.com
Fri Aug 16 02:56:54 PDT 2013


  The discussion made me realize I don't need all sub-expressions to be live, but only the logical expression tree leafs, so I changed LiveVariables accordingly.

  I also realized that non-leaf expressions are never removed from the live set, unless I am missing something. So, basically, once a non-leaf expression  in the temporary destructor branch terminator is marked as live, it will stay live forever. I didn't want to address this now, as this was always the case and is not introduced by this change. I'll postpone that to an another patch.

Hi jordan_rose,

http://llvm-reviews.chandlerc.com/D1340

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D1340?vs=3382&id=3519#toc

Files:
  lib/Analysis/LiveVariables.cpp
  lib/StaticAnalyzer/Core/ExprEngine.cpp
  lib/StaticAnalyzer/Core/ExprEngineC.cpp
  test/Analysis/logical-ops.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1340.3.patch
Type: text/x-patch
Size: 7593 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130816/e2453098/attachment.bin>


More information about the cfe-commits mailing list