diff options
| author | Oğuz Ağcayazı <ouz.agz@gmail.com> | 2023-11-08 12:37:26 +0300 |
|---|---|---|
| committer | ouz-a <ouz.agz@gmail.com> | 2023-11-17 13:28:07 +0300 |
| commit | ae179a04b64d56fa4d648fccf3db661301550797 (patch) | |
| tree | ffdc118157ca11fbe9a32bf252b67e210c1f43f3 /compiler/rustc_driver_impl | |
| parent | ee5ef3aac9cfa6c51457f9afc720071212362d7c (diff) | |
| download | rust-ae179a04b64d56fa4d648fccf3db661301550797.tar.gz rust-ae179a04b64d56fa4d648fccf3db661301550797.zip | |
emit basic smir
Diffstat (limited to 'compiler/rustc_driver_impl')
| -rw-r--r-- | compiler/rustc_driver_impl/Cargo.toml | 1 | ||||
| -rw-r--r-- | compiler/rustc_driver_impl/src/pretty.rs | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_driver_impl/Cargo.toml b/compiler/rustc_driver_impl/Cargo.toml index da7c2440faa..e9b5a328422 100644 --- a/compiler/rustc_driver_impl/Cargo.toml +++ b/compiler/rustc_driver_impl/Cargo.toml @@ -44,6 +44,7 @@ rustc_query_system = { path = "../rustc_query_system" } rustc_resolve = { path = "../rustc_resolve" } rustc_session = { path = "../rustc_session" } rustc_span = { path = "../rustc_span" } +rustc_smir ={ path = "../rustc_smir" } rustc_symbol_mangling = { path = "../rustc_symbol_mangling" } rustc_target = { path = "../rustc_target" } rustc_trait_selection = { path = "../rustc_trait_selection" } diff --git a/compiler/rustc_driver_impl/src/pretty.rs b/compiler/rustc_driver_impl/src/pretty.rs index cc533b9941a..84f8941ff66 100644 --- a/compiler/rustc_driver_impl/src/pretty.rs +++ b/compiler/rustc_driver_impl/src/pretty.rs @@ -9,6 +9,7 @@ use rustc_middle::mir::{write_mir_graphviz, write_mir_pretty}; use rustc_middle::ty::{self, TyCtxt}; use rustc_session::config::{OutFileName, PpHirMode, PpMode, PpSourceMode}; use rustc_session::Session; +use rustc_smir::rustc_internal::pretty::write_smir_pretty; use rustc_span::symbol::Ident; use rustc_span::FileName; @@ -325,6 +326,11 @@ pub fn print<'tcx>(sess: &Session, ppm: PpMode, ex: PrintExtra<'tcx>) { write_mir_graphviz(ex.tcx(), None, &mut out).unwrap(); String::from_utf8(out).unwrap() } + Smir => { + let mut out = Vec::new(); + write_smir_pretty(ex.tcx(), &mut out).unwrap(); + String::from_utf8(out).unwrap() + } ThirTree => { let tcx = ex.tcx(); let mut out = String::new(); |
