diff --git a/hercules_cg/Cargo.toml b/hercules_cg/Cargo.toml index 8a60956b356465632225e5dfb477166149c44648..cf0767de04c81e35974a7aca89e9085b543e1a9d 100644 --- a/hercules_cg/Cargo.toml +++ b/hercules_cg/Cargo.toml @@ -2,6 +2,7 @@ name = "hercules_cg" version = "0.1.0" authors = ["Russel Arbore <rarbore2@illinois.edu>"] +edition = "2021" [dependencies] rand = "*" diff --git a/hercules_cg/src/cpu.rs b/hercules_cg/src/cpu.rs index 415244043c304fd94e7b95cd4c3ace990bfdcbcb..3f600fc0b6e729711be8632442e2b756b40e26a1 100644 --- a/hercules_cg/src/cpu.rs +++ b/hercules_cg/src/cpu.rs @@ -1,11 +1,9 @@ -extern crate hercules_ir; - use std::collections::BTreeMap; use std::fmt::{Error, Write}; use std::iter::zip; use std::sync::atomic::{AtomicUsize, Ordering}; -use self::hercules_ir::*; +use hercules_ir::*; use crate::*; @@ -21,7 +19,6 @@ pub fn cpu_codegen<W: Write>( types: &Vec<Type>, constants: &Vec<Constant>, dynamic_constants: &Vec<DynamicConstant>, - reverse_postorder: &Vec<NodeID>, typing: &Vec<TypeID>, control_subgraph: &Subgraph, bbs: &BasicBlocks, @@ -32,7 +29,6 @@ pub fn cpu_codegen<W: Write>( types, constants, dynamic_constants, - reverse_postorder, typing, control_subgraph, bbs, @@ -45,7 +41,6 @@ struct CPUContext<'a> { types: &'a Vec<Type>, constants: &'a Vec<Constant>, dynamic_constants: &'a Vec<DynamicConstant>, - reverse_postorder: &'a Vec<NodeID>, typing: &'a Vec<TypeID>, control_subgraph: &'a Subgraph, bbs: &'a BasicBlocks, diff --git a/hercules_cg/src/device.rs b/hercules_cg/src/device.rs index 7dbeeeda77182e833b258f4f78109e7e3abb185e..866fa6adeeb41c2c8106a1b7de5ce1ffdc45db40 100644 --- a/hercules_cg/src/device.rs +++ b/hercules_cg/src/device.rs @@ -1,6 +1,4 @@ -extern crate hercules_ir; - -use self::hercules_ir::*; +use hercules_ir::*; /* * Top level function to definitively place functions onto devices. A function diff --git a/hercules_cg/src/lib.rs b/hercules_cg/src/lib.rs index 77cfa5404ddbb368ea7e30506bba1b9890663ec6..a70effb5fdaf96c066683735226779cb23d9c020 100644 --- a/hercules_cg/src/lib.rs +++ b/hercules_cg/src/lib.rs @@ -8,9 +8,7 @@ pub use crate::cpu::*; pub use crate::device::*; pub use crate::rt::*; -extern crate hercules_ir; - -use self::hercules_ir::*; +use hercules_ir::*; /* * Basic block info consists of two things: diff --git a/hercules_cg/src/rt.rs b/hercules_cg/src/rt.rs index 6278b790d849237b758c1c8ab011d5894731d7cb..65f7121576c8b7c5d703a140ad90ea6262005cd8 100644 --- a/hercules_cg/src/rt.rs +++ b/hercules_cg/src/rt.rs @@ -1,10 +1,8 @@ -extern crate hercules_ir; - use std::collections::BTreeMap; use std::fmt::{Error, Write}; use std::iter::zip; -use self::hercules_ir::*; +use hercules_ir::*; use crate::*; @@ -16,7 +14,6 @@ use crate::*; pub fn rt_codegen<W: Write>( func_id: FunctionID, module: &Module, - reverse_postorder: &Vec<NodeID>, typing: &Vec<TypeID>, control_subgraph: &Subgraph, bbs: &BasicBlocks, @@ -28,7 +25,6 @@ pub fn rt_codegen<W: Write>( let ctx = RTContext { func_id, module, - reverse_postorder, typing, control_subgraph, bbs, @@ -42,7 +38,6 @@ pub fn rt_codegen<W: Write>( struct RTContext<'a> { func_id: FunctionID, module: &'a Module, - reverse_postorder: &'a Vec<NodeID>, typing: &'a Vec<TypeID>, control_subgraph: &'a Subgraph, bbs: &'a BasicBlocks, diff --git a/hercules_ir/Cargo.toml b/hercules_ir/Cargo.toml index 44648c11baaa5539f6598270f4423b591f4422e2..deda9cc58758f6cc834aadcc8e4ec66625fefb4b 100644 --- a/hercules_ir/Cargo.toml +++ b/hercules_ir/Cargo.toml @@ -2,10 +2,11 @@ name = "hercules_ir" version = "0.1.0" authors = ["Russel Arbore <rarbore2@illinois.edu>, Aaron Councilman <aaronjc4@illinois.edu>"] +edition = "2021" [dependencies] rand = "*" nom = "*" ordered-float = { version = "*", features = ["serde"] } bitvec = "*" -serde = { version = "*", features = ["derive"] } \ No newline at end of file +serde = { version = "*", features = ["derive"] } diff --git a/hercules_ir/src/dataflow.rs b/hercules_ir/src/dataflow.rs index 6df19d1408e06cc9e18c2f3f52e4eb5f5f618315..ced77d0ba4b107ce740fd3bafb99645f17747f96 100644 --- a/hercules_ir/src/dataflow.rs +++ b/hercules_ir/src/dataflow.rs @@ -1,7 +1,5 @@ -extern crate bitvec; - -use self::bitvec::prelude::*; -use self::bitvec::slice::*; +use bitvec::prelude::*; +use bitvec::slice::*; use crate::*; diff --git a/hercules_ir/src/dot.rs b/hercules_ir/src/dot.rs index c05f2606b2d90ae06b10f47cd2028b8a3ca974f5..4d526366808e8b2aea39fecd81f6c00269ffb154 100644 --- a/hercules_ir/src/dot.rs +++ b/hercules_ir/src/dot.rs @@ -1,5 +1,3 @@ -extern crate rand; - use std::collections::HashMap; use std::env::temp_dir; use std::fmt::Write; @@ -7,7 +5,7 @@ use std::fs::File; use std::io::Write as _; use std::process::Command; -use self::rand::Rng; +use rand::Rng; use crate::*; diff --git a/hercules_ir/src/fork_join_analysis.rs b/hercules_ir/src/fork_join_analysis.rs index 5fe6b13221144e7c1dcbaa645d5446da5c8a2a06..130bc2ed49c637d28cc27cfd88c564222c680c12 100644 --- a/hercules_ir/src/fork_join_analysis.rs +++ b/hercules_ir/src/fork_join_analysis.rs @@ -1,8 +1,6 @@ -extern crate bitvec; - use std::collections::{HashMap, HashSet}; -use self::bitvec::prelude::*; +use bitvec::prelude::*; use crate::*; diff --git a/hercules_ir/src/ir.rs b/hercules_ir/src/ir.rs index 8bb8e4ef219f440c598ef3e07aeb7bf81dc178ef..3c5ed0bdfa9c6a7e7c9c55c9da16782ff5cc7cde 100644 --- a/hercules_ir/src/ir.rs +++ b/hercules_ir/src/ir.rs @@ -1,15 +1,12 @@ -extern crate bitvec; -extern crate ordered_float; -extern crate serde; - use std::fmt::Write; use std::ops::Coroutine; use std::ops::CoroutineState; use std::pin::Pin; -use self::bitvec::prelude::*; -use self::serde::Deserialize; -use self::serde::Serialize; +use bitvec::prelude::*; +use ordered_float::OrderedFloat; +use serde::Deserialize; +use serde::Serialize; use crate::*; @@ -93,8 +90,8 @@ pub enum Constant { UnsignedInteger16(u16), UnsignedInteger32(u32), UnsignedInteger64(u64), - Float32(ordered_float::OrderedFloat<f32>), - Float64(ordered_float::OrderedFloat<f64>), + Float32(OrderedFloat<f32>), + Float64(OrderedFloat<f64>), Product(TypeID, Box<[ConstantID]>), Summation(TypeID, u32, ConstantID), // Array constants are always zero. @@ -938,8 +935,8 @@ impl Constant { Constant::UnsignedInteger16(0) => true, Constant::UnsignedInteger32(0) => true, Constant::UnsignedInteger64(0) => true, - Constant::Float32(ord) => *ord == ordered_float::OrderedFloat::<f32>(0.0), - Constant::Float64(ord) => *ord == ordered_float::OrderedFloat::<f64>(0.0), + Constant::Float32(ord) => *ord == OrderedFloat::<f32>(0.0), + Constant::Float64(ord) => *ord == OrderedFloat::<f64>(0.0), _ => false, } } @@ -954,8 +951,8 @@ impl Constant { Constant::UnsignedInteger16(1) => true, Constant::UnsignedInteger32(1) => true, Constant::UnsignedInteger64(1) => true, - Constant::Float32(ord) => *ord == ordered_float::OrderedFloat::<f32>(1.0), - Constant::Float64(ord) => *ord == ordered_float::OrderedFloat::<f64>(1.0), + Constant::Float32(ord) => *ord == OrderedFloat::<f32>(1.0), + Constant::Float64(ord) => *ord == OrderedFloat::<f64>(1.0), _ => false, } } diff --git a/hercules_ir/src/loops.rs b/hercules_ir/src/loops.rs index 3ab3313fa43570e118e9cb690b464df3cc01c5de..13e935e0dd151ba3a29c4d07c9f9ee50341d5091 100644 --- a/hercules_ir/src/loops.rs +++ b/hercules_ir/src/loops.rs @@ -1,10 +1,8 @@ -extern crate bitvec; - use std::collections::hash_map; use std::collections::VecDeque; use std::collections::{HashMap, HashSet}; -use self::bitvec::prelude::*; +use bitvec::prelude::*; use crate::*; diff --git a/hercules_ir/src/parse.rs b/hercules_ir/src/parse.rs index 5e4b12178d1782df47d2e5d36abffdb568311799..21eb325a530907bec0aa1f34788708da76453a54 100644 --- a/hercules_ir/src/parse.rs +++ b/hercules_ir/src/parse.rs @@ -1,5 +1,3 @@ -extern crate nom; - use std::cell::RefCell; use std::collections::HashMap; use std::str::FromStr; diff --git a/hercules_ir/src/subgraph.rs b/hercules_ir/src/subgraph.rs index a4948016b57d5efaf0c64183c6e3c78141000bf8..908011d3198ee4fe982fdc7b7aa263c87f80e3c7 100644 --- a/hercules_ir/src/subgraph.rs +++ b/hercules_ir/src/subgraph.rs @@ -1,9 +1,7 @@ -extern crate bitvec; - use std::collections::{HashMap, HashSet}; use std::mem::take; -use self::bitvec::prelude::*; +use bitvec::prelude::*; use crate::*; diff --git a/hercules_ir/src/verify.rs b/hercules_ir/src/verify.rs index 18ad92c3271df9dd9bea3bc5881489dd84176c70..572bb9d11d3aca8efb5bd70b6b18781da83bc0e7 100644 --- a/hercules_ir/src/verify.rs +++ b/hercules_ir/src/verify.rs @@ -1,9 +1,7 @@ -extern crate bitvec; - use std::collections::HashMap; use std::iter::zip; -use self::bitvec::prelude::*; +use bitvec::prelude::*; use crate::*; diff --git a/hercules_opt/Cargo.toml b/hercules_opt/Cargo.toml index e1936a97d4e717b06195188016b711735af6367b..20d734027965ff79c7a295596c63ad6b1688b0e8 100644 --- a/hercules_opt/Cargo.toml +++ b/hercules_opt/Cargo.toml @@ -2,6 +2,7 @@ name = "hercules_opt" version = "0.1.0" authors = ["Russel Arbore <rarbore2@illinois.edu>, Aaron Councilman <aaronjc4@illinois.edu>"] +edition = "2021" [dependencies] ordered-float = "*" diff --git a/hercules_opt/src/ccp.rs b/hercules_opt/src/ccp.rs index a66bf63345c6f951e7f6e7bb8abeba5bcabdf968..39fab9da391a4ee17618fb5b5f899e37138fce1f 100644 --- a/hercules_opt/src/ccp.rs +++ b/hercules_opt/src/ccp.rs @@ -1,12 +1,10 @@ -extern crate hercules_ir; - use std::cmp::{max, min}; use std::collections::HashSet; use std::iter::zip; -use self::hercules_ir::dataflow::*; -use self::hercules_ir::def_use::get_uses; -use self::hercules_ir::ir::*; +use hercules_ir::dataflow::*; +use hercules_ir::def_use::get_uses; +use hercules_ir::ir::*; use crate::*; @@ -415,8 +413,8 @@ fn ccp_flow_function( }), // If node has only one output, if doesn't directly handle crossover of // reachability and constant propagation. Read handles that. - Node::If { control, cond } => inputs[control.idx()].clone(), - Node::Match { control, sum } => inputs[control.idx()].clone(), + Node::If { control, cond: _ } => inputs[control.idx()].clone(), + Node::Match { control, sum: _ } => inputs[control.idx()].clone(), Node::Fork { control, factors: _, diff --git a/hercules_opt/src/dce.rs b/hercules_opt/src/dce.rs index 839e9ad1e5c586c56c9c0d697b3267e6dc6a5abe..026672a395d783c0abd5257894c4c32335654371 100644 --- a/hercules_opt/src/dce.rs +++ b/hercules_opt/src/dce.rs @@ -1,7 +1,5 @@ -extern crate hercules_ir; - -use self::hercules_ir::def_use::*; -use self::hercules_ir::ir::*; +use hercules_ir::def_use::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/delete_uncalled.rs b/hercules_opt/src/delete_uncalled.rs index 78ab428526971f121e0a2bc582e55b423395730b..1a19ee010e4772b8a2367b928f8226109dbef32c 100644 --- a/hercules_opt/src/delete_uncalled.rs +++ b/hercules_opt/src/delete_uncalled.rs @@ -1,9 +1,7 @@ -extern crate bitvec; -extern crate hercules_ir; -use self::bitvec::prelude::*; +use bitvec::prelude::*; -use self::hercules_ir::callgraph::*; -use self::hercules_ir::ir::*; +use hercules_ir::callgraph::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/editor.rs b/hercules_opt/src/editor.rs index 313596514216257797ea3aa0cd17af332f37cbf2..1318f032e0ac8a02c0375ae2de56311f0d97306a 100644 --- a/hercules_opt/src/editor.rs +++ b/hercules_opt/src/editor.rs @@ -1,18 +1,13 @@ -extern crate bitvec; -extern crate either; -extern crate hercules_ir; -extern crate itertools; - use std::cell::{Ref, RefCell}; use std::collections::{BTreeMap, HashSet}; use std::mem::take; use std::ops::Deref; -use self::bitvec::prelude::*; -use self::either::Either; +use bitvec::prelude::*; +use either::Either; -use self::hercules_ir::def_use::*; -use self::hercules_ir::ir::*; +use hercules_ir::def_use::*; +use hercules_ir::ir::*; /* * Helper object for editing Hercules functions in a trackable manner. Edits @@ -125,7 +120,7 @@ impl<'a: 'b, 'b> FunctionEditor<'a> { let FunctionEdit { editor, deleted_nodeids, - added_nodeids, + added_nodeids: _, added_and_updated_nodes, added_and_updated_schedules, added_constants, @@ -604,8 +599,8 @@ mod editor_tests { use std::mem::replace; - use self::hercules_ir::dataflow::reverse_postorder; - use self::hercules_ir::parse::parse; + use hercules_ir::dataflow::reverse_postorder; + use hercules_ir::parse::parse; fn canonicalize(function: &mut Function) -> Vec<Option<NodeID>> { // The reverse postorder traversal from the Start node is a map from new diff --git a/hercules_opt/src/float_collections.rs b/hercules_opt/src/float_collections.rs index 30df387598395f9182fd123024d14240510ce73a..faa38375f68e93fad04b632c2f2e5491403a6a3e 100644 --- a/hercules_opt/src/float_collections.rs +++ b/hercules_opt/src/float_collections.rs @@ -1,6 +1,4 @@ -extern crate hercules_ir; - -use self::hercules_ir::*; +use hercules_ir::*; use crate::*; diff --git a/hercules_opt/src/fork_concat_split.rs b/hercules_opt/src/fork_concat_split.rs index 232b43f70374427842b425f912928d316535d886..186cd6a6eaad70ba4b26e25dee8714c7988ee611 100644 --- a/hercules_opt/src/fork_concat_split.rs +++ b/hercules_opt/src/fork_concat_split.rs @@ -1,9 +1,7 @@ -extern crate hercules_ir; - use std::collections::{HashMap, HashSet}; use std::iter::zip; -use self::hercules_ir::ir::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/fork_guard_elim.rs b/hercules_opt/src/fork_guard_elim.rs index cfa2a6ff344f5641a28d01b7b1fa44feb480b03e..842c83086f9ecedbbe5c8c96bf160de8968a953a 100644 --- a/hercules_opt/src/fork_guard_elim.rs +++ b/hercules_opt/src/fork_guard_elim.rs @@ -1,10 +1,8 @@ -extern crate hercules_ir; - use std::collections::{HashMap, HashSet}; -use self::hercules_ir::get_uses_mut; -use self::hercules_ir::ir::*; -use self::hercules_ir::ImmutableDefUseMap; +use hercules_ir::get_uses_mut; +use hercules_ir::ir::*; +use hercules_ir::ImmutableDefUseMap; /* * This is a Hercules IR transformation that: diff --git a/hercules_opt/src/forkify.rs b/hercules_opt/src/forkify.rs index e32bef383a077d6444bf3f3817c4adbe96fee78b..fb53a5e4a84bb08da7606aea914d368878c94b41 100644 --- a/hercules_opt/src/forkify.rs +++ b/hercules_opt/src/forkify.rs @@ -1,10 +1,8 @@ -extern crate hercules_ir; - use std::iter::zip; -use self::hercules_ir::def_use::*; -use self::hercules_ir::ir::*; -use self::hercules_ir::loops::*; +use hercules_ir::def_use::*; +use hercules_ir::ir::*; +use hercules_ir::loops::*; /* * Top level function to convert natural loops with simple induction variables diff --git a/hercules_opt/src/gcm.rs b/hercules_opt/src/gcm.rs index 76ce3fdfeced77b5663dc99cd76049ba13e1172c..a7df9bd9c8409daf4daa004dcd2b29a3ec2660c8 100644 --- a/hercules_opt/src/gcm.rs +++ b/hercules_opt/src/gcm.rs @@ -1,16 +1,11 @@ -extern crate bitvec; -extern crate either; -extern crate hercules_cg; -extern crate hercules_ir; - use std::collections::{BTreeMap, BTreeSet, HashMap, VecDeque}; use std::iter::{empty, once, zip, FromIterator}; -use self::bitvec::prelude::*; -use self::either::Either; +use bitvec::prelude::*; +use either::Either; -use self::hercules_cg::*; -use self::hercules_ir::*; +use hercules_cg::*; +use hercules_ir::*; use crate::*; @@ -59,7 +54,6 @@ pub fn gcm( editor.func_id(), def_use, reverse_postorder, - control_subgraph, dom, loops, fork_join_map, @@ -86,7 +80,6 @@ fn basic_blocks( func_id: FunctionID, def_use: &ImmutableDefUseMap, reverse_postorder: &Vec<NodeID>, - control_subgraph: &Subgraph, dom: &DomTree, loops: &LoopTree, fork_join_map: &HashMap<NodeID, NodeID>, diff --git a/hercules_opt/src/gvn.rs b/hercules_opt/src/gvn.rs index 69ed8e4af75a318d22a14bbbd0b48d298ff62bdf..42835e853c36a994f656a16e1662e8837fd55239 100644 --- a/hercules_opt/src/gvn.rs +++ b/hercules_opt/src/gvn.rs @@ -1,8 +1,6 @@ -extern crate hercules_ir; - use std::collections::HashMap; -use self::hercules_ir::ir::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/inline.rs b/hercules_opt/src/inline.rs index 9ab158742d140448c6aadead23cd237e7f7be1c9..63a05b0c10bd4efca7da76ceb21969b118770e53 100644 --- a/hercules_opt/src/inline.rs +++ b/hercules_opt/src/inline.rs @@ -1,11 +1,9 @@ -extern crate hercules_ir; - use std::collections::HashMap; use std::iter::zip; -use self::hercules_ir::callgraph::*; -use self::hercules_ir::def_use::*; -use self::hercules_ir::ir::*; +use hercules_ir::callgraph::*; +use hercules_ir::def_use::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/interprocedural_sroa.rs b/hercules_opt/src/interprocedural_sroa.rs index c6cf448b0615cac528bbbff055d91c4bd0d371d6..9edb4d02134e4c5c05aaf398cddbd7bb19686625 100644 --- a/hercules_opt/src/interprocedural_sroa.rs +++ b/hercules_opt/src/interprocedural_sroa.rs @@ -1,9 +1,9 @@ -extern crate hercules_ir; use std::collections::HashMap; +use std::iter::zip; + +use hercules_ir::ir::*; -use self::hercules_ir::ir::*; use crate::*; -use std::iter::zip; /** * Given an editor for each function in a module, return V s.t. diff --git a/hercules_opt/src/outline.rs b/hercules_opt/src/outline.rs index 239838334801c7048a3bcaaad0cd626f2c9d0dea..80f97c7f079ad57bb1edb0929dfe56578eae338c 100644 --- a/hercules_opt/src/outline.rs +++ b/hercules_opt/src/outline.rs @@ -1,14 +1,12 @@ -extern crate hercules_ir; - use std::collections::{BTreeMap, BTreeSet}; use std::iter::zip; use std::sync::atomic::{AtomicUsize, Ordering}; -use self::hercules_ir::def_use::*; -use self::hercules_ir::dom::*; -use self::hercules_ir::fork_join_analysis::*; -use self::hercules_ir::ir::*; -use self::hercules_ir::subgraph::*; +use hercules_ir::def_use::*; +use hercules_ir::dom::*; +use hercules_ir::fork_join_analysis::*; +use hercules_ir::ir::*; +use hercules_ir::subgraph::*; use crate::*; diff --git a/hercules_opt/src/pass.rs b/hercules_opt/src/pass.rs index 57fd464de82a36cab4c2d7c3758bd43b3d13eae3..7685d3045a6b58101efee699a5691269cc56449f 100644 --- a/hercules_opt/src/pass.rs +++ b/hercules_opt/src/pass.rs @@ -1,9 +1,3 @@ -extern crate hercules_cg; -extern crate hercules_ir; -extern crate postcard; -extern crate serde; -extern crate take_mut; - use std::cell::RefCell; use std::collections::{HashMap, HashSet}; use std::env::temp_dir; @@ -12,10 +6,10 @@ use std::io::Write; use std::iter::zip; use std::process::{Command, Stdio}; -use self::serde::Deserialize; +use serde::Deserialize; -use self::hercules_cg::*; -use self::hercules_ir::*; +use hercules_cg::*; +use hercules_ir::*; use crate::*; @@ -920,12 +914,10 @@ impl PassManager { ); } Pass::Codegen(output_dir, module_name) => { - self.make_reverse_postorders(); self.make_typing(); self.make_control_subgraphs(); self.make_collection_objects(); self.make_callgraph(); - let reverse_postorders = self.reverse_postorders.as_ref().unwrap(); let typing = self.typing.as_ref().unwrap(); let control_subgraphs = self.control_subgraphs.as_ref().unwrap(); let bbs = self.bbs.as_ref().unwrap(); @@ -943,7 +935,6 @@ impl PassManager { &self.module.types, &self.module.constants, &self.module.dynamic_constants, - &reverse_postorders[idx], &typing[idx], &control_subgraphs[idx], &bbs[idx], @@ -953,7 +944,6 @@ impl PassManager { Device::AsyncRust => rt_codegen( FunctionID::new(idx), &self.module, - &reverse_postorders[idx], &typing[idx], &control_subgraphs[idx], &bbs[idx], @@ -972,14 +962,15 @@ impl PassManager { // Write the LLVM IR into a temporary file. let mut tmp_path = temp_dir(); tmp_path.push(format!("{}.ll", module_name)); + println!("{}", tmp_path.display()); let mut file = File::create(&tmp_path) .expect("PANIC: Unable to open output LLVM IR file."); file.write_all(llvm_ir.as_bytes()) .expect("PANIC: Unable to write output LLVM IR file contents."); - println!("{}", tmp_path.display()); // Compile LLVM IR into an ELF object file. let output_archive = format!("{}/lib{}.a", output_dir, module_name); + println!("{}", output_archive); let mut clang_process = Command::new("clang") .arg(&tmp_path) .arg("--emit-static-lib") @@ -992,15 +983,14 @@ impl PassManager { .spawn() .expect("Error running clang. Is it installed?"); assert!(clang_process.wait().unwrap().success()); - println!("{}", output_archive); // Write the Rust runtime into a file. let output_rt = format!("{}/rt_{}.hrt", output_dir, module_name); + println!("{}", output_rt); let mut file = File::create(&output_rt) .expect("PANIC: Unable to open output Rust runtime file."); file.write_all(rust_rt.as_bytes()) .expect("PANIC: Unable to write output Rust runtime file contents."); - println!("{}", output_rt); } Pass::Serialize(output_file) => { let module_contents: Vec<u8> = postcard::to_allocvec(&self.module).unwrap(); diff --git a/hercules_opt/src/phi_elim.rs b/hercules_opt/src/phi_elim.rs index 2788e56a9199d20997e1272fe495e45048d91767..a79b43d3ca6a6b7fa85f09127ce53ba70b0063be 100644 --- a/hercules_opt/src/phi_elim.rs +++ b/hercules_opt/src/phi_elim.rs @@ -1,12 +1,9 @@ -extern crate bitvec; -extern crate hercules_ir; - use std::collections::VecDeque; use std::iter::FromIterator; -use self::bitvec::prelude::*; +use bitvec::prelude::*; -use self::hercules_ir::ir::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/pred.rs b/hercules_opt/src/pred.rs index 09d9753d0c09a561483c733eb87415beda435944..be1b4a0bb77e3ab225f495577eae9d6a24e52561 100644 --- a/hercules_opt/src/pred.rs +++ b/hercules_opt/src/pred.rs @@ -1,15 +1,12 @@ -extern crate bitvec; -extern crate hercules_ir; - use std::collections::HashMap; use std::collections::HashSet; use std::collections::VecDeque; -use self::bitvec::prelude::*; +use bitvec::prelude::*; -use self::hercules_ir::def_use::*; -use self::hercules_ir::dom::*; -use self::hercules_ir::ir::*; +use hercules_ir::def_use::*; +use hercules_ir::dom::*; +use hercules_ir::ir::*; /* * Top level function to convert acyclic control flow in vectorized fork-joins diff --git a/hercules_opt/src/schedule.rs b/hercules_opt/src/schedule.rs index ff895b1651b298cc59a8b0afbd921da2aaf04f82..2c8209aae002beffca3c8f7ee40d6986fed49fb0 100644 --- a/hercules_opt/src/schedule.rs +++ b/hercules_opt/src/schedule.rs @@ -1,9 +1,7 @@ -extern crate hercules_ir; - use std::collections::{HashMap, HashSet}; -use self::hercules_ir::def_use::*; -use self::hercules_ir::ir::*; +use hercules_ir::def_use::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/sroa.rs b/hercules_opt/src/sroa.rs index a73ecb2b42ef42c94f3e97faa8d777a7040cc6f4..6461ad717d5b7cbeac0e237916d11d4a3a4ae6d6 100644 --- a/hercules_opt/src/sroa.rs +++ b/hercules_opt/src/sroa.rs @@ -1,8 +1,6 @@ -extern crate hercules_ir; - use std::collections::{BTreeMap, HashMap, VecDeque}; -use self::hercules_ir::ir::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/unforkify.rs b/hercules_opt/src/unforkify.rs index 61c86a276c6f71be3790ec1d9342d6b364d020c4..a5df7a7c404e820a92d27842211dd0e3396dae41 100644 --- a/hercules_opt/src/unforkify.rs +++ b/hercules_opt/src/unforkify.rs @@ -1,9 +1,7 @@ -extern crate hercules_ir; - use std::collections::HashMap; use std::iter::zip; -use self::hercules_ir::ir::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_opt/src/utils.rs b/hercules_opt/src/utils.rs index c32225b50bd1d02500ad210171cde0a58d67b17e..77fa1ff6525c575414b94e12905502b257ac1a12 100644 --- a/hercules_opt/src/utils.rs +++ b/hercules_opt/src/utils.rs @@ -1,7 +1,5 @@ -extern crate hercules_ir; - -use self::hercules_ir::def_use::*; -use self::hercules_ir::ir::*; +use hercules_ir::def_use::*; +use hercules_ir::ir::*; use crate::*; diff --git a/hercules_rt/Cargo.toml b/hercules_rt/Cargo.toml index 0bf19adf352512e3bd5639015e62c38e13670f85..7201f41127a8a307b1df6a361743da889a2b49b8 100644 --- a/hercules_rt/Cargo.toml +++ b/hercules_rt/Cargo.toml @@ -2,6 +2,7 @@ name = "hercules_rt" version = "0.1.0" authors = ["Russel Arbore <rarbore2@illinois.edu>"] +edition = "2021" [dependencies] diff --git a/hercules_samples/call/build.rs b/hercules_samples/call/build.rs index dbefe008a14e57785261e2757bb0e0dbbb5fa27c..af48fe64f7c2b778c9841e45ecf13b8a6a5740d2 100644 --- a/hercules_samples/call/build.rs +++ b/hercules_samples/call/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/hercules_samples/call/src/main.rs b/hercules_samples/call/src/main.rs index b5c999fdac3738f6d3fced2164fbf9320d5a1034..0b657dd81e7ade1491f3c6c51fdd9a9f0abb5d57 100644 --- a/hercules_samples/call/src/main.rs +++ b/hercules_samples/call/src/main.rs @@ -1,8 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate juno_build; - juno_build::juno!("call"); fn main() { diff --git a/hercules_samples/ccp/build.rs b/hercules_samples/ccp/build.rs index 650b51b8b14715579de164f7fc65330e113613a1..f04d48c7d0ea6df8b16d70b05cedabfc04c1f6f2 100644 --- a/hercules_samples/ccp/build.rs +++ b/hercules_samples/ccp/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/hercules_samples/ccp/src/main.rs b/hercules_samples/ccp/src/main.rs index 9e2aced90044d1af68e6a47f9205ee1a21a69328..7f6459a0c3593c38794d5534ac7af41e404db8c1 100644 --- a/hercules_samples/ccp/src/main.rs +++ b/hercules_samples/ccp/src/main.rs @@ -1,8 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate juno_build; - juno_build::juno!("ccp"); fn main() { diff --git a/hercules_samples/dot/build.rs b/hercules_samples/dot/build.rs index cfa03fd3b989748fe530071f289fb31f036283b4..2a239bc6c3ebd3780cb15358375c59bdfb2e25ae 100644 --- a/hercules_samples/dot/build.rs +++ b/hercules_samples/dot/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/hercules_samples/dot/src/main.rs b/hercules_samples/dot/src/main.rs index 34d397ef12c0d6eed2f6acf7c9f4da780412242f..0b5c6a93c3527d4c6863c48956f1d10947bdb017 100644 --- a/hercules_samples/dot/src/main.rs +++ b/hercules_samples/dot/src/main.rs @@ -1,9 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate hercules_rt; -extern crate juno_build; - use hercules_rt::HerculesBox; juno_build::juno!("dot"); diff --git a/hercules_samples/fac/build.rs b/hercules_samples/fac/build.rs index 49a6024828516f994522e66bf1de1d714f63e75b..4d8226f11183d9500e6affec4c46110e8626ee69 100644 --- a/hercules_samples/fac/build.rs +++ b/hercules_samples/fac/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/hercules_samples/fac/src/main.rs b/hercules_samples/fac/src/main.rs index 7071fd2c115bba1d6ff60fae688b262354d4fc71..b6e0257b0be48e39555050194be6d29459c3c765 100644 --- a/hercules_samples/fac/src/main.rs +++ b/hercules_samples/fac/src/main.rs @@ -1,7 +1,3 @@ -extern crate async_std; -extern crate clap; -extern crate juno_build; - juno_build::juno!("fac"); fn main() { diff --git a/hercules_samples/matmul/build.rs b/hercules_samples/matmul/build.rs index ec6eb892326c5d6eb341c89239b0465de0cf4a49..08478deaac459d9a94f79fdabce37da9a1205f89 100644 --- a/hercules_samples/matmul/build.rs +++ b/hercules_samples/matmul/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/hercules_samples/matmul/src/main.rs b/hercules_samples/matmul/src/main.rs index 34612801b4d27c456251cda01550c7cbd0700ebf..587109f88336f987450b24d1eb3c972fd58da2e3 100644 --- a/hercules_samples/matmul/src/main.rs +++ b/hercules_samples/matmul/src/main.rs @@ -1,10 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate hercules_rt; -extern crate juno_build; -extern crate rand; - use rand::random; use hercules_rt::HerculesBox; diff --git a/hercules_test/hercules_interpreter/src/interpreter.rs b/hercules_test/hercules_interpreter/src/interpreter.rs index a166427fe062f90577f1b29b193cc08e02e01193..621260e5a25597e3dedcc279348e0be7c1fb9472 100644 --- a/hercules_test/hercules_interpreter/src/interpreter.rs +++ b/hercules_test/hercules_interpreter/src/interpreter.rs @@ -1,19 +1,14 @@ -extern crate itertools; -extern crate ordered_float; -use crate::value; - -use self::itertools::Itertools; use std::collections::HashMap; use std::panic; use std::collections::hash_map::Entry::Occupied; -use value::*; +use itertools::Itertools; -extern crate hercules_ir; -extern crate hercules_opt; +use hercules_ir::*; -use self::hercules_ir::*; +use crate::value; +use value::*; /* High level design details / discussion for this: * diff --git a/hercules_test/hercules_interpreter/src/main.rs b/hercules_test/hercules_interpreter/src/main.rs index 4d2ebd31853aedf36fb5871e62af9422f49b3c0f..5db31cd730fe802dd9ccbf1b8e0d603c736fb196 100644 --- a/hercules_test/hercules_interpreter/src/main.rs +++ b/hercules_test/hercules_interpreter/src/main.rs @@ -1,18 +1,13 @@ -extern crate clap; -extern crate hercules_ir; -extern crate hercules_opt; -extern crate rand; +use std::fs::File; +use std::io::prelude::*; +use clap::Parser; + +use hercules_ir::*; use hercules_interpreter::interpreter::*; use hercules_interpreter::*; use hercules_interpreter::value; -use std::fs::File; -use std::io::prelude::*; - -use self::hercules_ir::*; - -use clap::Parser; #[derive(Parser, Debug)] #[command(author, version, about, long_about = None)] diff --git a/hercules_test/hercules_interpreter/src/value.rs b/hercules_test/hercules_interpreter/src/value.rs index d236145c00e1bfd63a1b45ff5bebad93398062ea..e032bd5b711a713c55c6cd911c99e327ff1d2e0b 100644 --- a/hercules_test/hercules_interpreter/src/value.rs +++ b/hercules_test/hercules_interpreter/src/value.rs @@ -1,23 +1,18 @@ #![allow(unused)] -extern crate derive_more; use derive_more::From; /* Defines semantic meaning of IR operations. */ -extern crate itertools; use crate::dyn_const_value; -use self::itertools::Itertools; +use itertools::Itertools; use std::clone; use std::convert::TryInto; use std::panic; -extern crate hercules_ir; -extern crate hercules_opt; - -use self::hercules_ir::*; -use self::hercules_opt::*; +use hercules_ir::*; +use hercules_opt::*; #[derive(PartialEq, Debug, Clone, Eq)] pub enum InterpreterVal { diff --git a/hercules_test/hercules_tests/tests/opt_tests.rs b/hercules_test/hercules_tests/tests/opt_tests.rs index c14d4db5b0072ec0f724cdde9b467c7568e1b41c..388dfeddf38eecab3ffb191a344682395e71d5cd 100644 --- a/hercules_test/hercules_tests/tests/opt_tests.rs +++ b/hercules_test/hercules_tests/tests/opt_tests.rs @@ -1,11 +1,10 @@ use std::env; +use rand::Rng; + use hercules_interpreter::*; use hercules_opt::pass::Pass; -extern crate rand; -use rand::Rng; - #[test] fn matmul_int() { let module = parse_file("../test_inputs/matmul_int.hir"); @@ -198,4 +197,4 @@ fn sum_int2_smaller() { Pass::DCE, ], vec![1; 100]); -} \ No newline at end of file +} diff --git a/hercules_tools/hercules_driver/Cargo.toml b/hercules_tools/hercules_driver/Cargo.toml index 9236c34a948e61e962f2fddc3d23a4fd72cfaee6..ad9397b140052539a341084646d5f7fde1cbafff 100644 --- a/hercules_tools/hercules_driver/Cargo.toml +++ b/hercules_tools/hercules_driver/Cargo.toml @@ -2,6 +2,7 @@ name = "hercules_driver" version = "0.1.0" authors = ["Russel Arbore <rarbore2@illinois.edu>"] +edition = "2021" [dependencies] clap = { version = "*", features = ["derive"] } diff --git a/hercules_tools/hercules_driver/src/main.rs b/hercules_tools/hercules_driver/src/main.rs index 97c9fe2ef9f03c87f50d079d4b1aabad371b894f..a2550022129029387664fb4327528d09078c2e02 100644 --- a/hercules_tools/hercules_driver/src/main.rs +++ b/hercules_tools/hercules_driver/src/main.rs @@ -1,6 +1,3 @@ -extern crate clap; -extern crate postcard; - use std::fs::File; use std::io::prelude::*; use std::path::Path; diff --git a/juno_build/src/lib.rs b/juno_build/src/lib.rs index fdaf4d27cbcb7b31738e6df42d69272369d5026f..0c676e4c1b203c53e98a8430e0f2354104540e07 100644 --- a/juno_build/src/lib.rs +++ b/juno_build/src/lib.rs @@ -1,5 +1,3 @@ -extern crate hercules_ir; - use juno_compiler::*; use std::env::{current_dir, var}; diff --git a/juno_frontend/src/lib.rs b/juno_frontend/src/lib.rs index 9297173d4deededf8b541dfc821e1b88dd68841d..906d780560626d7aff1716b4d159aa82d76a7df5 100644 --- a/juno_frontend/src/lib.rs +++ b/juno_frontend/src/lib.rs @@ -9,8 +9,6 @@ mod semant; mod ssa; mod types; -extern crate hercules_ir; - use std::fmt; use std::path::Path; diff --git a/juno_frontend/src/main.rs b/juno_frontend/src/main.rs index 4624e7160d242b064fdae85e7eba889e752fff75..d98c1e29e5aedeac5ce2a4e791c669a7af34c320 100644 --- a/juno_frontend/src/main.rs +++ b/juno_frontend/src/main.rs @@ -1,5 +1,3 @@ -extern crate clap; - use juno_compiler::*; use clap::{ArgGroup, Parser}; diff --git a/juno_frontend/src/semant.rs b/juno_frontend/src/semant.rs index 1ccdf3ed80b33deab7fe51c51cf44c118f4c4518..660d8afe35a803e7395d67871236e0f596b09a87 100644 --- a/juno_frontend/src/semant.rs +++ b/juno_frontend/src/semant.rs @@ -1,5 +1,3 @@ -extern crate hercules_ir; - use std::collections::{HashMap, LinkedList}; use std::fmt; use std::fs::File; diff --git a/juno_frontend/src/ssa.rs b/juno_frontend/src/ssa.rs index f5e1d8302d8a407e2a6e1b6d89cc9b62d4e5c40e..578f7a9af120644d265d5c5b679fb97b35806d36 100644 --- a/juno_frontend/src/ssa.rs +++ b/juno_frontend/src/ssa.rs @@ -4,12 +4,11 @@ * Compiler Construction. CC 2013. Lecture Notes in Computer Science, vol 7791. Springer, Berlin, * Heidelberg. https://doi.org/10.1007/978-3-642-37051-9_6 */ -extern crate hercules_ir; use std::collections::{HashMap, HashSet}; -use self::hercules_ir::build::*; -use self::hercules_ir::ir::*; +use hercules_ir::build::*; +use hercules_ir::ir::*; use crate::labeled_builder::LabeledBuilder; pub struct SSA { diff --git a/juno_frontend/src/types.rs b/juno_frontend/src/types.rs index 582e7cfddb87cc47e467662d52e87029319e99ad..5f907cd9370a343eb501e0c4b5b1dcef2a55f651 100644 --- a/juno_frontend/src/types.rs +++ b/juno_frontend/src/types.rs @@ -1,11 +1,12 @@ use std::collections::{HashMap, HashSet, VecDeque}; use crate::dynconst::DynConst; -use crate::hercules_ir::build::*; -use crate::hercules_ir::ir::*; use crate::locs::Location; use crate::parser; +use hercules_ir::build::*; +use hercules_ir::ir::*; + #[derive(Copy, Clone, PartialEq, Eq, Debug)] pub enum Either<A, B> { Left(A), diff --git a/juno_samples/antideps/build.rs b/juno_samples/antideps/build.rs index 757243b829c3f805f8d87d38676e72e2b532f072..7ed716a444460d7a90965f5b7f5faf3a7aadcb14 100644 --- a/juno_samples/antideps/build.rs +++ b/juno_samples/antideps/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/juno_samples/antideps/src/main.rs b/juno_samples/antideps/src/main.rs index a9c225b21bb7a8f3693f124471989fc9d4ebe23c..0b065cbaa6e6cffcaf9ff7b3fbc5a2c882dc7248 100644 --- a/juno_samples/antideps/src/main.rs +++ b/juno_samples/antideps/src/main.rs @@ -1,8 +1,5 @@ #![feature(future_join, box_as_ptr)] -extern crate async_std; -extern crate juno_build; - juno_build::juno!("antideps"); fn main() { diff --git a/juno_samples/casts_and_intrinsics/build.rs b/juno_samples/casts_and_intrinsics/build.rs index fafa97bbc642751c37b2ef47a43954fa84f340d9..16d5c7a4f7fcb00344fc7669b67103a27f71a7c6 100644 --- a/juno_samples/casts_and_intrinsics/build.rs +++ b/juno_samples/casts_and_intrinsics/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/juno_samples/casts_and_intrinsics/src/main.rs b/juno_samples/casts_and_intrinsics/src/main.rs index 037d4c4025ca141887034353124436a2db8f84f3..8ee509bfb401aca4bd42751c0fe34beee94c7324 100644 --- a/juno_samples/casts_and_intrinsics/src/main.rs +++ b/juno_samples/casts_and_intrinsics/src/main.rs @@ -1,8 +1,5 @@ #![feature(future_join)] -extern crate async_std; -extern crate juno_build; - juno_build::juno!("casts_and_intrinsics"); fn main() { diff --git a/juno_samples/implicit_clone/build.rs b/juno_samples/implicit_clone/build.rs index 3378966b64a71a239178edc6a010f9081939f58a..75c1afc41a75b2006b26042323df3bdc3fcf5a17 100644 --- a/juno_samples/implicit_clone/build.rs +++ b/juno_samples/implicit_clone/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/juno_samples/implicit_clone/src/main.rs b/juno_samples/implicit_clone/src/main.rs index a92e4e2d7558733b28db0bba203415a73631ab6d..bc687ed386f091e674c5eb81122adf30c06f8da9 100644 --- a/juno_samples/implicit_clone/src/main.rs +++ b/juno_samples/implicit_clone/src/main.rs @@ -1,8 +1,5 @@ #![feature(future_join, box_as_ptr)] -extern crate async_std; -extern crate juno_build; - juno_build::juno!("implicit_clone"); fn main() { diff --git a/juno_samples/matmul/build.rs b/juno_samples/matmul/build.rs index 81f645e0666dfb22e075953c3d0a1a531909f1a0..926fbc33ecfa5ab31b40a92f778bb4d3b7f6a77e 100644 --- a/juno_samples/matmul/build.rs +++ b/juno_samples/matmul/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/juno_samples/matmul/src/main.rs b/juno_samples/matmul/src/main.rs index 11066e8bf4762247a50881ccdd3dfeea8fae9fea..e6fb25436b2f7d901a475c726face0b28017bc1b 100644 --- a/juno_samples/matmul/src/main.rs +++ b/juno_samples/matmul/src/main.rs @@ -1,10 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate hercules_rt; -extern crate juno_build; -extern crate rand; - use rand::random; use hercules_rt::HerculesBox; diff --git a/juno_samples/nested_ccp/build.rs b/juno_samples/nested_ccp/build.rs index 0fb54be347f011f4c29f1d7df98a0f29c85193c6..c5c7ca6a1b9ab5decf6a8cf0b8e8f13ff7122834 100644 --- a/juno_samples/nested_ccp/build.rs +++ b/juno_samples/nested_ccp/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/juno_samples/nested_ccp/src/main.rs b/juno_samples/nested_ccp/src/main.rs index 11561eb8fcdbe9be4b163506f98d9952ecbc749d..974a488c8f3574aaecfd40b1110b6a7022891f0f 100644 --- a/juno_samples/nested_ccp/src/main.rs +++ b/juno_samples/nested_ccp/src/main.rs @@ -1,9 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate hercules_rt; -extern crate juno_build; - use hercules_rt::HerculesBox; juno_build::juno!("nested_ccp"); diff --git a/juno_samples/simple3/build.rs b/juno_samples/simple3/build.rs index 0e476e8d41c7880741a3f474f341a0decf0bda4b..94760025d53abe7e10914052e1a7783386b316b0 100644 --- a/juno_samples/simple3/build.rs +++ b/juno_samples/simple3/build.rs @@ -1,4 +1,3 @@ -extern crate juno_build; use juno_build::JunoCompiler; fn main() { diff --git a/juno_samples/simple3/src/main.rs b/juno_samples/simple3/src/main.rs index 8ca54344fd6b8f574c3e2b43e50c58185812188a..1f6e213c41a27ceeb9c2988fe85bd956dec879d1 100644 --- a/juno_samples/simple3/src/main.rs +++ b/juno_samples/simple3/src/main.rs @@ -1,9 +1,5 @@ #![feature(box_as_ptr, let_chains)] -extern crate async_std; -extern crate hercules_rt; -extern crate juno_build; - use hercules_rt::HerculesBox; juno_build::juno!("simple3"); diff --git a/juno_scheduler/src/lib.rs b/juno_scheduler/src/lib.rs index 7e558d6bcb7a5c9250f3efe862ff235463c3599c..d515633eec468012ceee7305544b1859c1ebd621 100644 --- a/juno_scheduler/src/lib.rs +++ b/juno_scheduler/src/lib.rs @@ -1,5 +1,3 @@ -extern crate hercules_ir; - use std::collections::{HashMap, HashSet}; use std::fs::File; use std::io::Read; @@ -7,7 +5,7 @@ use std::io::Read; use lrlex::DefaultLexerTypes; use lrpar::NonStreamingLexer; -use self::hercules_ir::ir::*; +use hercules_ir::ir::*; mod parser; use crate::parser::lexer; diff --git a/reports/technical1/main.tex b/reports/technical1/main.tex index 4743d2069ce05baae6e37ea3f8c24582cbd0e9ff..e70625d4cd8adcf9157e1234d45eac177fa1f255 100644 --- a/reports/technical1/main.tex +++ b/reports/technical1/main.tex @@ -502,9 +502,6 @@ The manifest plus the Hercules module itself are loaded from a \texttt{.hbin} fi Here's an example host code written in Rust: \begin{lstlisting}[style=colouredRust] -extern crate async_std; -extern crate hercules_rt; - hercules_rt::use_hbin!("my_module.hbin"); fn main() {