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

Lv domination #68792

Closed
wants to merge 2 commits into from
Closed

Conversation

Leporacanthicus
Copy link
Contributor

No description provided.

jeanPerier and others added 2 commits October 5, 2023 06:33
The goal is to progressively propagate all the derived type info that is
currently in the runtime type info globals into a FIR operation that can
be easily queried and used by FIR/HLFIR passes.

When this will be complete, the last step will be to stop generating the runtime
info global in lowering, but to do that later in or just before codegen to
keep the FIR files readable (on the added type-info.f90 tests, the
lowered runtime info globals takes a wooping 2.6 millions characters
of 1600 lines the FIR textual output. The fir.type_info that contains all the
info required to generate those globals for such "trivial" types takes 1721
characters on 9 lines).

So far this patch simply starts by replacing the fir.dispatch_table
operation by the fir.type_info operation and to add the noinit/
nofinal/nodestroy flags to it. These flags will soon be used in HLFIR
to better rewrite hlfir.assign with derived types.
This avoids trying to version loops that can't be versioned,
and thus avoids hitting an assert.

Co-authored with Slava Zakharin (who provided the test-code).
@llvmbot llvmbot added flang Flang issues not falling into any other category flang:fir-hlfir flang:codegen labels Oct 11, 2023
@Leporacanthicus
Copy link
Contributor Author

Ooops, I have another patch in there. Will create another PR. Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flang:codegen flang:fir-hlfir flang Flang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants