Ignore:
Timestamp:
Dec 2, 2015, 4:22:23 PM (3 years ago)
Author:
nmedfort
Message:

Work on adding Multiplexing Window Size.

File:
1 edited

Legend:

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

    r4887 r4888  
    7878
    7979#ifdef ENABLE_MULTIPLEXING
    80 static cl::opt<bool> EnableMultiplexing("multiplexing", cl::init(false),
     80static cl::opt<bool> EnableMultiplexing("multiplexing", cl::init(true),
    8181                                        cl::desc("combine Advances whose inputs are mutual exclusive into the fewest number of advances possible (expensive)."),
    8282                                        cl::cat(cPabloOptimizationsOptions));
     
    8585                                        cl::desc("maximum size of any candidate multiplexing set."),
    8686                                        cl::cat(cPabloOptimizationsOptions));
    87 
    8887static cl::opt<unsigned> MultiplexingSelectionLimit("multiplexing-selection-limit", cl::init(100),
    8988                                        cl::desc("maximum number of selections from any partial candidate multiplexing set."),
    9089                                        cl::cat(cPabloOptimizationsOptions));
     90static cl::opt<unsigned> MultiplexingWindowSize("multiplexing-window-size", cl::init(100),
     91                                        cl::desc("maximum depth difference for computing mutual exclusion of Advance nodes."),
     92                                        cl::cat(cPabloOptimizationsOptions));
     93
    9194static cl::opt<bool> EnableLowering("lowering", cl::init(false),
    9295                                         cl::desc("coalesce associative functions prior to optimization passes."),
     
    157160#ifdef ENABLE_MULTIPLEXING   
    158161    if (EnableMultiplexing) {
    159         AutoMultiplexing::optimize(*function, MultiplexingSetLimit, MultiplexingSelectionLimit);
    160         FlattenAssociativeDFG::transform(*function);
     162        MultiplexingPass::optimize(*function, MultiplexingSetLimit, MultiplexingSelectionLimit, MultiplexingWindowSize);
    161163    }
    162164    if (EnableDistribution) {
Note: See TracChangeset for help on using the changeset viewer.