Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve rectangular domain module code in Dyno #25684

Merged
merged 66 commits into from
Oct 7, 2024

Conversation

riftEmber
Copy link
Member

@riftEmber riftEmber commented Jul 31, 2024

Implement resolution of basic rectangular domain type expressions and literals using ChapelDomain module code, replacing the stub compiler implementation.

Includes:

  • Get new _domain resolving
  • Rewrite new dmap as new _distribution
  • Resolve domain type expressions as receiver type of new _domain
  • Emit useful error messages for invalid domain type expressions
  • Resolve domain literals with chpl__buildDomainExpr/chpl__ensureDomainExpr
  • Get testing working against real _domain type from modules for rectangular domains

Resolves https://github.com/Cray/chapel-private/issues/6163.

Future domains work:

  • use associative and sparse domains module code as well
  • set up dmapped keyword to resolve a call to chpl_distributed

[reviewer info placeholder]

Testing:

  • dyno tests
  • paratest

@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch from 71d92dd to c6476ea Compare August 1, 2024 15:55
@riftEmber riftEmber changed the title Dyno resolve chpl__buildDomainRuntimeType Dyno resolve new domain Aug 1, 2024
@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch 17 times, most recently from 88f1c73 to 79a86ff Compare August 8, 2024 16:09
@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch 3 times, most recently from 646a2f8 to bb0b957 Compare August 15, 2024 18:02
@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch 5 times, most recently from fae8742 to 3e93857 Compare August 21, 2024 15:53
@riftEmber riftEmber changed the title Dyno resolve new domain Dyno resolve domain module code Aug 21, 2024
@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch 2 times, most recently from 950df4d to a121cdd Compare August 22, 2024 19:29
@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch from 340b548 to b29e6b1 Compare October 3, 2024 17:37
@riftEmber
Copy link
Member Author

riftEmber commented Oct 3, 2024

After rebasing off main (which incorporates #26028), testArrays is failing again :/ Will start on fixing that before working on other feedback

edit: this turns out to be from an independent bug in that PR, so undoing the rebase and will wait until that's resolved

@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch from b29e6b1 to 340b548 Compare October 3, 2024 20:36
Includes:
- testing of DomainType's substitution types
- assertions that substitution types are correct when creating
  DomainType
- minor refactors in domainTypeFromSubsHelper for clarity

Signed-off-by: Anna Rift <[email protected]>
Signed-off-by: Anna Rift <[email protected]>
Returned via a new struct containing ID and name.
A new helper, getSymbolId... is introduced with the previous behavior,
to preserve performance in cases where only ID is needed.

Signed-off-by: Anna Rift <[email protected]>
Signed-off-by: Anna Rift <[email protected]>
@riftEmber riftEmber force-pushed the dyno-builddomainruntimetype branch from abc93f7 to f7241a7 Compare October 4, 2024 18:33
@riftEmber riftEmber requested a review from DanilaFe October 7, 2024 16:42
frontend/lib/parsing/parsing-queries.cpp Outdated Show resolved Hide resolved
frontend/lib/resolution/InitResolver.cpp Outdated Show resolved Hide resolved
frontend/lib/resolution/InitResolver.cpp Outdated Show resolved Hide resolved
frontend/lib/resolution/InitResolver.cpp Outdated Show resolved Hide resolved
frontend/lib/resolution/Resolver.cpp Outdated Show resolved Hide resolved
frontend/lib/types/DomainType.cpp Show resolved Hide resolved
@riftEmber riftEmber merged commit 9d2a19d into chapel-lang:main Oct 7, 2024
7 checks passed
@riftEmber riftEmber deleted the dyno-builddomainruntimetype branch October 7, 2024 21:33
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.

2 participants