Repository navigation
Explain what JuliaIR is for, and remove stale statements from the docs - #39
Merged
Merged
Conversation
maleadt
added this pull request to stack #32
October 19, 2026 17:18
maleadt
force-pushed
the
tb/docs-pass
branch
2 times, most recently
from
October 20, 2026 21:28
0451d77 to
7d3ba6a
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
4 times, most recently
from
October 20, 2026 21:29
ce9dfad to
7c8b79d
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
2 times, most recently
from
October 20, 2026 21:30
5c5a2a8 to
10a23b9
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
2 times, most recently
from
October 20, 2026 21:46
41df590 to
cb4b435
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
3 times, most recently
from
October 20, 2026 21:46
c30e9cd to
3a5cb55
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
2 times, most recently
from
October 20, 2026 22:46
d02efcf to
e953d50
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
2 times, most recently
from
October 20, 2026 22:47
313913f to
3dc565a
Compare
maleadt
force-pushed
the
tb/docs-pass
branch
2 times, most recently
from
October 20, 2026 23:16
6cc495a to
2ff0b67
Compare
The home page started with the list of passes and their deviations, which assumes the reader already knows why the package exists. Explain that Julia's passes only exist in Julia's libLLVM, that the ports let GPUCompiler run them on a newer one, which Julia versions and LLVMs are supported, and the ways to use them: by name in a pass builder, Julia's whole pipeline through `optimize!`, `jlopt`, and GPUCompiler's `julia_passes = :ports`. Define the terms the rest of the page uses, and list FinalLowerGC, LowerPTLS and JuliaLICM in the table of passes, which missed them. The README's status still listed the first handful of ports; every pass of Julia's pipelines is ported now.
The examples of excluded fixtures and of the RUN lines that mode B skips still named passes that were not ported then, like FinalLowerGC and JuliaMultiVersioning; every pass of Julia's pipelines is ported now, so mode B only skips Julia's pipeline, and fixtures are excluded only for testing the code generator. Also document the `derived` status of the manifest, which the list of statuses missed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Based on #38.
The documentation was written pass by pass, and its home page started with the table
of passes and their deviations from the C++. A GPUCompiler maintainer or Julia compiler
developer arriving there had no explanation of why the package exists or how to use it.
The home page now explains that Julia's passes only exist in Julia's libLLVM, and that
the ports let GPUCompiler run them on a standalone, newer LLVM. It also says which Julia
versions and LLVMs are supported, and shows the ways to use the passes: by name in a pass
builder, Julia's whole pipeline through
JuliaIR.optimize!,jlopt, and GPUCompiler'sjulia_passes = :ports(JuliaGPU/GPUCompiler.jl#1026). A short list defines the termsthe rest of the page relies on: port, dialect, required pass and runtime facts. The table
of passes gains FinalLowerGC, LowerPTLS and JuliaLICM, which it had missed, and the list
of deviations links to the pages of the passes that record theirs separately.
The README's status section still listed only the first few ports. It now says that every
pass of Julia's pipelines is ported, and that the package needs an unreleased LLVM.jl.
On the testing page, the examples of excluded fixtures and of the RUN lines that mode B
skips named passes that are ported now. The page also gains the manifest's
derivedstatus, which its list of statuses had missed.
The per-pass deviation records are unchanged.