
Strings vector and following the reference (pointer) to the actual stringįor example, if the strings "a", "b" and "c" are interned, then (ignoring Therefore, the Symbol can look up its string by indexing into the

Vector and the Symbol contains the index of the string reference in that References to the interned strings are stored in a Rustc interns strings using Interner::intern, which Function Attrs: norecurse nounwind nonlazybind readnone uwtableĭefine i32 %x, i32 %y) unnamed_addr #0 Target triple = "x86_64-unknown-linux-gnu" Typed assembly language with unlimited registers. I think of LLVM IR as an elaborated machine-independent ** LLVM then runs optimisation passes on the LLVM IR and finally generates machine Representations into LLVM Intermediate Representation * (LLVM IR). rustc compiles Rust source through intermediate Instead, compilers transform sourceĬode through one (or more) intermediate representations on its way to becoming Source code is intended to be convenient for humans to read but it often is notĬonvenient for a compiler to reason about. Modern compilers do not translate directly from source code into machine code. While I was tracking down the problem, the upstream In the last blog post I mentioned an issue where some rustc tests would Post contains Rust code samples but the reader is not expected to be fluent in

IĪssumed that the reader is comfortable with programming terminology. Reporting on movement in the broader Rust community regarding RISC-V. This blog post is more technical - describing theseīugs and explaining some rustc internals along the way. Introduced my work to improve Rust's support for
