@@ -93,23 +93,26 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
93
93
return ;
94
94
}
95
95
96
- if let OperandValue :: Immediate ( v) = cg_elem. val {
97
- let start = dest. val . llval ;
98
- let size = bx. const_usize ( dest. layout . size . bytes ( ) ) ;
99
-
100
- // Use llvm.memset.p0i8.* to initialize all zero arrays
101
- if bx. cx ( ) . const_to_opt_u128 ( v, false ) == Some ( 0 ) {
102
- let fill = bx. cx ( ) . const_u8 ( 0 ) ;
103
- bx. memset ( start, fill, size, dest. val . align , MemFlags :: empty ( ) ) ;
104
- return ;
105
- }
96
+ match cg_elem. val {
97
+ OperandValue :: Immediate ( v) => {
98
+ let start = dest. val . llval ;
99
+ let size = bx. const_usize ( dest. layout . size . bytes ( ) ) ;
100
+
101
+ // Use llvm.memset.p0i8.* to initialize all zero arrays
102
+ if bx. cx ( ) . const_to_opt_u128 ( v, false ) == Some ( 0 ) {
103
+ let fill = bx. cx ( ) . const_u8 ( 0 ) ;
104
+ bx. memset ( start, fill, size, dest. val . align , MemFlags :: empty ( ) ) ;
105
+ return ;
106
+ }
106
107
107
- // Use llvm.memset.p0i8.* to initialize byte arrays
108
- let v = bx. from_immediate ( v) ;
109
- if bx. cx ( ) . val_ty ( v) == bx. cx ( ) . type_i8 ( ) {
110
- bx. memset ( start, v, size, dest. val . align , MemFlags :: empty ( ) ) ;
111
- return ;
108
+ // Use llvm.memset.p0i8.* to initialize byte arrays
109
+ let v = bx. from_immediate ( v) ;
110
+ if bx. cx ( ) . val_ty ( v) == bx. cx ( ) . type_i8 ( ) {
111
+ bx. memset ( start, v, size, dest. val . align , MemFlags :: empty ( ) ) ;
112
+ return ;
113
+ }
112
114
}
115
+ _ => ( ) ,
113
116
}
114
117
115
118
let count = self
0 commit comments