Ignore:
Timestamp:
Nov 30, 2015, 4:30:02 PM (4 years ago)
Author:
nmedfort
Message:

More work on n-ary operations. Unresolved bug in DistributionPass?.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/optimizers/distributivepass.cpp

    r4880 r4885  
    77#include <boost/container/flat_map.hpp>
    88#include <boost/graph/adjacency_list.hpp>
     9
     10#include <pablo/printer_pablos.h>
     11#include <iostream>
    912
    1013using namespace boost;
     
    331334
    332335        block->setInsertPoint(cast<Variadic>(G[sinks.front()])->getPrevNode());
    333 
    334336        if (isa<And>(G[sinks.front()])) {
    335337            outerOp = block->createAnd(intermediary.size(), PabloBlock::createOnes());
     
    343345        for (const Vertex u : intermediary) {
    344346            for (const Vertex v : sinks) {
    345                 cast<Variadic>(G[v])->removeOperand(cast<Variadic>(G[u]));
     347                cast<Variadic>(G[v])->deleteOperand(G[u]);
    346348            }
    347349            outerOp->setOperand(i++, cast<Variadic>(G[u]));
     
    351353        for (const Vertex u : sources) {
    352354            for (const Vertex v : intermediary) {
    353                 cast<Variadic>(G[v])->removeOperand(G[u]);
     355                cast<Variadic>(G[v])->deleteOperand(G[u]);
    354356            }
    355357            innerOp->setOperand(i++, G[u]);
Note: See TracChangeset for help on using the changeset viewer.