Merge pull request #2364 from fitzgen/peepmatic-rebuild-test
peepmatic: Make the test-we-can-get-and-rebuild peephole optimizers test work on arm64
This commit is contained in:
@@ -1312,19 +1312,31 @@ unsafe impl<'a, 'b> InstructionSet<'b> for &'a dyn TargetIsa {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[cfg(feature = "x86")]
|
||||
#[cfg(any(feature = "x64", feature = "x86", feature = "arm64"))]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::isa::lookup;
|
||||
use crate::isa::{lookup, TargetIsa};
|
||||
use crate::settings::{builder, Flags};
|
||||
use std::str::FromStr;
|
||||
use target_lexicon::triple;
|
||||
|
||||
fn isa() -> Box<dyn TargetIsa> {
|
||||
// We need a triple to instantiate and run the peephole optimizer, but we
|
||||
// don't care which one when we're just trying to trigger a rebuild of the
|
||||
// peephole optimizer (it doesn't affect the serialized bytes at all).
|
||||
let triple = if cfg!(any(feature = "x64", feature = "x86")) {
|
||||
triple!("x86_64")
|
||||
} else if cfg!(feature = "arm64") {
|
||||
triple!("aarch64")
|
||||
} else {
|
||||
panic!("unknown arch")
|
||||
};
|
||||
lookup(triple).unwrap().finish(Flags::new(builder()))
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_peepmatic_preopt() {
|
||||
let isa = lookup(triple!("x86_64"))
|
||||
.expect("expect x86 ISA")
|
||||
.finish(Flags::new(builder()));
|
||||
let isa = isa();
|
||||
let _ = preopt(&*isa);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user