]> granicus.if.org Git - clang/commit
Revised RangeConstraintManager based on several discussions with Ben Laurie and
authorTed Kremenek <kremenek@apple.com>
Tue, 17 Feb 2009 19:28:04 +0000 (19:28 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 17 Feb 2009 19:28:04 +0000 (19:28 +0000)
commit9beefec2a9f5d34ab70fef06515c7987cb041f07
tree2c5f6d4fe47c084406f08c50a939cc892320c301
parenteca69623c2c942fdb995cecc92a275a189fd731c
Revised RangeConstraintManager based on several discussions with Ben Laurie and
Zhongxing Xu. The resultant code is less than 1/2 the size of the original.

Key highlights:

- All CouldBeXXX methods have been removed. Checking for feasibility is now just
  done in the AddXXX methods.

- RangeSets now represent "all possible values" explicitly as the range set {
  [min, max] } instead of the empty set. The empty set now represents "no
  feasible values". This change consolidated much of the core algorithm to only
  have one code path instead of alternate paths that considered the empty set to
  represent "all possible falues."

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64787 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/RangeConstraintManager.cpp