Ignore:
Timestamp:
Jun 4, 2015, 4:28:10 PM (4 years ago)
Author:
nmedfort
Message:

Added ability to infer mutual exclusivity / subset relationships based on already proven relationships. Simplifer can now eliminate If nodes whenever all of the defined vars are Zeroes.

File:
1 edited

Legend:

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

    r4592 r4594  
    6363                                      cl::cat(cPabloOptimizationsOptions));
    6464#ifdef ENABLE_MULTIPLEXING
    65 static cl::opt<bool> PabloMutualExclusionPass("mutual-exclusion", cl::init(false),
     65static cl::opt<bool> PabloMutualExclusionPass("csme", cl::init(true),
    6666                                      cl::desc("Multiplex Advances whose inputs are mutual exclusive and replace any contradictory stream with Zero."),
    6767                                      cl::cat(cPabloOptimizationsOptions));
     
    168168        CodeSinking::optimize(main);
    169169    }
    170 
    171170    #ifdef ENABLE_MULTIPLEXING
    172171    if (PabloMutualExclusionPass) {
    173         AutoMultiplexing::optimize(basisBits, main);
     172        if (AutoMultiplexing::optimize(basisBits, main) && !DisablePabloCSE) {
     173            Simplifier::optimize(main);
     174        }
    174175    }
    175176    #endif
Note: See TracChangeset for help on using the changeset viewer.