-
Notifications
You must be signed in to change notification settings - Fork 717
chore: remove IR elim dead branches #11576
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
Conversation
|
!bench |
|
Benchmark results for 9859f04 against 9895e25 are in! @hargoniX Major changes (9)
Minor changes (2)
|
|
!bench |
|
Benchmark results for 4283d2b against 9895e25 are in! @hargoniX Major changes (6)
Minor changes (1)
|
|
!bench |
|
Benchmark results for c04971e against 9895e25 are in! @hargoniX Runs (2)
|
|
!bench |
|
Benchmark results for d90a1bb against 9895e25 are in! @hargoniX Major changes (5)
Minor changes (3)
|
d90a1bb to
7bb7386
Compare
|
!bench |
|
Benchmark results for 7bb7386 against 7219616 are in! @hargoniX Major changes (5)
Minor changes (3)
|
|
!bench |
|
Benchmark results for 8075324 against 7219616 are in! @hargoniX Major changes (6)
Minor changes (1)
|
|
!bench |
|
Benchmark results for 70a901a against 7219616 are in! @hargoniX Major changes (5)
Minor changes (3)
|
|
Mathlib CI status (docs):
|
|
Reference manual CI status:
|
|
!bench |
|
Benchmark results for 02bcd71 against 7219616 are in! @hargoniX Major changes (10)
Minor changes (2)
|
|
!bench |
|
Benchmark results for 0aaebea against 7219616 are in! @hargoniX Major changes (9)
Minor changes (2)
|
|
!bench |
|
Benchmark results for f21f0eb against 7219616 are in! @hargoniX Major changes (8)
Minor changes (2)
|
This reverts commit f21f0eb.
|
!bench |
|
Benchmark results for 4bf51c6 against 7219616 are in! @hargoniX Major changes (9)
Minor changes (1)
|
This PR removes the old ElimDeadBranches pass and shifts the new one past lambda lifting.
The reason for dropping the old one is its general unsoundness and the fact that we want to do refactorings on the IR part. The reason for shifting the current pass past lambda lifting, is that its analysis is imprecise in the presence of local function symbols. I experimented with the exact placement for a while and it seems like it is optimal here. Overall we observe a slight regression in the amount of C code generated, likely because we don't propagate information into lambdas before lifting them anymore. But generally measure a slight performance improvement in general.