File tree 4 files changed +5
-5
lines changed
4 files changed +5
-5
lines changed Original file line number Diff line number Diff line change 2
2
3
3
In the future, it would be nice to allow other codegen backends (e.g.
4
4
[ Cranelift] ). To this end, ` librustc_codegen_ssa ` provides an
5
- abstract interface for all backends to implenent .
5
+ abstract interface for all backends to implement .
6
6
7
7
[ Cranelift ] : https://github.com/bytecodealliance/wasmtime/tree/master/cranelift
8
8
@@ -175,7 +175,7 @@ in the LLVM implementation of the trait).
175
175
176
176
The traits offer an API which is very similar to the API of LLVM. This is not
177
177
the best solution since LLVM has a very special way of doing things: when
178
- addding another backend, the traits definition might be changed in order to
178
+ adding another backend, the traits definition might be changed in order to
179
179
offer more flexibility.
180
180
181
181
However, the current separation between backend-agnostic and LLVM-specific code
Original file line number Diff line number Diff line change @@ -117,7 +117,7 @@ tutorial above):
117
117
- The ` -Cno-prepopulate-passes ` will avoid pre-populate the LLVM pass
118
118
manager with a list of passes. This will allow you to view the LLVM
119
119
IR that rustc generates, not the LLVM IR after optimizations.
120
- - The ` -Cpasses=val ` option allows you to supply a ( space seprated) list of extra LLVM passes to run
120
+ - The ` -Cpasses=val ` option allows you to supply a space separated list of extra LLVM passes to run
121
121
- The ` -Csave-temps ` option saves all temporary output files during compilation
122
122
- The ` -Zprint-llvm-passes ` option will print out LLVM optimization passes being run
123
123
- The ` -Ztime-llvm-passes ` option measures the time of each LLVM pass
Original file line number Diff line number Diff line change @@ -84,7 +84,7 @@ the approach: as we grow the stack down we pass an additional argument to calls
84
84
rather than walking up the stack when the intrinsic is called. That additional argument can be
85
85
returned wherever the caller location is queried.
86
86
87
- The argument we append is of type ` &'static core::panic::Location<'staic > ` . A reference was chosen
87
+ The argument we append is of type ` &'static core::panic::Location<'static > ` . A reference was chosen
88
88
to avoid unnecessary copying because a pointer is a third the size of
89
89
` std::mem::size_of::<core::panic::Location>() == 24 ` at time of writing.
90
90
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ LLVM's `mem2reg` for those variables. The analysis can be found in
38
38
[ ` rustc_codegen_ssa::mir::analyze ` ] [ mirana ] .
39
39
40
40
[ mirana ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/mir/analyze/index.html
41
-
41
+
42
42
Usually a single MIR basic block will map to a LLVM basic block, with very few
43
43
exceptions: intrinsic or function calls and less basic MIR statements like
44
44
` assert ` can result in multiple basic blocks. This is a perfect lede into the
You can’t perform that action at this time.
0 commit comments