Ignore:
Timestamp:
Dec 1, 2015, 10:22:46 PM (4 years ago)
Author:
nmedfort
Message:

Incorporated n-ary coalescing into DistributivePass?.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/toolchain.cpp

    r4885 r4887  
    4242#include <pablo/optimizers/pablo_automultiplexing.hpp>
    4343#include <pablo/optimizers/pablo_bddminimization.h>
    44 #include <pablo/optimizers/booleanreassociationpass.h>
     44#include <pablo/optimizers/distributivepass.h>
    4545#endif
    4646#include <pablo/function.h>
     
    9292                                         cl::desc("coalesce associative functions prior to optimization passes."),
    9393                                         cl::cat(cPabloOptimizationsOptions));
    94 static cl::opt<bool> EnableReassociation("reassoc", cl::init(false),
    95                                          cl::desc("perform reassocation and distribution law optimization."),
     94static cl::opt<bool> EnableDistribution("dist", cl::init(false),
     95                                         cl::desc("apply distribution law optimization."),
    9696                                         cl::cat(cPabloOptimizationsOptions));
    9797#endif
     
    148148    }
    149149#ifdef ENABLE_MULTIPLEXING
    150     if (EnableLowering || EnableMultiplexing) {
     150    if (EnableLowering || EnableMultiplexing || EnableDistribution) {
    151151        FlattenAssociativeDFG::transform(*function);
    152152    }
     
    157157#ifdef ENABLE_MULTIPLEXING   
    158158    if (EnableMultiplexing) {
    159         // BDDMinimizationPass::optimize(*function);
    160159        AutoMultiplexing::optimize(*function, MultiplexingSetLimit, MultiplexingSelectionLimit);
    161160        FlattenAssociativeDFG::transform(*function);
    162161    }
    163     if (EnableReassociation) {
    164         BooleanReassociationPass::optimize(*function);
    165     }
    166 #endif
    167     if (EnableLowering || EnableMultiplexing) {
     162    if (EnableDistribution) {
     163        DistributivePass::optimize(*function);
     164    }
     165    if (EnableLowering || EnableMultiplexing || EnableDistribution) {
    168166        FactorizeDFG::transform(*function);
    169167    }
     168#endif
    170169    if (PrintOptimizedREcode) {
    171170        //Print to the terminal the AST that was generated by the pararallel bit-stream compiler.
Note: See TracChangeset for help on using the changeset viewer.