| 
    decompiler
    1.0.0
    
   | 
 
Class for doing normal widening. More...
#include <rangeutil.hh>
  
Public Member Functions | |
| virtual int4 | determineIterationReset (const ValueSet &valueSet) | 
| Upon entering a fresh partition, determine how the given ValueSet count should be reset.  More... | |
| virtual bool | checkFreeze (const ValueSet &valueSet) | 
| Check if the given value set has been frozen for the remainder of the iteration process.  More... | |
| virtual bool | doWidening (const ValueSet &valueSet, CircleRange &range, const CircleRange &newRange) | 
| For an iteration that isn't stabilizing attempt to widen the given ValueSet.  More... | |
Private Attributes | |
| int4 | widenIteration | 
| The iteration at which widening is attempted.  | |
| int4 | fullIteration | 
| The iteration at which a full range is produced.  | |
Class for doing normal widening.
Widening is attempted at a specific iteration. If a landmark is available, it is used to do a controlled widening, holding the stable range boundary constant. Otherwise a full range is produced. At a later iteration, a full range is produced automatically.
      
  | 
  virtual | 
Check if the given value set has been frozen for the remainder of the iteration process.
| valueSet | is the given value set | 
Implements Widener.
      
  | 
  virtual | 
Upon entering a fresh partition, determine how the given ValueSet count should be reset.
| valueSet | is the given value set | 
Implements Widener.
References widenIteration.
      
  | 
  virtual | 
For an iteration that isn't stabilizing attempt to widen the given ValueSet.
Change the given range based on its previous iteration so that it stabilizes more rapidly on future iterations.
| valueSet | is the given value set | 
| range | is the previous form of the given range (and storage for the widening result) | 
| newRange | is the current iteration of the given range | 
Implements Widener.
References CircleRange::contains(), fullIteration, ValueSet::getLandMark(), CircleRange::invert(), CircleRange::widen(), and widenIteration.
 1.8.17