Ignore:
Timestamp:
Dec 9, 2015, 4:59:02 PM (3 years ago)
Author:
nmedfort
Message:

Continued work on multiplexing pass.

File:
1 edited

Legend:

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

    r4889 r4890  
    7979
    8080#ifdef ENABLE_MULTIPLEXING
    81 static cl::opt<bool> EnableMultiplexing("multiplexing", cl::init(true),
     81static cl::opt<bool> EnableMultiplexing("multiplexing", cl::init(false),
    8282                                        cl::desc("combine Advances whose inputs are mutual exclusive into the fewest number of advances possible (expensive)."),
    8383                                        cl::cat(cPabloOptimizationsOptions));
     
    8989                                        cl::desc("maximum number of selections from any partial candidate multiplexing set."),
    9090                                        cl::cat(cPabloOptimizationsOptions));
    91 static cl::opt<unsigned> MultiplexingWindowSize("multiplexing-window-size", cl::init(100),
     91static cl::opt<unsigned> MultiplexingWindowSize("multiplexing-window-size", cl::init(1),
    9292                                        cl::desc("maximum depth difference for computing mutual exclusion of Advance nodes."),
    9393                                        cl::cat(cPabloOptimizationsOptions));
     
    152152    }
    153153#ifdef ENABLE_MULTIPLEXING
    154     if (EnableLowering || EnableMultiplexing || EnableDistribution) {
     154    if (EnableLowering || EnableDistribution || EnableMultiplexing) {
    155155        FlattenAssociativeDFG::transform(*function);
    156156    }
     
    160160    }
    161161#ifdef ENABLE_MULTIPLEXING   
     162    if (EnableDistribution) {
     163        DistributivePass::optimize(*function);
     164    }
    162165    if (EnableMultiplexing) {
    163166        MultiplexingPass::optimize(*function, MultiplexingSetLimit, MultiplexingSelectionLimit, MultiplexingWindowSize);
    164167    }
    165     if (EnableDistribution) {
    166         DistributivePass::optimize(*function);
    167     }
    168     if (EnableLowering || EnableMultiplexing || EnableDistribution) {
     168    if (EnableLowering || EnableDistribution || EnableMultiplexing) {
    169169        FactorizeDFG::transform(*function);
    170170    }
    171171#endif
    172172    if (PrintOptimizedREcode) {
     173        PabloVerifier::verify(*function, "post-optimization");
    173174        //Print to the terminal the AST that was generated by the pararallel bit-stream compiler.
    174175        llvm::raw_os_ostream cerr(std::cerr);
Note: See TracChangeset for help on using the changeset viewer.