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

add LoopInfo + LICM #36832

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90133d4
Add some CFG manipulation tools
tkf May 11, 2022
6da85a2
Check `statement_positions` early
tkf May 16, 2022
2c428ef
Manually handle `SSAValue` outside `ssamap`
tkf May 16, 2022
345f455
Use link in docstring
tkf May 17, 2022
b43f98e
Simplify `bbchangemap` and `gotolabelchangemap`
tkf May 17, 2022
71c1d05
Type assertion for avoiding dynamic dispatch
tkf May 17, 2022
1752762
Explicitly specify the number of new blocks
tkf May 17, 2022
ab52887
Merge branch 'master' into cfg-tools
tkf May 19, 2022
855a2a1
Let ssamap handle SSAValue
tkf May 19, 2022
cd2347c
Merge branch 'cfg-tools' of github.com:tkf/julia into cfg-tools
tkf May 19, 2022
ce879ad
Improve/fix docstrings
tkf May 19, 2022
a23139e
Fix tests for 32-bit
tkf May 19, 2022
0307ced
Explain input and output IRs
tkf May 19, 2022
8764ab3
Merge branch 'master' into cfg-tools
aviatesk May 23, 2022
788934e
Merge remote-tracking branch 'origin/master' into cfg-tools
vchuravy Oct 30, 2023
d3cb286
fixup! Merge remote-tracking branch 'origin/master' into cfg-tools
vchuravy Oct 30, 2023
2454482
use NoCallInfo instead of nothing
vchuravy Oct 30, 2023
2d37c14
use core_ircode instead of custom utility
vchuravy Oct 30, 2023
6cc67a8
fixup! use core_ircode instead of custom utility
vchuravy Oct 31, 2023
6319865
mark test as broken
vchuravy Oct 31, 2023
cb1a561
add LoopInfo + LICM
vchuravy Jul 28, 2020
037a1bf
attempt at creating a new BB
vchuravy Jul 29, 2020
328eace
Use cfg manipulation tools from TKF
vchuravy Oct 31, 2023
fcc3359
Treat self-quoting constants as invariant
vchuravy Nov 1, 2023
369cbec
Convert tabs to spaces
vchuravy Nov 1, 2023
35c58d6
Support multiple invariant
vchuravy Nov 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions base/Base.jl
Expand Up @@ -480,6 +480,8 @@ include("errorshow.jl")

include("initdefs.jl")

include("compilerwrappers.jl")

# worker threads
include("threadcall.jl")

Expand Down
5 changes: 5 additions & 0 deletions base/compiler/ssair/basicblock.jl
Expand Up @@ -29,4 +29,9 @@ function BasicBlock(old_bb, stmts)
return BasicBlock(stmts, old_bb.preds, old_bb.succs)
end

==(a::BasicBlock, b::BasicBlock) =
a.stmts === b.stmts && a.preds == b.preds && a.succs == b.succs
# Note: comparing `.stmts` using `===` instead of `==` since the equivalence class for
# vectors is too coarse when `stmts.stop < stmts.start`.

copy(bb::BasicBlock) = BasicBlock(bb.stmts, copy(bb.preds), copy(bb.succs))