Skip to content

[hls-fuzzer] Add DisableLatencyOptTypeSystem - #1031

Open
zero9178 wants to merge 1 commit into
users/zero9178/variable-tracking-type-systemfrom
users/zero9178/disable-trivial-opt-type-system
Open

[hls-fuzzer] Add DisableLatencyOptTypeSystem#1031
zero9178 wants to merge 1 commit into
users/zero9178/variable-tracking-type-systemfrom
users/zero9178/disable-trivial-opt-type-system

Conversation

@zero9178

@zero9178 zero9178 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Future type systems (pipelining + high II) assume a rough correspondence between C operation latency and the their naive handshake counterpart. While very often true, specific optimization patterns may reduce the latency drastically, drastically reducing the effectiveness of latency-guided type systems.

This PR therefore introduces a new type system that is meant to stop the generator from producing the most common patterns that lead to latency reductions.

Concretely, the type system implements two patterns in this PR:

  • One to avoid turning a mul by a constant into an adder-tree
  • One to avoid turning a mul by an operand known to be 0 or 1 into a select statement

Future type systems (pipelining + high II) assume a rough correspondence between C operation latency and the their naive handshake counterpart. While very often true, specific optimization patterns may reduce the latency drastically, drastically reducing the effectiveness of latency-guided type systems.

This PR therefore introduces a new type system that is meant to stop the generator from producing the most common patterns that lead to latency reductions.

Concretely, the type system implements two patterns in this PR:
* One to avoid turning a mul by a constant into an adder-tree
* One to avoid turning a mul by an operand known to be 0 or 1 into a select statement
@zero9178
zero9178 requested a review from Jiahui17 August 4, 2026 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant