diff options
| author | Jack Koenig | 2017-05-11 18:22:08 -0700 |
|---|---|---|
| committer | GitHub | 2017-05-11 18:22:08 -0700 |
| commit | cf226360a7681354609779743895d015c3415451 (patch) | |
| tree | ef3764642a2fb9083f12a6dea6188225ff1e3786 /src/test/resources/blackboxes/RenamedExtModuleTester.fir | |
| parent | fba12e01fda28a72b3c00116b52f8aee8bce0677 (diff) | |
Improved Global Dead Code Elimination (#549)
Performs DCE by constructing a global dependency graph starting with top-level
outputs, external module ports, and simulation constructs as circuit sinks.
External modules can optionally be eligible for DCE via the
OptimizableExtModuleAnnotation.
Dead code is eliminated across module boundaries. Wires, ports, registers, and
memories are all eligible for removal. Components marked with a
DontTouchAnnotation will be treated as a circuit sink and thus anything that
drives such a marked component will NOT be removed.
This transform preserves deduplication. All instances of a given DefModule are
treated as the same individual module. Thus, while certain instances may have
dead code due to the circumstances of their instantiation in their parent
module, they will still not be removed. To remove such modules, use the
NoDedupAnnotation to prevent deduplication.
Diffstat (limited to 'src/test/resources/blackboxes/RenamedExtModuleTester.fir')
0 files changed, 0 insertions, 0 deletions
