Skip to content

Commit 9294da4

Browse files
Sean Purser-Haskellcopybara-github
authored andcommitted
Enable sharing of state elements between continuation values and static variables with superficially different layouts. For example, bits[64] and (bits[64]). This sharing is done by LeafTypeTree index. This allows sharing of state elements between base and derived classes, for example. It also allows unused parts of a struct to be pruned.
- Replaced NamedDecl* with DeclLeaf for continuations, where DeclLeaf also indicates the LeafTypeTree element index of the continuation values. - Also fixes small bugs with pass through finding and direct in marking. - Changes to the data flow visitor are needed to support these fixes. For example, a select between two direct ins with a non-direct-in selector should not be marked as direct-in. PiperOrigin-RevId: 861456858
1 parent 4201434 commit 9294da4

19 files changed

+2215
-281
lines changed

xls/contrib/xlscc/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ cc_library(
160160
"@com_google_absl//absl/container:btree",
161161
"@com_google_absl//absl/container:flat_hash_map",
162162
"@com_google_absl//absl/container:flat_hash_set",
163+
"@com_google_absl//absl/container:inlined_vector",
163164
"@com_google_absl//absl/log",
164165
"@com_google_absl//absl/log:check",
165166
"@com_google_absl//absl/status",
@@ -253,6 +254,7 @@ cc_library(
253254
"//xls/passes:inlining_pass",
254255
"//xls/passes:node_source_analysis",
255256
"//xls/passes:optimization_pass",
257+
"//xls/passes:optimization_pass_pipeline",
256258
"//xls/passes:partial_info_query_engine",
257259
"//xls/passes:pass_base",
258260
"//xls/solvers:z3_ir_translator",

0 commit comments

Comments
 (0)