cloud9_root/src/third_party/stp/src/simplifier/constantBitP/ConstantBitPropagation.cpp
// For the given node, update which bits are fixed.
For the given node, update which bits are fixed.
For the given node update which bits are fixed .
FixedBits*
    ConstantBitPropagation::getUpdatedFixedBits(const ASTNode& n)
    {
      FixedBits* output = getCurrentFixedBits(n);
      const Kind k = n.GetKind();
      if (n.isConstant())
        {
          assert(output->isTotallyFixed());
          return output;
        }
      if (SYMBOL == k)
        return output; 
      vector<FixedBits*> children;
      const int numberOfChildren = n.GetChildren().size();
      children.reserve(numberOfChildren);
      for (int i = 0; i < numberOfChildren; i++)
        {
          children.push_back(getCurrentFixedBits(n.GetChildren()[i]));
        }
      assert(status != CONFLICT);
      status = dispatchToTransferFunctions(k, children, *output, n, msm);
      assert(((unsigned)output->getWidth()) == n.GetValueWidth() || output->getWidth() ==1);
      return output;
    }
FixedBits * ConstantBitPropagation :: getUpdatedFixedBits ( const ASTNode & n ) { FixedBits * output = getCurrentFixedBits ( n ) ; const Kind k = n . GetKind ( ) ; if ( n . isConstant ( ) ) { assert ( output -> isTotallyFixed ( ) ) ; return output ; } if ( SYMBOL == k ) return output ; vector < FixedBits * > children ; const int numberOfChildren = n . GetChildren ( ) . size ( ) ; children . reserve ( numberOfChildren ) ; for ( int i = 0 ; i < numberOfChildren ; i ++ ) { children . push_back ( getCurrentFixedBits ( n . GetChildren ( ) [ i ] ) ) ; } assert ( status != CONFLICT ) ; status = dispatchToTransferFunctions ( k , children , * output , n , msm ) ; assert ( ( ( unsigned ) output -> getWidth ( ) ) == n . GetValueWidth ( ) || output -> getWidth ( ) == 1 ) ; return output ; }
For the given node, update which bits are fixed.
For the given node update which bits are fixed .
// No transfer functions for these. //result = dispatchToMaximallyPrecise(k, children, *output, n,msm);