@@ -777,6 +777,12 @@ pub enum StatementKind<'tcx> {
777
777
/// End the current live range for the storage of the local.
778
778
StorageDead ( Lvalue < ' tcx > ) ,
779
779
780
+ InlineAsm {
781
+ asm : InlineAsm ,
782
+ outputs : Vec < Lvalue < ' tcx > > ,
783
+ inputs : Vec < Operand < ' tcx > >
784
+ } ,
785
+
780
786
/// No-op. Useful for deleting instructions without affecting statement indices.
781
787
Nop ,
782
788
}
@@ -790,7 +796,10 @@ impl<'tcx> Debug for Statement<'tcx> {
790
796
StorageDead ( ref lv) => write ! ( fmt, "StorageDead({:?})" , lv) ,
791
797
SetDiscriminant { lvalue : ref lv, variant_index : index} => {
792
798
write ! ( fmt, "discriminant({:?}) = {:?}" , lv, index)
793
- }
799
+ } ,
800
+ InlineAsm { ref asm, ref outputs, ref inputs } => {
801
+ write ! ( fmt, "asm!({:?} : {:?} : {:?})" , asm, outputs, inputs)
802
+ } ,
794
803
Nop => write ! ( fmt, "nop" ) ,
795
804
}
796
805
}
@@ -1004,12 +1013,6 @@ pub enum Rvalue<'tcx> {
1004
1013
/// that `Foo` has a destructor. These rvalues can be optimized
1005
1014
/// away after type-checking and before lowering.
1006
1015
Aggregate ( AggregateKind < ' tcx > , Vec < Operand < ' tcx > > ) ,
1007
-
1008
- InlineAsm {
1009
- asm : InlineAsm ,
1010
- outputs : Vec < Lvalue < ' tcx > > ,
1011
- inputs : Vec < Operand < ' tcx > >
1012
- }
1013
1016
}
1014
1017
1015
1018
#[ derive( Clone , Copy , Debug , PartialEq , Eq , RustcEncodable , RustcDecodable ) ]
@@ -1111,10 +1114,6 @@ impl<'tcx> Debug for Rvalue<'tcx> {
1111
1114
UnaryOp ( ref op, ref a) => write ! ( fmt, "{:?}({:?})" , op, a) ,
1112
1115
Discriminant ( ref lval) => write ! ( fmt, "discriminant({:?})" , lval) ,
1113
1116
Box ( ref t) => write ! ( fmt, "Box({:?})" , t) ,
1114
- InlineAsm { ref asm, ref outputs, ref inputs } => {
1115
- write ! ( fmt, "asm!({:?} : {:?} : {:?})" , asm, outputs, inputs)
1116
- }
1117
-
1118
1117
Ref ( _, borrow_kind, ref lv) => {
1119
1118
let kind_str = match borrow_kind {
1120
1119
BorrowKind :: Shared => "" ,
0 commit comments