google / google/xls

Support double colon in function/proc/block name in IR to support name spacing.

Open
#845 2 comments 0 reactions 1 assignee Claimed by @grebe View on GitHub
ir
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

A DSL proc named `bar` in a module foo produces an IR proc named `__foo__bar_0_next`. To help clean up readability and referring to the IR proc without name mangling (like in build rules), double colon should be supported in the IR for top-level identifiers. IR would look like:

```
proc foo::bar(__token: token, __state: (), init={()}) {
...
```

Also eliminating the `_0_next` suffix of the proc name would be good.

When lowering to verilog, these colons could be legalized by substituting colons with underscores or something, though typically a module name is specified explicitly in codegen so this is not an issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.