diff --git a/cranelift/codegen/src/abi.rs b/cranelift/codegen/src/abi.rs index 4c0b8d4dbc..8564fd5a24 100644 --- a/cranelift/codegen/src/abi.rs +++ b/cranelift/codegen/src/abi.rs @@ -5,7 +5,7 @@ use crate::ir::{AbiParam, ArgumentExtension, ArgumentLoc, Type}; use core::cmp::Ordering; -use std::vec::Vec; +use alloc::vec::Vec; /// Legalization action to perform on a single argument or return value when converting a /// signature. diff --git a/cranelift/codegen/src/binemit/relaxation.rs b/cranelift/codegen/src/binemit/relaxation.rs index 43f361885a..806129e9af 100644 --- a/cranelift/codegen/src/binemit/relaxation.rs +++ b/cranelift/codegen/src/binemit/relaxation.rs @@ -227,7 +227,7 @@ fn try_fold_redundant_jump( } // Build a value list of first_args (unchanged) followed by second_params (rewritten). - let arguments_vec: std::vec::Vec<_> = first_args + let arguments_vec: alloc::vec::Vec<_> = first_args .iter() .chain(second_params.iter()) .map(|x| *x) diff --git a/cranelift/codegen/src/binemit/stackmap.rs b/cranelift/codegen/src/binemit/stackmap.rs index 5d6844dcf3..4d513f7322 100644 --- a/cranelift/codegen/src/binemit/stackmap.rs +++ b/cranelift/codegen/src/binemit/stackmap.rs @@ -1,7 +1,7 @@ use crate::bitset::BitSet; use crate::ir; use crate::isa::TargetIsa; -use std::vec::Vec; +use alloc::vec::Vec; type Num = u32; const NUM_BITS: usize = core::mem::size_of::() * 8; @@ -42,7 +42,7 @@ impl Stackmap { let frame_size = stack.frame_size.unwrap(); let word_size = ir::stackslot::StackSize::from(isa.pointer_bytes()); let num_words = (frame_size / word_size) as usize; - let mut vec = std::vec::Vec::with_capacity(num_words); + let mut vec = alloc::vec::Vec::with_capacity(num_words); vec.resize(num_words, false); diff --git a/cranelift/codegen/src/cfg_printer.rs b/cranelift/codegen/src/cfg_printer.rs index e3c62820cd..c67e8b1eec 100644 --- a/cranelift/codegen/src/cfg_printer.rs +++ b/cranelift/codegen/src/cfg_printer.rs @@ -1,7 +1,7 @@ //! The `CFGPrinter` utility. use core::fmt::{Display, Formatter, Result, Write}; -use std::vec::Vec; +use alloc::vec::Vec; use crate::entity::SecondaryMap; use crate::flowgraph::{BasicBlock, ControlFlowGraph}; diff --git a/cranelift/codegen/src/context.rs b/cranelift/codegen/src/context.rs index 8bbe2893de..aad08a5481 100644 --- a/cranelift/codegen/src/context.rs +++ b/cranelift/codegen/src/context.rs @@ -34,7 +34,7 @@ use crate::unreachable_code::eliminate_unreachable_code; use crate::value_label::{build_value_labels_ranges, ComparableSourceLoc, ValueLabelsRanges}; use crate::verifier::{verify_context, verify_locations, VerifierErrors, VerifierResult}; use log::debug; -use std::vec::Vec; +use alloc::vec::Vec; /// Persistent data structures and compilation pipeline. pub struct Context { diff --git a/cranelift/codegen/src/dominator_tree.rs b/cranelift/codegen/src/dominator_tree.rs index 8191c310eb..737019d315 100644 --- a/cranelift/codegen/src/dominator_tree.rs +++ b/cranelift/codegen/src/dominator_tree.rs @@ -9,7 +9,7 @@ use crate::timing; use core::cmp; use core::cmp::Ordering; use core::mem; -use std::vec::Vec; +use alloc::vec::Vec; /// RPO numbers are not first assigned in a contiguous way but as multiples of STRIDE, to leave /// room for modifications of the dominator tree. diff --git a/cranelift/codegen/src/flowgraph.rs b/cranelift/codegen/src/flowgraph.rs index 645b7d4fff..f53cfa6bff 100644 --- a/cranelift/codegen/src/flowgraph.rs +++ b/cranelift/codegen/src/flowgraph.rs @@ -214,7 +214,7 @@ mod tests { use super::*; use crate::cursor::{Cursor, FuncCursor}; use crate::ir::{types, Function, InstBuilder}; - use std::vec::Vec; + use alloc::vec::Vec; #[test] fn empty() { diff --git a/cranelift/codegen/src/ir/constant.rs b/cranelift/codegen/src/ir/constant.rs index 9f21209c4c..c4d7cb0898 100644 --- a/cranelift/codegen/src/ir/constant.rs +++ b/cranelift/codegen/src/ir/constant.rs @@ -11,8 +11,8 @@ use crate::ir::Constant; use crate::HashMap; use cranelift_entity::EntityRef; -use std::collections::BTreeMap; -use std::vec::Vec; +use alloc::collections::BTreeMap; +use alloc::vec::Vec; /// This type describes the actual constant data. pub type ConstantData = Vec; diff --git a/cranelift/codegen/src/ir/dfg.rs b/cranelift/codegen/src/ir/dfg.rs index e4ec9c6be8..34ed10622d 100644 --- a/cranelift/codegen/src/ir/dfg.rs +++ b/cranelift/codegen/src/ir/dfg.rs @@ -19,7 +19,7 @@ use core::iter; use core::mem; use core::ops::{Index, IndexMut}; use core::u16; -use std::vec::Vec; +use alloc::vec::Vec; /// A data flow graph defines all instructions and extended basic blocks in a function as well as /// the data flow dependencies between them. The DFG also tracks values which can be either @@ -1093,7 +1093,7 @@ mod tests { use crate::cursor::{Cursor, FuncCursor}; use crate::ir::types; use crate::ir::{Function, InstructionData, Opcode, TrapCode}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn make_inst() { diff --git a/cranelift/codegen/src/ir/entities.rs b/cranelift/codegen/src/ir/entities.rs index 1f8e1fc6a2..552a9f3ae0 100644 --- a/cranelift/codegen/src/ir/entities.rs +++ b/cranelift/codegen/src/ir/entities.rs @@ -456,7 +456,7 @@ impl From for AnyEntity { mod tests { use super::*; use core::u32; - use std::string::ToString; + use alloc::string::ToString; #[test] fn value_with_number() { diff --git a/cranelift/codegen/src/ir/extfunc.rs b/cranelift/codegen/src/ir/extfunc.rs index 0b74fd3d24..f09b428833 100644 --- a/cranelift/codegen/src/ir/extfunc.rs +++ b/cranelift/codegen/src/ir/extfunc.rs @@ -9,7 +9,7 @@ use crate::ir::{ArgumentLoc, ExternalName, SigRef, Type}; use crate::isa::{CallConv, RegInfo, RegUnit}; use core::fmt; use core::str::FromStr; -use std::vec::Vec; +use alloc::vec::Vec; /// Function signature. /// @@ -335,7 +335,7 @@ impl fmt::Display for ExtFuncData { mod tests { use super::*; use crate::ir::types::{B8, F32, I32}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn argument_type() { diff --git a/cranelift/codegen/src/ir/extname.rs b/cranelift/codegen/src/ir/extname.rs index 5fd8600882..d153db9cbd 100644 --- a/cranelift/codegen/src/ir/extname.rs +++ b/cranelift/codegen/src/ir/extname.rs @@ -121,7 +121,7 @@ mod tests { use super::ExternalName; use crate::ir::LibCall; use core::u32; - use std::string::ToString; + use alloc::string::ToString; #[test] fn display_testcase() { diff --git a/cranelift/codegen/src/ir/immediates.rs b/cranelift/codegen/src/ir/immediates.rs index eb6dfad34b..5d3807671f 100644 --- a/cranelift/codegen/src/ir/immediates.rs +++ b/cranelift/codegen/src/ir/immediates.rs @@ -8,7 +8,7 @@ use core::fmt::{self, Display, Formatter}; use core::iter::FromIterator; use core::str::{from_utf8, FromStr}; use core::{i32, u32}; -use std::vec::Vec; +use alloc::vec::Vec; /// Convert a type into a vector of bytes; all implementors in this file must use little-endian /// orderings of bytes to match WebAssembly's little-endianness. @@ -940,7 +940,7 @@ mod tests { use core::mem; use core::str::FromStr; use core::{f32, f64}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn format_imm64() { diff --git a/cranelift/codegen/src/ir/instructions.rs b/cranelift/codegen/src/ir/instructions.rs index b3c3d0d211..97c84110aa 100644 --- a/cranelift/codegen/src/ir/instructions.rs +++ b/cranelift/codegen/src/ir/instructions.rs @@ -9,7 +9,7 @@ use core::fmt::{self, Display, Formatter}; use core::ops::{Deref, DerefMut}; use core::str::FromStr; -use std::vec::Vec; +use alloc::vec::Vec; use crate::ir; use crate::ir::types; @@ -560,7 +560,7 @@ pub enum ResolvedConstraint { #[cfg(test)] mod tests { use super::*; - use std::string::ToString; + use alloc::string::ToString; #[test] fn opcodes() { diff --git a/cranelift/codegen/src/ir/jumptable.rs b/cranelift/codegen/src/ir/jumptable.rs index a40ee48e74..596e668e89 100644 --- a/cranelift/codegen/src/ir/jumptable.rs +++ b/cranelift/codegen/src/ir/jumptable.rs @@ -6,7 +6,7 @@ use crate::ir::entities::Ebb; use core::fmt::{self, Display, Formatter}; use core::slice::{Iter, IterMut}; -use std::vec::Vec; +use alloc::vec::Vec; /// Contents of a jump table. /// @@ -85,7 +85,7 @@ mod tests { use super::JumpTableData; use crate::entity::EntityRef; use crate::ir::Ebb; - use std::string::ToString; + use alloc::string::ToString; #[test] fn empty() { diff --git a/cranelift/codegen/src/ir/layout.rs b/cranelift/codegen/src/ir/layout.rs index 632c03dc59..3d1f5e975c 100644 --- a/cranelift/codegen/src/ir/layout.rs +++ b/cranelift/codegen/src/ir/layout.rs @@ -751,7 +751,7 @@ mod tests { use crate::entity::EntityRef; use crate::ir::{Ebb, Inst, ProgramOrder, SourceLoc}; use core::cmp::Ordering; - use std::vec::Vec; + use alloc::vec::Vec; struct LayoutCursor<'f> { /// Borrowed function layout. Public so it can be re-borrowed from this cursor. diff --git a/cranelift/codegen/src/ir/libcall.rs b/cranelift/codegen/src/ir/libcall.rs index 1e19891221..52c4c40dad 100644 --- a/cranelift/codegen/src/ir/libcall.rs +++ b/cranelift/codegen/src/ir/libcall.rs @@ -209,7 +209,7 @@ fn make_funcref( #[cfg(test)] mod tests { use super::*; - use std::string::ToString; + use alloc::string::ToString; #[test] fn display() { diff --git a/cranelift/codegen/src/ir/mod.rs b/cranelift/codegen/src/ir/mod.rs index 9c03d569db..8b89227ff2 100644 --- a/cranelift/codegen/src/ir/mod.rs +++ b/cranelift/codegen/src/ir/mod.rs @@ -100,7 +100,7 @@ pub struct ValueLabelStart { #[derive(Debug, Clone)] pub enum ValueLabelAssignments { /// Original value labels assigned at transform. - Starts(std::vec::Vec), + Starts(alloc::vec::Vec), /// A value alias to original value. Alias { diff --git a/cranelift/codegen/src/ir/progpoint.rs b/cranelift/codegen/src/ir/progpoint.rs index bd03c120cd..32c349aa00 100644 --- a/cranelift/codegen/src/ir/progpoint.rs +++ b/cranelift/codegen/src/ir/progpoint.rs @@ -148,7 +148,7 @@ mod tests { use super::*; use crate::entity::EntityRef; use crate::ir::{Ebb, Inst}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn convert() { diff --git a/cranelift/codegen/src/ir/sourceloc.rs b/cranelift/codegen/src/ir/sourceloc.rs index a0d051d3aa..b8f162366f 100644 --- a/cranelift/codegen/src/ir/sourceloc.rs +++ b/cranelift/codegen/src/ir/sourceloc.rs @@ -54,7 +54,7 @@ impl fmt::Display for SourceLoc { #[cfg(test)] mod tests { use crate::ir::SourceLoc; - use std::string::ToString; + use alloc::string::ToString; #[test] fn display() { diff --git a/cranelift/codegen/src/ir/stackslot.rs b/cranelift/codegen/src/ir/stackslot.rs index 0b488582d4..fb526ab50e 100644 --- a/cranelift/codegen/src/ir/stackslot.rs +++ b/cranelift/codegen/src/ir/stackslot.rs @@ -11,7 +11,7 @@ use core::fmt; use core::ops::{Index, IndexMut}; use core::slice; use core::str::FromStr; -use std::vec::Vec; +use alloc::vec::Vec; #[cfg(feature = "enable-serde")] use serde::{Deserialize, Serialize}; @@ -343,7 +343,7 @@ mod tests { use super::*; use crate::ir::types; use crate::ir::Function; - use std::string::ToString; + use alloc::string::ToString; #[test] fn stack_slot() { diff --git a/cranelift/codegen/src/ir/trapcode.rs b/cranelift/codegen/src/ir/trapcode.rs index 5621e1d91c..3f8ffe3fb5 100644 --- a/cranelift/codegen/src/ir/trapcode.rs +++ b/cranelift/codegen/src/ir/trapcode.rs @@ -103,7 +103,7 @@ impl FromStr for TrapCode { #[cfg(test)] mod tests { use super::*; - use std::string::ToString; + use alloc::string::ToString; // Everything but user-defined codes. const CODES: [TrapCode; 11] = [ diff --git a/cranelift/codegen/src/ir/types.rs b/cranelift/codegen/src/ir/types.rs index 10fca8aaa8..4ada74b070 100644 --- a/cranelift/codegen/src/ir/types.rs +++ b/cranelift/codegen/src/ir/types.rs @@ -363,7 +363,7 @@ impl Default for Type { #[cfg(test)] mod tests { use super::*; - use std::string::ToString; + use alloc::string::ToString; #[test] fn basic_scalars() { diff --git a/cranelift/codegen/src/isa/arm32/mod.rs b/cranelift/codegen/src/isa/arm32/mod.rs index ed5854593b..f377560581 100644 --- a/cranelift/codegen/src/isa/arm32/mod.rs +++ b/cranelift/codegen/src/isa/arm32/mod.rs @@ -16,7 +16,7 @@ use crate::isa::Builder as IsaBuilder; use crate::isa::{EncInfo, RegClass, RegInfo, TargetIsa}; use crate::regalloc; use core::fmt; -use std::boxed::Box; +use alloc::boxed::Box; use target_lexicon::{Architecture, Triple}; #[allow(dead_code)] diff --git a/cranelift/codegen/src/isa/arm32/registers.rs b/cranelift/codegen/src/isa/arm32/registers.rs index 70549528cf..df555b4043 100644 --- a/cranelift/codegen/src/isa/arm32/registers.rs +++ b/cranelift/codegen/src/isa/arm32/registers.rs @@ -8,7 +8,7 @@ include!(concat!(env!("OUT_DIR"), "/registers-arm32.rs")); mod tests { use super::{D, GPR, INFO, S}; use crate::isa::RegUnit; - use std::string::{String, ToString}; + use alloc::string::{String, ToString}; #[test] fn unit_encodings() { diff --git a/cranelift/codegen/src/isa/arm64/mod.rs b/cranelift/codegen/src/isa/arm64/mod.rs index 71ae93c0fe..84afc33cbd 100644 --- a/cranelift/codegen/src/isa/arm64/mod.rs +++ b/cranelift/codegen/src/isa/arm64/mod.rs @@ -16,7 +16,7 @@ use crate::isa::Builder as IsaBuilder; use crate::isa::{EncInfo, RegClass, RegInfo, TargetIsa}; use crate::regalloc; use core::fmt; -use std::boxed::Box; +use alloc::boxed::Box; use target_lexicon::Triple; #[allow(dead_code)] diff --git a/cranelift/codegen/src/isa/arm64/registers.rs b/cranelift/codegen/src/isa/arm64/registers.rs index 91ca256bbe..c02f6b7d4d 100644 --- a/cranelift/codegen/src/isa/arm64/registers.rs +++ b/cranelift/codegen/src/isa/arm64/registers.rs @@ -8,7 +8,7 @@ include!(concat!(env!("OUT_DIR"), "/registers-arm64.rs")); mod tests { use super::INFO; use crate::isa::RegUnit; - use std::string::{String, ToString}; + use alloc::string::{String, ToString}; #[test] fn unit_encodings() { diff --git a/cranelift/codegen/src/isa/mod.rs b/cranelift/codegen/src/isa/mod.rs index 6457eb9ad7..8c6b3bc203 100644 --- a/cranelift/codegen/src/isa/mod.rs +++ b/cranelift/codegen/src/isa/mod.rs @@ -25,7 +25,7 @@ //! # fn main() { //! use cranelift_codegen::isa; //! use cranelift_codegen::settings::{self, Configurable}; -//! use std::str::FromStr; +//! use alloc::str::FromStr; //! use target_lexicon::Triple; //! //! let shared_builder = settings::builder(); @@ -65,7 +65,7 @@ use crate::settings::SetResult; use crate::timing; use core::fmt; use failure_derive::Fail; -use std::boxed::Box; +use alloc::boxed::Box; use target_lexicon::{triple, Architecture, PointerWidth, Triple}; #[cfg(feature = "riscv")] @@ -119,7 +119,7 @@ pub fn lookup(triple: Triple) -> Result { /// Look for a supported ISA with the given `name`. /// Return a builder that can create a corresponding `TargetIsa`. pub fn lookup_by_name(name: &str) -> Result { - use std::str::FromStr; + use alloc::str::FromStr; lookup(triple!(name)) } diff --git a/cranelift/codegen/src/isa/riscv/mod.rs b/cranelift/codegen/src/isa/riscv/mod.rs index 93ef3787f0..e4bd6c9bbd 100644 --- a/cranelift/codegen/src/isa/riscv/mod.rs +++ b/cranelift/codegen/src/isa/riscv/mod.rs @@ -16,7 +16,7 @@ use crate::isa::Builder as IsaBuilder; use crate::isa::{EncInfo, RegClass, RegInfo, TargetIsa}; use crate::regalloc; use core::fmt; -use std::boxed::Box; +use alloc::boxed::Box; use target_lexicon::{PointerWidth, Triple}; #[allow(dead_code)] @@ -138,7 +138,7 @@ mod tests { use crate::isa; use crate::settings::{self, Configurable}; use core::str::FromStr; - use std::string::{String, ToString}; + use alloc::string::{String, ToString}; use target_lexicon::triple; fn encstr(isa: &dyn isa::TargetIsa, enc: Result) -> String { diff --git a/cranelift/codegen/src/isa/riscv/registers.rs b/cranelift/codegen/src/isa/riscv/registers.rs index 4f167bae8f..9043b7f65f 100644 --- a/cranelift/codegen/src/isa/riscv/registers.rs +++ b/cranelift/codegen/src/isa/riscv/registers.rs @@ -8,7 +8,7 @@ include!(concat!(env!("OUT_DIR"), "/registers-riscv.rs")); mod tests { use super::{FPR, GPR, INFO}; use crate::isa::RegUnit; - use std::string::{String, ToString}; + use alloc::string::{String, ToString}; #[test] fn unit_encodings() { diff --git a/cranelift/codegen/src/isa/riscv/settings.rs b/cranelift/codegen/src/isa/riscv/settings.rs index 24c0e2af11..40aa3bed2b 100644 --- a/cranelift/codegen/src/isa/riscv/settings.rs +++ b/cranelift/codegen/src/isa/riscv/settings.rs @@ -12,7 +12,7 @@ include!(concat!(env!("OUT_DIR"), "/settings-riscv.rs")); mod tests { use super::{builder, Flags}; use crate::settings::{self, Configurable}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn display_default() { diff --git a/cranelift/codegen/src/isa/x86/mod.rs b/cranelift/codegen/src/isa/x86/mod.rs index 8136170cd7..35ca485bd8 100644 --- a/cranelift/codegen/src/isa/x86/mod.rs +++ b/cranelift/codegen/src/isa/x86/mod.rs @@ -18,7 +18,7 @@ use crate::regalloc; use crate::result::CodegenResult; use crate::timing; use core::fmt; -use std::boxed::Box; +use alloc::boxed::Box; use target_lexicon::{PointerWidth, Triple}; #[allow(dead_code)] diff --git a/cranelift/codegen/src/isa/x86/registers.rs b/cranelift/codegen/src/isa/x86/registers.rs index a5ebf438d4..130cf41d79 100644 --- a/cranelift/codegen/src/isa/x86/registers.rs +++ b/cranelift/codegen/src/isa/x86/registers.rs @@ -8,7 +8,7 @@ include!(concat!(env!("OUT_DIR"), "/registers-x86.rs")); mod tests { use super::*; use crate::isa::RegUnit; - use std::string::{String, ToString}; + use alloc::string::{String, ToString}; #[test] fn unit_encodings() { diff --git a/cranelift/codegen/src/iterators.rs b/cranelift/codegen/src/iterators.rs index 71cb8cbdf6..ca9c4ab26b 100644 --- a/cranelift/codegen/src/iterators.rs +++ b/cranelift/codegen/src/iterators.rs @@ -44,7 +44,7 @@ where #[cfg(test)] mod tests { - use std::vec::Vec; + use alloc::vec::Vec; #[test] fn adjpairs() { diff --git a/cranelift/codegen/src/legalizer/boundary.rs b/cranelift/codegen/src/legalizer/boundary.rs index 8912743dd5..d95d6d4239 100644 --- a/cranelift/codegen/src/legalizer/boundary.rs +++ b/cranelift/codegen/src/legalizer/boundary.rs @@ -28,7 +28,7 @@ use crate::ir::{ use crate::isa::TargetIsa; use crate::legalizer::split::{isplit, vsplit}; use log::debug; -use std::vec::Vec; +use alloc::vec::Vec; /// Legalize all the function signatures in `func`. /// diff --git a/cranelift/codegen/src/legalizer/libcall.rs b/cranelift/codegen/src/legalizer/libcall.rs index 1b11ae7593..b34a90b519 100644 --- a/cranelift/codegen/src/legalizer/libcall.rs +++ b/cranelift/codegen/src/legalizer/libcall.rs @@ -4,7 +4,7 @@ use crate::ir; use crate::ir::{get_libcall_funcref, InstBuilder}; use crate::isa::{CallConv, TargetIsa}; use crate::legalizer::boundary::legalize_libcall_signature; -use std::vec::Vec; +use alloc::vec::Vec; /// Try to expand `inst` as a library call, returning true is successful. pub fn expand_as_libcall(inst: ir::Inst, func: &mut ir::Function, isa: &dyn TargetIsa) -> bool { diff --git a/cranelift/codegen/src/legalizer/mod.rs b/cranelift/codegen/src/legalizer/mod.rs index 2fd353c7b9..f090b14008 100644 --- a/cranelift/codegen/src/legalizer/mod.rs +++ b/cranelift/codegen/src/legalizer/mod.rs @@ -21,8 +21,8 @@ use crate::ir::{self, InstBuilder, MemFlags}; use crate::isa::TargetIsa; use crate::predicates; use crate::timing; -use std::collections::BTreeSet; -use std::vec::Vec; +use alloc::collections::BTreeSet; +use alloc::vec::Vec; mod boundary; mod call; @@ -373,7 +373,7 @@ fn expand_br_table_conds( let table_size = func.jump_tables[table].len(); let mut cond_failed_ebb = vec![]; if table_size >= 1 { - cond_failed_ebb = std::vec::Vec::with_capacity(table_size - 1); + cond_failed_ebb = alloc::vec::Vec::with_capacity(table_size - 1); for _ in 0..table_size - 1 { cond_failed_ebb.push(func.dfg.make_ebb()); } diff --git a/cranelift/codegen/src/legalizer/split.rs b/cranelift/codegen/src/legalizer/split.rs index 5e55419fad..c844fba214 100644 --- a/cranelift/codegen/src/legalizer/split.rs +++ b/cranelift/codegen/src/legalizer/split.rs @@ -69,7 +69,7 @@ use crate::flowgraph::{BasicBlock, ControlFlowGraph}; use crate::ir::{self, Ebb, Inst, InstBuilder, InstructionData, Opcode, Type, Value, ValueDef}; use core::iter; use smallvec::SmallVec; -use std::vec::Vec; +use alloc::vec::Vec; /// Split `value` into two values using the `isplit` semantics. Do this by reusing existing values /// if possible. diff --git a/cranelift/codegen/src/lib.rs b/cranelift/codegen/src/lib.rs index 0e61171d14..ab22e71459 100644 --- a/cranelift/codegen/src/lib.rs +++ b/cranelift/codegen/src/lib.rs @@ -35,16 +35,15 @@ clippy::nonminimal_bool, clippy::option_map_unwrap_or, clippy::option_map_unwrap_or_else, - clippy::print_stdout, + clippy::print_allocout, clippy::unicode_not_nfc, clippy::use_self ) )] #![no_std] -#[cfg(not(feature = "std"))] -#[macro_use] -extern crate alloc as std; +extern crate alloc; + #[cfg(feature = "std")] #[macro_use] extern crate std; diff --git a/cranelift/codegen/src/licm.rs b/cranelift/codegen/src/licm.rs index 2866da87d7..284d50c5ea 100644 --- a/cranelift/codegen/src/licm.rs +++ b/cranelift/codegen/src/licm.rs @@ -11,7 +11,7 @@ use crate::ir::{ use crate::isa::TargetIsa; use crate::loop_analysis::{Loop, LoopAnalysis}; use crate::timing; -use std::vec::Vec; +use alloc::vec::Vec; /// Performs the LICM pass by detecting loops within the CFG and moving /// loop-invariant instructions out of them. diff --git a/cranelift/codegen/src/loop_analysis.rs b/cranelift/codegen/src/loop_analysis.rs index ea26332b40..40de9afdff 100644 --- a/cranelift/codegen/src/loop_analysis.rs +++ b/cranelift/codegen/src/loop_analysis.rs @@ -9,7 +9,7 @@ use crate::flowgraph::{BasicBlock, ControlFlowGraph}; use crate::ir::{Ebb, Function, Layout}; use crate::packed_option::PackedOption; use crate::timing; -use std::vec::Vec; +use alloc::vec::Vec; /// A opaque reference to a code loop. #[derive(Copy, Clone, PartialEq, Eq, Hash)] @@ -237,7 +237,7 @@ mod tests { use crate::flowgraph::ControlFlowGraph; use crate::ir::{types, Function, InstBuilder}; use crate::loop_analysis::{Loop, LoopAnalysis}; - use std::vec::Vec; + use alloc::vec::Vec; #[test] fn nested_loops_detection() { diff --git a/cranelift/codegen/src/partition_slice.rs b/cranelift/codegen/src/partition_slice.rs index a4ee129008..959f8c1102 100644 --- a/cranelift/codegen/src/partition_slice.rs +++ b/cranelift/codegen/src/partition_slice.rs @@ -53,7 +53,7 @@ where #[cfg(test)] mod tests { use super::partition_slice; - use std::vec::Vec; + use alloc::vec::Vec; fn check(x: &[u32], want: &[u32]) { assert_eq!(x.len(), want.len()); diff --git a/cranelift/codegen/src/print_errors.rs b/cranelift/codegen/src/print_errors.rs index a18b5d6955..52169a3880 100644 --- a/cranelift/codegen/src/print_errors.rs +++ b/cranelift/codegen/src/print_errors.rs @@ -10,9 +10,9 @@ use crate::verifier::{VerifierError, VerifierErrors}; use crate::write::{decorate_function, FuncWriter, PlainWriter}; use core::fmt; use core::fmt::Write; -use std::boxed::Box; -use std::string::{String, ToString}; -use std::vec::Vec; +use alloc::boxed::Box; +use alloc::string::{String, ToString}; +use alloc::vec::Vec; /// Pretty-print a verifier error. pub fn pretty_verifier_error<'a>( diff --git a/cranelift/codegen/src/redundant_reload_remover.rs b/cranelift/codegen/src/redundant_reload_remover.rs index 9bcc3fbc9d..a0b6764454 100644 --- a/cranelift/codegen/src/redundant_reload_remover.rs +++ b/cranelift/codegen/src/redundant_reload_remover.rs @@ -14,7 +14,7 @@ use crate::isa::{RegInfo, RegUnit, TargetIsa}; use crate::regalloc::RegDiversions; use core::convert::TryInto; use cranelift_entity::{PrimaryMap, SecondaryMap}; -use std::vec::Vec; +use alloc::vec::Vec; // ============================================================================================= // A description of the redundant-fill-removal algorithm diff --git a/cranelift/codegen/src/regalloc/branch_splitting.rs b/cranelift/codegen/src/regalloc/branch_splitting.rs index a3f118b3d6..3a9e6c87bc 100644 --- a/cranelift/codegen/src/regalloc/branch_splitting.rs +++ b/cranelift/codegen/src/regalloc/branch_splitting.rs @@ -4,7 +4,7 @@ //! between a conditional branch and the following terminator. #![cfg(feature = "basic-blocks")] -use std::vec::Vec; +use alloc::vec::Vec; use crate::cursor::{Cursor, EncCursor}; use crate::dominator_tree::DominatorTree; diff --git a/cranelift/codegen/src/regalloc/coalescing.rs b/cranelift/codegen/src/regalloc/coalescing.rs index b27a105d65..11846ff45b 100644 --- a/cranelift/codegen/src/regalloc/coalescing.rs +++ b/cranelift/codegen/src/regalloc/coalescing.rs @@ -22,7 +22,7 @@ use core::fmt; use core::iter; use core::slice; use log::debug; -use std::vec::Vec; +use alloc::vec::Vec; // # Implementation // diff --git a/cranelift/codegen/src/regalloc/live_value_tracker.rs b/cranelift/codegen/src/regalloc/live_value_tracker.rs index 5e17bb3557..7faed970a7 100644 --- a/cranelift/codegen/src/regalloc/live_value_tracker.rs +++ b/cranelift/codegen/src/regalloc/live_value_tracker.rs @@ -12,7 +12,7 @@ use crate::partition_slice::partition_slice; use crate::regalloc::affinity::Affinity; use crate::regalloc::liveness::Liveness; use crate::regalloc::liverange::LiveRange; -use std::vec::Vec; +use alloc::vec::Vec; type ValueList = EntityList; diff --git a/cranelift/codegen/src/regalloc/liveness.rs b/cranelift/codegen/src/regalloc/liveness.rs index 419e35bc98..ba7ce60459 100644 --- a/cranelift/codegen/src/regalloc/liveness.rs +++ b/cranelift/codegen/src/regalloc/liveness.rs @@ -185,7 +185,7 @@ use crate::regalloc::liverange::LiveRange; use crate::timing; use core::mem; use core::ops::Index; -use std::vec::Vec; +use alloc::vec::Vec; /// A set of live ranges, indexed by value number. type LiveRangeSet = SparseMap; diff --git a/cranelift/codegen/src/regalloc/liverange.rs b/cranelift/codegen/src/regalloc/liverange.rs index 1d30650fa1..5ababa53b4 100644 --- a/cranelift/codegen/src/regalloc/liverange.rs +++ b/cranelift/codegen/src/regalloc/liverange.rs @@ -477,7 +477,7 @@ mod tests { use crate::ir::{Ebb, Inst, Value}; use crate::ir::{ExpandedProgramPoint, ProgramOrder}; use core::cmp::Ordering; - use std::vec::Vec; + use alloc::vec::Vec; // Dummy program order which simply compares indexes. // It is assumed that EBBs have indexes that are multiples of 10, and instructions have indexes diff --git a/cranelift/codegen/src/regalloc/pressure.rs b/cranelift/codegen/src/regalloc/pressure.rs index 3b15a1c6e2..2cac3bd804 100644 --- a/cranelift/codegen/src/regalloc/pressure.rs +++ b/cranelift/codegen/src/regalloc/pressure.rs @@ -277,7 +277,7 @@ mod tests { use crate::regalloc::RegisterSet; use core::borrow::Borrow; use core::str::FromStr; - use std::boxed::Box; + use alloc::boxed::Box; use target_lexicon::triple; // Make an arm32 `TargetIsa`, if possible. diff --git a/cranelift/codegen/src/regalloc/register_set.rs b/cranelift/codegen/src/regalloc/register_set.rs index e5edaa96d6..52b8a6fa0a 100644 --- a/cranelift/codegen/src/regalloc/register_set.rs +++ b/cranelift/codegen/src/regalloc/register_set.rs @@ -255,7 +255,7 @@ impl fmt::Display for RegisterSet { mod tests { use super::*; use crate::isa::registers::{RegClass, RegClassData}; - use std::vec::Vec; + use alloc::vec::Vec; // Register classes for testing. const GPR: RegClass = &RegClassData { diff --git a/cranelift/codegen/src/regalloc/reload.rs b/cranelift/codegen/src/regalloc/reload.rs index bbc198c45d..ed04e4fc64 100644 --- a/cranelift/codegen/src/regalloc/reload.rs +++ b/cranelift/codegen/src/regalloc/reload.rs @@ -22,7 +22,7 @@ use crate::regalloc::liveness::Liveness; use crate::timing; use crate::topo_order::TopoOrder; use log::debug; -use std::vec::Vec; +use alloc::vec::Vec; /// Reusable data structures for the reload pass. pub struct Reload { diff --git a/cranelift/codegen/src/regalloc/safepoint.rs b/cranelift/codegen/src/regalloc/safepoint.rs index 9b27b6227d..ba846190f3 100644 --- a/cranelift/codegen/src/regalloc/safepoint.rs +++ b/cranelift/codegen/src/regalloc/safepoint.rs @@ -4,7 +4,7 @@ use crate::ir::{Function, InstBuilder, InstructionData, Opcode, TrapCode}; use crate::isa::TargetIsa; use crate::regalloc::live_value_tracker::LiveValueTracker; use crate::regalloc::liveness::Liveness; -use std::vec::Vec; +use alloc::vec::Vec; fn insert_and_encode_safepoint<'f>( pos: &mut FuncCursor<'f>, diff --git a/cranelift/codegen/src/regalloc/solver.rs b/cranelift/codegen/src/regalloc/solver.rs index 35e17b050d..8d651f143c 100644 --- a/cranelift/codegen/src/regalloc/solver.rs +++ b/cranelift/codegen/src/regalloc/solver.rs @@ -109,7 +109,7 @@ use core::fmt; use core::mem; use core::u16; use log::debug; -use std::vec::Vec; +use alloc::vec::Vec; /// A variable in the constraint problem. /// @@ -1160,7 +1160,7 @@ mod tests { use crate::isa::{RegClass, RegInfo, RegUnit, TargetIsa}; use crate::regalloc::RegisterSet; use core::str::FromStr; - use std::boxed::Box; + use alloc::boxed::Box; use target_lexicon::triple; // Make an arm32 `TargetIsa`, if possible. diff --git a/cranelift/codegen/src/regalloc/spilling.rs b/cranelift/codegen/src/regalloc/spilling.rs index ace368d798..3b42bcb5e5 100644 --- a/cranelift/codegen/src/regalloc/spilling.rs +++ b/cranelift/codegen/src/regalloc/spilling.rs @@ -29,7 +29,7 @@ use crate::timing; use crate::topo_order::TopoOrder; use core::fmt; use log::debug; -use std::vec::Vec; +use alloc::vec::Vec; /// Return a top-level register class which contains `unit`. fn toprc_containing_regunit(unit: RegUnit, reginfo: &RegInfo) -> RegClass { diff --git a/cranelift/codegen/src/regalloc/virtregs.rs b/cranelift/codegen/src/regalloc/virtregs.rs index df2b480490..e3944b3cc2 100644 --- a/cranelift/codegen/src/regalloc/virtregs.rs +++ b/cranelift/codegen/src/regalloc/virtregs.rs @@ -22,7 +22,7 @@ use core::cmp::Ordering; use core::fmt; use core::slice; use smallvec::SmallVec; -use std::vec::Vec; +use alloc::vec::Vec; /// A virtual register reference. #[derive(Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] diff --git a/cranelift/codegen/src/settings.rs b/cranelift/codegen/src/settings.rs index c310972170..99e1562cc5 100644 --- a/cranelift/codegen/src/settings.rs +++ b/cranelift/codegen/src/settings.rs @@ -25,8 +25,8 @@ use crate::isa::TargetIsa; use core::fmt; use core::str; use failure_derive::Fail; -use std::boxed::Box; -use std::string::{String, ToString}; +use alloc::boxed::Box; +use alloc::string::{String, ToString}; /// A string-based configurator for settings groups. /// @@ -369,7 +369,7 @@ mod tests { use super::Configurable; use super::SetError::*; use super::{builder, Flags}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn display_default() { diff --git a/cranelift/codegen/src/simple_gvn.rs b/cranelift/codegen/src/simple_gvn.rs index 21a0b9beb9..f88f6f7a5c 100644 --- a/cranelift/codegen/src/simple_gvn.rs +++ b/cranelift/codegen/src/simple_gvn.rs @@ -7,7 +7,7 @@ use crate::scoped_hash_map::ScopedHashMap; use crate::timing; use core::cell::{Ref, RefCell}; use core::hash::{Hash, Hasher}; -use std::vec::Vec; +use alloc::vec::Vec; /// Test whether the given opcode is unsafe to even consider for GVN. fn trivially_unsafe_for_gvn(opcode: Opcode) -> bool { diff --git a/cranelift/codegen/src/timing.rs b/cranelift/codegen/src/timing.rs index 2a2d393803..34ba801593 100644 --- a/cranelift/codegen/src/timing.rs +++ b/cranelift/codegen/src/timing.rs @@ -252,7 +252,7 @@ mod details { #[cfg(test)] mod tests { use super::*; - use std::string::ToString; + use alloc::string::ToString; #[test] fn display() { diff --git a/cranelift/codegen/src/topo_order.rs b/cranelift/codegen/src/topo_order.rs index 8824f4cc0a..647a8da941 100644 --- a/cranelift/codegen/src/topo_order.rs +++ b/cranelift/codegen/src/topo_order.rs @@ -3,7 +3,7 @@ use crate::dominator_tree::DominatorTree; use crate::entity::EntitySet; use crate::ir::{Ebb, Layout}; -use std::vec::Vec; +use alloc::vec::Vec; /// Present EBBs in a topological order such that all dominating EBBs are guaranteed to be visited /// before the current EBB. diff --git a/cranelift/codegen/src/value_label.rs b/cranelift/codegen/src/value_label.rs index 3d5802f12e..e11df7b9e8 100644 --- a/cranelift/codegen/src/value_label.rs +++ b/cranelift/codegen/src/value_label.rs @@ -6,8 +6,8 @@ use core::cmp::Ordering; use core::iter::Iterator; use core::ops::Bound::*; use core::ops::Deref; -use std::collections::BTreeMap; -use std::vec::Vec; +use alloc::collections::BTreeMap; +use alloc::vec::Vec; #[cfg(feature = "enable-serde")] use serde::{Deserialize, Serialize}; diff --git a/cranelift/codegen/src/verifier/mod.rs b/cranelift/codegen/src/verifier/mod.rs index 02cc3f0c52..fe9f1b10de 100644 --- a/cranelift/codegen/src/verifier/mod.rs +++ b/cranelift/codegen/src/verifier/mod.rs @@ -75,9 +75,9 @@ use crate::timing; use core::cmp::Ordering; use core::fmt::{self, Display, Formatter, Write}; use failure_derive::Fail; -use std::collections::BTreeSet; -use std::string::String; -use std::vec::Vec; +use alloc::collections::BTreeSet; +use alloc::string::String; +use alloc::vec::Vec; pub use self::cssa::verify_cssa; pub use self::liveness::verify_liveness; diff --git a/cranelift/codegen/src/write.rs b/cranelift/codegen/src/write.rs index 8f5f81d23e..bc4e4ca58c 100644 --- a/cranelift/codegen/src/write.rs +++ b/cranelift/codegen/src/write.rs @@ -15,8 +15,8 @@ use crate::packed_option::ReservedValue; use crate::value_label::ValueLabelsRanges; use crate::HashSet; use core::fmt::{self, Write}; -use std::string::String; -use std::vec::Vec; +use alloc::string::String; +use alloc::vec::Vec; /// A `FuncWriter` used to decorate functions during printing. pub trait FuncWriter { @@ -759,7 +759,7 @@ mod tests { use crate::cursor::{Cursor, CursorPosition, FuncCursor}; use crate::ir::types; use crate::ir::{ExternalName, Function, InstBuilder, StackSlotData, StackSlotKind}; - use std::string::ToString; + use alloc::string::ToString; #[test] fn basic() {