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

[LateLowerGC] Change undef FCA into zeroinit #43867

Merged
merged 2 commits into from
Jan 20, 2022
Merged

[LateLowerGC] Change undef FCA into zeroinit #43867

merged 2 commits into from
Jan 20, 2022

Conversation

vchuravy
Copy link
Member

Fixes #43798

@vtjnash and I discussed this offline. The long-term proper fix maybe to not from FCA entirely in the front-end.
For now we settled on the fact that we can scan the IR and make sure that formed FCA are not undef initialized,
but instead zero initialized, ensuring that LateLowerGC didn't synthesize a use of an undef value.

An alternative proposal by me was to use ValueTracking to see if something is proven undef, but that seemed rather costly
and more invasive.

@vchuravy vchuravy added compiler:codegen Generation of LLVM IR and native code needs tests Unit tests are required for this change backport 1.7 labels Jan 19, 2022
@vchuravy vchuravy added this to the 1.8 milestone Jan 19, 2022
@vchuravy vchuravy requested a review from vtjnash January 19, 2022 20:40
@KristofferC KristofferC mentioned this pull request Jan 20, 2022
23 tasks
@KristofferC KristofferC merged commit 88b1f92 into master Jan 20, 2022
@KristofferC KristofferC deleted the vc/undef_fca branch January 20, 2022 11:54
KristofferC pushed a commit that referenced this pull request Jan 20, 2022
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Feb 22, 2022
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Mar 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:codegen Generation of LLVM IR and native code needs tests Unit tests are required for this change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Segmentation fault on 1.7 during GC while running Air.jl tests
3 participants