fix some typos
authorRalf Jung <post@ralfj.de>
Wed, 7 Jun 2017 04:17:09 +0000 (21:17 -0700)
committerRalf Jung <post@ralfj.de>
Wed, 7 Jun 2017 04:17:09 +0000 (21:17 -0700)
personal/_posts/2017-06-06-MIR-semantics.md

index 13f51dbf52059be34db8b51eadecd09dde9d3cec..6ddc745f6e76b186fc0d6a2a65dce33a7865926a 100644 (file)
@@ -20,8 +20,8 @@ This post is about what I found, and it also serves as a nice demonstration of h
 
 ## Live and Let Die
 
 
 ## Live and Let Die
 
-The first miri task that I took on was for miri to do something sensible with MIR's [`StroageLive` and `StroageDead` statements](https://github.com/solson/miri/issues/49).
-If you haven't seen these before, that's because they do not come up in Rust code; instead, `StroageLive` and `StroageDead` are inserted by the compiler.
+The first miri task that I took on was for miri to do something sensible with MIR's [`StorageLive` and `StorageDead` statements](https://github.com/solson/miri/issues/49).
+If you haven't seen these before, that's because they do not come up in Rust code; instead, `StorageLive` and `StorageDead` are inserted by the compiler.
 For example, the following Rust code
 {% highlight rust %}
 fn main() {
 For example, the following Rust code
 {% highlight rust %}
 fn main() {
@@ -62,7 +62,7 @@ For example, the compiler marks `_4` as dead right after the multiplication.
 
 Liveness information is important because it is forwarded to LLVM, which then uses this information to allocate variables into stack slots.
 If two variables are never live at the same time, the compiler can assign both of them the *same* slot, which is great because it makes the stack frame smaller.
 
 Liveness information is important because it is forwarded to LLVM, which then uses this information to allocate variables into stack slots.
 If two variables are never live at the same time, the compiler can assign both of them the *same* slot, which is great because it makes the stack frame smaller.
-To this end, rustc will translate `StorageLive` to [`llvm.lifetime.start`](http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic) and `StroageDead` to [`llvm.lifetime.end`](http://llvm.org/docs/LangRef.html#llvm-lifetime-end-intrinsic).
+To this end, rustc will translate `StorageLive` to [`llvm.lifetime.start`](http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic) and `StorageDead` to [`llvm.lifetime.end`](http://llvm.org/docs/LangRef.html#llvm-lifetime-end-intrinsic).
 These are intrinsics that LLVM understands and takes into account when computing the layout of the stack frame.
 
 ## Giving It Semantics
 These are intrinsics that LLVM understands and takes into account when computing the layout of the stack frame.
 
 ## Giving It Semantics