Browse Source

Make MachBackend::triple return &Triple

This avoids an unnecessary clone
pull/3639/head
bjorn3 3 years ago
parent
commit
8d1fc75b6b
  1. 4
      cranelift/codegen/src/isa/aarch64/mod.rs
  2. 4
      cranelift/codegen/src/isa/arm32/mod.rs
  3. 4
      cranelift/codegen/src/isa/s390x/mod.rs
  4. 4
      cranelift/codegen/src/isa/x64/mod.rs
  5. 5
      cranelift/codegen/src/machinst/adapter.rs
  6. 2
      cranelift/codegen/src/machinst/mod.rs

4
cranelift/codegen/src/isa/aarch64/mod.rs

@ -98,8 +98,8 @@ impl MachBackend for AArch64Backend {
"aarch64"
}
fn triple(&self) -> Triple {
self.triple.clone()
fn triple(&self) -> &Triple {
&self.triple
}
fn flags(&self) -> &shared_settings::Flags {

4
cranelift/codegen/src/isa/arm32/mod.rs

@ -88,8 +88,8 @@ impl MachBackend for Arm32Backend {
"arm32"
}
fn triple(&self) -> Triple {
self.triple.clone()
fn triple(&self) -> &Triple {
&self.triple
}
fn flags(&self) -> &settings::Flags {

4
cranelift/codegen/src/isa/s390x/mod.rs

@ -101,8 +101,8 @@ impl MachBackend for S390xBackend {
"s390x"
}
fn triple(&self) -> Triple {
self.triple.clone()
fn triple(&self) -> &Triple {
&self.triple
}
fn flags(&self) -> &shared_settings::Flags {

4
cranelift/codegen/src/isa/x64/mod.rs

@ -98,8 +98,8 @@ impl MachBackend for X64Backend {
"x64"
}
fn triple(&self) -> Triple {
self.triple.clone()
fn triple(&self) -> &Triple {
&self.triple
}
fn reg_universe(&self) -> &RealRegUniverse {

5
cranelift/codegen/src/machinst/adapter.rs

@ -14,16 +14,13 @@ use target_lexicon::Triple;
/// A wrapper around a `MachBackend` that provides a `TargetIsa` impl.
pub struct TargetIsaAdapter {
backend: Box<dyn MachBackend + Send + Sync + 'static>,
triple: Triple,
}
impl TargetIsaAdapter {
/// Create a new `TargetIsa` wrapper around a `MachBackend`.
pub fn new<B: MachBackend + Send + Sync + 'static>(backend: B) -> TargetIsaAdapter {
let triple = backend.triple();
TargetIsaAdapter {
backend: Box::new(backend),
triple,
}
}
}
@ -44,7 +41,7 @@ impl TargetIsa for TargetIsaAdapter {
}
fn triple(&self) -> &Triple {
&self.triple
self.backend.triple()
}
fn flags(&self) -> &Flags {

2
cranelift/codegen/src/machinst/mod.rs

@ -390,7 +390,7 @@ pub trait MachBackend {
fn isa_flags(&self) -> Vec<settings::Value>;
/// Return triple for this backend.
fn triple(&self) -> Triple;
fn triple(&self) -> &Triple;
/// Return name for this backend.
fn name(&self) -> &'static str;

Loading…
Cancel
Save