@@ -67,15 +67,15 @@ Example PRs look like:
67
67
## Feature updates
68
68
69
69
> Note that this information is as of the time of this writing <!-- date:
70
- 2018-12 --> (December 2018 ). The process for updating LLVM changes with
70
+ 2021-04 --> (April 2021 ). The process for updating LLVM changes with
71
71
practically all LLVM updates, so this may be out of date!
72
72
73
73
Unlike bugfixes, updating to pick up a new feature of LLVM typically requires a
74
74
lot more work. This is where we can't reasonably cherry-pick commits backwards
75
75
so we need to do a full update. There's a lot of stuff to do here, so let's go
76
76
through each in detail.
77
77
78
- 1 . Create a new branch in the rust-lang/llvm-project repository. This branch
78
+ 1 . Create a new branch in the [ rust-lang/llvm-project repository] . This branch
79
79
should be named ` rustc/a.b-yyyy-mm-dd ` where ` a.b ` is the current version
80
80
number of LLVM in-tree at the time of the branch and the remaining part is
81
81
today's date. Move this branch to the commit in LLVM that you'd like, which
@@ -119,12 +119,12 @@ through each in detail.
119
119
Ideally, build LLVM and test it on a few platforms:
120
120
121
121
* Linux
122
- * OSX
122
+ * macOS
123
123
* Windows
124
124
125
125
and afterwards run some docker containers that CI also does:
126
126
127
- * ` ./src/ci/docker/run.sh wasm32-unknown `
127
+ * ` ./src/ci/docker/run.sh wasm32 `
128
128
* ` ./src/ci/docker/run.sh arm-android `
129
129
* ` ./src/ci/docker/run.sh dist-various-1 `
130
130
* ` ./src/ci/docker/run.sh dist-various-2 `
@@ -136,15 +136,17 @@ through each in detail.
136
136
` src/llvm-project ` and will likely also change [ ` llvm-wrapper ` ] as well.
137
137
138
138
For prior art, previous LLVM updates look like
139
- [ #55835 ] ( https://github.com/rust-lang/rust/pull/55835 )
140
- [ #47828 ] ( https://github.com/rust-lang/rust/pull/47828 )
141
139
[ #62474 ] ( https://github.com/rust-lang/rust/pull/62474 )
142
- [ #62592 ] ( https://github.com/rust-lang/rust/pull/62592 ) . Note that sometimes it's
140
+ [ #62592 ] ( https://github.com/rust-lang/rust/pull/62592 )
141
+ [ #67759 ] ( https://github.com/rust-lang/rust/pull/67759 )
142
+ [ #73526 ] ( https://github.com/rust-lang/rust/pull/73526 )
143
+ [ #81451 ] ( https://github.com/rust-lang/rust/pull/81451 ) . Note that sometimes it's
143
144
easiest to land [ ` llvm-wrapper ` ] compatibility as a PR before actually updating
144
145
` src/llvm-project ` . This way while you're working through LLVM issues others
145
146
interested in trying out the new LLVM can benefit from work you've done to
146
147
update the C++ bindings.
147
148
149
+ [ rust-lang/llvm-project repository ] : https://github.com/rust-lang/llvm-project
148
150
[ `llvm-wrapper` ] : https://github.com/rust-lang/rust/tree/master/compiler/rustc_llvm/llvm-wrapper
149
151
150
152
### Caveats and gotchas
@@ -155,10 +157,12 @@ keep in mind while going through them:
155
157
* LLVM bugs are hard to find, don't hesitate to ask for help! Bisection is
156
158
definitely your friend here (yes LLVM takes forever to build, yet bisection is
157
159
still your friend)
158
- * If you've got general questions, @ alexcrichton can help you out.
160
+ * If you've got general questions, [ wg-llvm ] can help you out.
159
161
* Creating branches is a privileged operation on GitHub, so you'll need someone
160
162
with write access to create the branches for you most likely.
161
163
164
+ [ wg-llvm ] : https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm
165
+
162
166
## New LLVM Release Updates
163
167
164
168
Updating to a new release of LLVM is very similar to the "feature updates"
0 commit comments