Chaos mode MVP: Skip branch optimization in MachBuffer (#6039)
* fuzz: Add chaos mode control plane Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fuzz: Skip branch optimization with chaos mode Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fuzz: Rename chaos engine -> control plane Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * chaos mode: refactoring ControlPlane to be passed through the call stack by reference Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Remo Senekowitsch <contact@remsle.dev> * fuzz: annotate chaos todos Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fuzz: cleanup control plane Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fuzz: remove control plane from compiler context Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fuzz: move control plane into emit state Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fuzz: fix remaining compiler errors Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * fix tests * refactor emission state ctrl plane accessors Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * centralize conditional compilation of chaos mode Also cleanup a few straggling dependencies on cranelift-control that aren't needed anymore. Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * add cranelift-control to published crates prtest:full Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> * add cranelift-control to public crates Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> --------- Co-authored-by: Falk Zwimpfer <24669719+FalkZ@users.noreply.github.com> Co-authored-by: Moritz Waser <mzrw.dev@pm.me> Co-authored-by: Remo Senekowitsch <contact@remsle.dev>
This commit is contained in:
committed by
GitHub
parent
064968b01d
commit
7eb8914090
@@ -9,7 +9,7 @@ use cranelift_codegen::{
|
||||
emit::{EmitInfo, EmitState},
|
||||
ALUOp, AMode, ExtendOp, Imm12, Inst, PairAMode,
|
||||
},
|
||||
settings, Final, MachBuffer, MachBufferFinalized, MachInstEmit, Writable,
|
||||
settings, Final, MachBuffer, MachBufferFinalized, MachInstEmit, MachInstEmitState, Writable,
|
||||
};
|
||||
|
||||
/// An Aarch64 instruction operand.
|
||||
@@ -58,8 +58,8 @@ impl Assembler {
|
||||
|
||||
impl Assembler {
|
||||
/// Return the emitted code.
|
||||
pub fn finalize(self) -> MachBufferFinalized<Final> {
|
||||
let stencil = self.buffer.finish();
|
||||
pub fn finalize(mut self) -> MachBufferFinalized<Final> {
|
||||
let stencil = self.buffer.finish(self.emit_state.ctrl_plane_mut());
|
||||
stencil.apply_base_srcloc(Default::default())
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ use cranelift_codegen::{
|
||||
},
|
||||
settings as x64_settings, CallInfo, EmitInfo, EmitState, Inst,
|
||||
},
|
||||
settings, Final, MachBuffer, MachBufferFinalized, MachInstEmit, Writable,
|
||||
settings, Final, MachBuffer, MachBufferFinalized, MachInstEmit, MachInstEmitState, Writable,
|
||||
};
|
||||
|
||||
use super::{address::Address, regs};
|
||||
@@ -98,8 +98,8 @@ impl Assembler {
|
||||
}
|
||||
|
||||
/// Return the emitted code.
|
||||
pub fn finalize(self) -> MachBufferFinalized<Final> {
|
||||
let stencil = self.buffer.finish();
|
||||
pub fn finalize(mut self) -> MachBufferFinalized<Final> {
|
||||
let stencil = self.buffer.finish(self.emit_state.ctrl_plane_mut());
|
||||
stencil.apply_base_srcloc(Default::default())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user