diff --git a/slides/2025-10-10-how-rust-compiles/index.html b/slides/2025-10-10-how-rust-compiles/index.html index bc9bdff..6f67d70 100644 --- a/slides/2025-10-10-how-rust-compiles/index.html +++ b/slides/2025-10-10-how-rust-compiles/index.html @@ -25,7 +25,8 @@
cargo vs rustc
- $ cargo build
+ $ cargo build -v
source code:
+
#[no_mangle]
pub fn add(a: u8, b: u8) -> u8 {
@@ -82,6 +83,38 @@
}
+ %%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true, 'fontSize': '25px' }}}%%
+ flowchart LR
+ subgraph compiler
+ frontend --> backend
+ end
+ source --> frontend
+ backend --> binary
+
+
+ %%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true, 'fontSize': '25px' }}}%%
+ flowchart TB
+ function --> return
+ function --> params
+ params --> a_def[a]
+ params --> b_def[b]
+ function --> body
+ body --> cl["method call"]
+ cl --> a_use[a]
+ cl --> wrapping_add
+ cl --> b_use[b]
+
+ MIR
@@ -114,6 +147,20 @@ ```
@@ -129,7 +176,7 @@ fn main() {}
mainll["main (LLVM IR)"]
end
- mycgu1 --> mycgu1.rcgu.o
+ mycgu1 --> |LLVM| mycgu1.rcgu.o
mainmir --> mainll
@@ -311,18 +358,6 @@ fn main() { math::add() }