@@ -34,31 +34,6 @@ enum CValueInner {
34
34
ByValPair ( Value , Value ) ,
35
35
}
36
36
37
- fn store_scalar < ' a , ' tcx : ' a > ( fx : & mut FunctionCx < ' a , ' tcx , impl Backend > , value : Value , addr : Value , offset : i32 ) {
38
- if fx. bcx . func . dfg . value_type ( value) == types:: I128 {
39
- let ( a, b) = fx. bcx . ins ( ) . isplit ( value) ;
40
- fx. bcx . ins ( ) . store ( MemFlags :: new ( ) , a, addr, offset) ;
41
- fx. bcx . ins ( ) . store ( MemFlags :: new ( ) , b, addr, offset + 8 ) ;
42
- } else {
43
- fx. bcx . ins ( ) . store ( MemFlags :: new ( ) , value, addr, offset) ;
44
- }
45
- }
46
-
47
- fn load_scalar < ' a , ' tcx : ' a > (
48
- fx : & mut FunctionCx < ' a , ' tcx , impl Backend > ,
49
- clif_ty : Type ,
50
- addr : Value ,
51
- offset : i32 ,
52
- ) -> Value {
53
- if clif_ty == types:: I128 {
54
- let a = fx. bcx . ins ( ) . load ( types:: I64 , MemFlags :: new ( ) , addr, offset) ;
55
- let b = fx. bcx . ins ( ) . load ( types:: I64 , MemFlags :: new ( ) , addr, offset + 8 ) ;
56
- fx. bcx . ins ( ) . iconcat ( a, b)
57
- } else {
58
- fx. bcx . ins ( ) . load ( clif_ty, MemFlags :: new ( ) , addr, offset)
59
- }
60
- }
61
-
62
37
impl < ' tcx > CValue < ' tcx > {
63
38
pub fn by_ref ( value : Value , layout : TyLayout < ' tcx > ) -> CValue < ' tcx > {
64
39
CValue ( CValueInner :: ByRef ( value) , layout)
@@ -104,7 +79,7 @@ impl<'tcx> CValue<'tcx> {
104
79
_ => unreachable ! ( ) ,
105
80
} ;
106
81
let clif_ty = scalar_to_clif_type ( fx. tcx , scalar) ;
107
- load_scalar ( fx , clif_ty , addr, 0 )
82
+ fx . bcx . ins ( ) . load ( clif_ty , MemFlags :: new ( ) , addr, 0 )
108
83
}
109
84
CValueInner :: ByVal ( value) => value,
110
85
CValueInner :: ByValPair ( _, _) => bug ! ( "Please use load_scalar_pair for ByValPair" ) ,
@@ -126,10 +101,10 @@ impl<'tcx> CValue<'tcx> {
126
101
let b_offset = scalar_pair_calculate_b_offset ( fx. tcx , a_scalar, b_scalar) ;
127
102
let clif_ty1 = scalar_to_clif_type ( fx. tcx , a_scalar. clone ( ) ) ;
128
103
let clif_ty2 = scalar_to_clif_type ( fx. tcx , b_scalar. clone ( ) ) ;
129
- let val1 = load_scalar ( fx, clif_ty1, addr, 0 ) ;
130
- let val2 = load_scalar (
131
- fx,
104
+ let val1 = fx. bcx . ins ( ) . load ( clif_ty1, MemFlags :: new ( ) , addr, 0 ) ;
105
+ let val2 = fx. bcx . ins ( ) . load (
132
106
clif_ty2,
107
+ MemFlags :: new ( ) ,
133
108
addr,
134
109
b_offset,
135
110
) ;
@@ -389,15 +364,15 @@ impl<'a, 'tcx: 'a> CPlace<'tcx> {
389
364
390
365
match from. 0 {
391
366
CValueInner :: ByVal ( val) => {
392
- store_scalar ( fx , val, addr, 0 ) ;
367
+ fx . bcx . ins ( ) . store ( MemFlags :: new ( ) , val, addr, 0 ) ;
393
368
}
394
369
CValueInner :: ByValPair ( value, extra) => {
395
370
match dst_layout. abi {
396
371
Abi :: ScalarPair ( ref a_scalar, ref b_scalar) => {
397
372
let b_offset = scalar_pair_calculate_b_offset ( fx. tcx , a_scalar, b_scalar) ;
398
- store_scalar ( fx , value, addr, 0 ) ;
399
- store_scalar (
400
- fx ,
373
+ fx . bcx . ins ( ) . store ( MemFlags :: new ( ) , value, addr, 0 ) ;
374
+ fx . bcx . ins ( ) . store (
375
+ MemFlags :: new ( ) ,
401
376
extra,
402
377
addr,
403
378
b_offset,
0 commit comments