init, primepump);
init, primepump, rawChip);
    private static void processFilterTraces(Trace trace, boolean init, boolean primepump,            RawChip rawChip) {        //create the DRAM commands for trace input and output         //this is done before we create the compute code for the filters of the        //trace        if (trace.getHead().getNext().isFilterTrace())            generateInputFilterDRAMCommand(trace.getHead().getNextFilter(),                     init, primepump);        if (trace.getTail().getPrevious().isFilterTrace())            generateFilterOutputDRAMCommand(trace.getTail().getPrevFilter(),                     init, primepump);        // iterate over the filterNodes                 //get the first traceNode that can be a filter        TraceNode traceNode = trace.getHead().getNext();        while (traceNode != null) {            SpaceTimeBackend.println("Rawify: " + traceNode);            // do the appropiate code generation            if (traceNode.isFilterTrace()) {                FilterTraceNode filterNode = (FilterTraceNode) traceNode;                assert !filterNode.isPredefined() :                     "Predefined filters should not appear in the trace traversal: "                    + trace.toString();                RawTile tile = rawChip.getTile((filterNode).getX(),                        (filterNode).getY());                // create the filter info class                FilterInfo filterInfo = FilterInfo.getFilterInfo(filterNode);                // add the dram command if this filter trace is an                // endpoint...                                                /*                 * if (filterInfo.isLinear()) { //assert                 * FilterInfo.getFilterInfo(filterNode).remaining == 0 :                 * //"Items remaining on buffer for init for linear filter";                 * createSwitchCodeLinear(filterNode,                 * trace,filterInfo,init,primepump,tile,rawChip); } else {                 */                createCommunicationCode(filterNode, trace, filterInfo, init,                        primepump, filterInfo.isLinear(), tile, rawChip);                                               // }                                // used for debugging, nothing more                tile.addFilterTrace(init, primepump, filterNode);                // this must come after createswitch code because of                // compression                addComputeCode(init, primepump, tile, filterInfo);            }             // get the next tracenode            traceNode = traceNode.getNext();        }    }