diff options
| author | Adam Izraelevitz | 2016-11-21 09:12:59 -0800 |
|---|---|---|
| committer | GitHub | 2016-11-21 09:12:59 -0800 |
| commit | aad8e09f355f4804d29361d75f54ce4a5c2d5c52 (patch) | |
| tree | 6f657cdb73f37438d1500fd4af6394e5549550a5 /src/test/resources/blackboxes/ParameterizedExtModuleTester.fir | |
| parent | 4b346ea0b6d9fc0867558d7bdd0fe56159489a92 (diff) | |
Rewrote inline xform to fix quadratic perf. bug (#377)
* Rewrote inline xform to fix quadratic perf. bug
Turns out caching previously inlined modules is not useful
The previous algorithm in a module, would flatten an instance's children, then
flatten that instance. This caused all instances to be effectively
inlined the number of times of its depth in the instance hierarchy,
making it O(n*d*s), where n is the number of instances, and d is the depth
of the instance, and s is the number of statements in the instance.
The new algorithm directly inlines a module by keeping track of the
parents of that instance, making it constant time with the number of
instantiated instances.
* Minor style fixes
Diffstat (limited to 'src/test/resources/blackboxes/ParameterizedExtModuleTester.fir')
0 files changed, 0 insertions, 0 deletions
