Skip to content

New escape analysis, implemented in libswift #39438

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

Closed
wants to merge 6 commits into from

Conversation

eeckstein
Copy link
Contributor

This is an initial draft of a new escape analysis, implemented in libswift.
It consists of 4 main parts:

  • Effects.swift: Definitions of the function effect data structures
  • EscapeInfo.swift: The escape analysis algorithm
  • ProjectionPath.swift: a utility used by EscapeInfo and the function effects
  • ComputeEffects.swift: a pass to compute function effects

@eeckstein eeckstein marked this pull request as draft September 24, 2021 09:30
@eeckstein eeckstein changed the title [DNM] New escape analysis, implemented in libswift New escape analysis, implemented in libswift Sep 24, 2021
Copy link
Contributor

@lattner lattner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super drive-by, feel free to ignore: this patch is doing a bunch of different things at the same time that don't have much to do with the commit message - including introducing custom versions of the effects attribute, adding new passes for dumping escape analysis, and adding new bindings.

I'd recommend breaking this up into different commits, and also dropping the commented out and #if 0'd code.

@eeckstein
Copy link
Contributor Author

This PR is not meant to be merged as is. When the code is ready, I'll create new PR's anyway

@eeckstein eeckstein force-pushed the new-escape-analysis branch 3 times, most recently from 6e28e92 to 05dcba8 Compare January 5, 2022 16:57
@eeckstein eeckstein force-pushed the new-escape-analysis branch 3 times, most recently from 45bcdfd to f5ecba1 Compare January 11, 2022 21:25
@eeckstein eeckstein force-pushed the new-escape-analysis branch 4 times, most recently from 1ce540b to bf052fa Compare January 20, 2022 16:51
@eeckstein eeckstein force-pushed the new-escape-analysis branch 2 times, most recently from 4864770 to 7c46dc9 Compare January 21, 2022 19:03
@eeckstein eeckstein force-pushed the new-escape-analysis branch from 7c46dc9 to aa77ac2 Compare January 25, 2022 10:30
@eeckstein eeckstein force-pushed the new-escape-analysis branch from aa77ac2 to 15d51db Compare February 3, 2022 12:33
@eeckstein eeckstein force-pushed the new-escape-analysis branch from 93059ed to 5bf77e0 Compare March 11, 2022 11:20
@eeckstein eeckstein force-pushed the new-escape-analysis branch 3 times, most recently from a4c3697 to 787e423 Compare March 28, 2022 19:47
@eeckstein eeckstein force-pushed the new-escape-analysis branch 3 times, most recently from 479b2aa to 1f3983a Compare April 5, 2022 18:23
@eeckstein eeckstein force-pushed the new-escape-analysis branch from 1f3983a to 1780404 Compare April 5, 2022 18:33
@eeckstein eeckstein force-pushed the new-escape-analysis branch from 1780404 to 3739677 Compare April 6, 2022 15:48
@eeckstein eeckstein force-pushed the new-escape-analysis branch 5 times, most recently from 9c6c445 to 6bde437 Compare April 12, 2022 16:36
@eeckstein eeckstein force-pushed the new-escape-analysis branch 5 times, most recently from c889998 to f41cb80 Compare April 21, 2022 06:46
@eeckstein eeckstein force-pushed the new-escape-analysis branch from f41cb80 to b5456d0 Compare April 21, 2022 09:14
@eeckstein
Copy link
Contributor Author

Closing in favor of #42530

@eeckstein eeckstein closed this Apr 21, 2022
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