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

Refactor abstract_eval to separate out statements and values #36350

Merged
merged 1 commit into from
Jun 23, 2020
Merged

Conversation

Keno
Copy link
Member

@Keno Keno commented Jun 18, 2020

In preparation for adding the ability for statements to return
additional info, while values will only ever have a type.

@vtjnash
Copy link
Sponsor Member

vtjnash commented Jun 18, 2020

while values will only ever have a type

This seems a bit arbitrary, since might values eventually also eventually participate in computing other attribute information (e.g. uses/escapes, pure/effects)? But I guess this PR is essentially working towards demonstrating what we meant by having linear IR? (And even "type" already includes some non-Type information in the form of Const)

@Keno
Copy link
Member Author

Keno commented Jun 18, 2020

Perhaps. For the moment I mostly want to add additional information to :calls. I agree that we may want to do something with GlobalRef in the future also, but I think we can cross that bridge when we get there. My sense is that if something is complex enough to need extra statement information, it probably should be its own statement anyway, so it can be moved around and processed independently. Otherwise we're in the weird "not quite linear" intermediate state.

In preparation for adding the ability for statements to return
additional info, while values will only ever have a type.
@Keno Keno merged commit fd6eee7 into master Jun 23, 2020
@Keno Keno deleted the kf/aevalre branch June 23, 2020 15:31
mbauman added a commit to dlfivefifty/julia that referenced this pull request Jun 26, 2020
* origin/master: (232 commits)
  Add passthrough for non-Markdown docs (JuliaLang#36091)
  Fix pointer to no longer assume contiguity (JuliaLang#36405)
  Ensure string-hashing is defined before it gets used (JuliaLang#36411)
  Make compilecache atomic (JuliaLang#36416)
  add a test for JuliaLang#30739 (JuliaLang#36395)
  Fix broken links in docstring of `repeat` (JuliaLang#36376)
  fix and de-dup cached calls to `methods_by_ftype` in compiler (JuliaLang#36404)
  ml-matches: skip unnecessary work, when possible (JuliaLang#36413)
  gf: fix some issues with the move from using a tree to a hash lookup of leaf types (JuliaLang#36413)
  Add news and manual entry for sincospi (JuliaLang#36403)
  Check axes in Array(::AbstractArray) (fixes JuliaLang#36220) (JuliaLang#36397)
  add versions of `code_typed` and `which` that accept tuple types (JuliaLang#36389)
  Fix spelling of readdir. (JuliaLang#36409)
  add sincospi (JuliaLang#35816)
  fix showing methods with unicode gensymed variable names (JuliaLang#36396)
  Add doctest: eachslice (JuliaLang#36386)
  fix documentation typo ("Ingeger")
  Refactor `abstract_eval` to separate out statements and values (JuliaLang#36350)
  fix return type of `get!` on `IdDict` (JuliaLang#36383)
  Allow single option with REPL.TerminalMenus (JuliaLang#36369)
  ...
simeonschaub pushed a commit to simeonschaub/julia that referenced this pull request Aug 11, 2020
…Lang#36350)

In preparation for adding the ability for statements to return
additional info, while values will only ever have a type.
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.

3 participants