Skip to content

Commit 110a34c

Browse files
committed
Use get_dataptr() and get_meta() where appropriate
1 parent d80ff12 commit 110a34c

File tree

5 files changed

+16
-21
lines changed

5 files changed

+16
-21
lines changed

src/librustc_trans/trans/_match.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ pub use self::TransBindingMode::*;
188188
use self::Opt::*;
189189
use self::FailureHandler::*;
190190

191-
use back::abi;
192191
use llvm::{ValueRef, BasicBlockRef};
193192
use middle::check_match::StaticInliner;
194193
use middle::check_match;
@@ -730,9 +729,8 @@ fn bind_subslice_pat(bcx: Block,
730729
let slice_ty = bcx.tcx().mk_imm_ref(bcx.tcx().mk_region(ty::ReStatic),
731730
bcx.tcx().mk_slice(unit_ty));
732731
let scratch = rvalue_scratch_datum(bcx, slice_ty, "");
733-
Store(bcx, slice_begin,
734-
GEPi(bcx, scratch.val, &[0, abi::FAT_PTR_ADDR]));
735-
Store(bcx, slice_len, GEPi(bcx, scratch.val, &[0, abi::FAT_PTR_EXTRA]));
732+
Store(bcx, slice_begin, expr::get_dataptr(bcx, scratch.val));
733+
Store(bcx, slice_len, expr::get_meta(bcx, scratch.val));
736734
scratch.val
737735
}
738736

@@ -909,14 +907,14 @@ fn compare_values<'blk, 'tcx>(cx: Block<'blk, 'tcx>,
909907
let ty_str_slice = cx.tcx().mk_static_str();
910908

911909
let rhs_str = alloc_ty(cx, ty_str_slice, "rhs_str");
912-
Store(cx, GEPi(cx, rhs, &[0, 0]), expr::get_dataptr(cx, rhs_str));
910+
Store(cx, expr::get_dataptr(cx, rhs), expr::get_dataptr(cx, rhs_str));
913911
Store(cx, C_uint(cx.ccx(), pat_len), expr::get_meta(cx, rhs_str));
914912

915913
let lhs_str;
916914
if val_ty(lhs) == val_ty(rhs) {
917915
// Both the discriminant and the pattern are thin pointers
918916
lhs_str = alloc_ty(cx, ty_str_slice, "lhs_str");
919-
Store(cx, GEPi(cx, lhs, &[0, 0]), expr::get_dataptr(cx, lhs_str));
917+
Store(cx, expr::get_dataptr(cx, lhs), expr::get_dataptr(cx, lhs_str));
920918
Store(cx, C_uint(cx.ccx(), pat_len), expr::get_meta(cx, lhs_str));
921919
}
922920
else {

src/librustc_trans/trans/base.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -403,8 +403,8 @@ pub fn iter_structural_ty<'blk, 'tcx, F>(cx: Block<'blk, 'tcx>,
403403
let (data_ptr, info) = if common::type_is_sized(cx.tcx(), t) {
404404
(av, None)
405405
} else {
406-
let data = GEPi(cx, av, &[0, abi::FAT_PTR_ADDR]);
407-
let info = GEPi(cx, av, &[0, abi::FAT_PTR_EXTRA]);
406+
let data = expr::get_dataptr(cx, av);
407+
let info = expr::get_meta(cx, av);
408408
(Load(cx, data), Some(Load(cx, info)))
409409
};
410410

@@ -420,8 +420,8 @@ pub fn iter_structural_ty<'blk, 'tcx, F>(cx: Block<'blk, 'tcx>,
420420
llfld_a
421421
} else {
422422
let scratch = datum::rvalue_scratch_datum(cx, field_ty, "__fat_ptr_iter");
423-
Store(cx, llfld_a, GEPi(cx, scratch.val, &[0, abi::FAT_PTR_ADDR]));
424-
Store(cx, info.unwrap(), GEPi(cx, scratch.val, &[0, abi::FAT_PTR_EXTRA]));
423+
Store(cx, llfld_a, expr::get_dataptr(cx, scratch.val));
424+
Store(cx, info.unwrap(), expr::get_meta(cx, scratch.val));
425425
scratch.val
426426
};
427427
cx = f(cx, val, field_ty);

src/librustc_trans/trans/glue.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// Code relating to drop glue.
1414

1515

16-
use back::abi;
1716
use back::link::*;
1817
use llvm;
1918
use llvm::{ValueRef, get_param};
@@ -524,14 +523,14 @@ fn make_drop_glue<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, v0: ValueRef, g: DropGlueK
524523
// a safe-guard, assert TyBox not used with TyContents.
525524
assert!(!skip_dtor);
526525
if !type_is_sized(bcx.tcx(), content_ty) {
527-
let llval = GEPi(bcx, v0, &[0, abi::FAT_PTR_ADDR]);
526+
let llval = expr::get_dataptr(bcx, v0);
528527
let llbox = Load(bcx, llval);
529528
let llbox_as_usize = PtrToInt(bcx, llbox, Type::int(bcx.ccx()));
530529
let drop_flag_not_dropped_already =
531530
ICmp(bcx, llvm::IntNE, llbox_as_usize, dropped_pattern, DebugLoc::None);
532531
with_cond(bcx, drop_flag_not_dropped_already, |bcx| {
533532
let bcx = drop_ty(bcx, v0, content_ty, DebugLoc::None);
534-
let info = GEPi(bcx, v0, &[0, abi::FAT_PTR_EXTRA]);
533+
let info = expr::get_meta(bcx, v0);
535534
let info = Load(bcx, info);
536535
let (llsize, llalign) = size_and_align_of_dst(bcx, content_ty, info);
537536

@@ -590,8 +589,8 @@ fn make_drop_glue<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, v0: ValueRef, g: DropGlueK
590589
// versus without calling Drop::drop. Assert caller is
591590
// okay with always calling the Drop impl, if any.
592591
assert!(!skip_dtor);
593-
let data_ptr = GEPi(bcx, v0, &[0, abi::FAT_PTR_ADDR]);
594-
let vtable_ptr = Load(bcx, GEPi(bcx, v0, &[0, abi::FAT_PTR_EXTRA]));
592+
let data_ptr = expr::get_dataptr(bcx, v0);
593+
let vtable_ptr = Load(bcx, expr::get_meta(bcx, v0));
595594
let dtor = Load(bcx, vtable_ptr);
596595
Call(bcx,
597596
dtor,

src/librustc_trans/trans/meth.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
// except according to those terms.
1010

1111
use arena::TypedArena;
12-
use back::abi;
1312
use back::link;
1413
use llvm::{ValueRef, get_params};
1514
use middle::subst::{Subst, Substs};
@@ -445,8 +444,8 @@ fn trans_trait_callee<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
445444
self_datum.val
446445
};
447446

448-
let llself = Load(bcx, GEPi(bcx, llval, &[0, abi::FAT_PTR_ADDR]));
449-
let llvtable = Load(bcx, GEPi(bcx, llval, &[0, abi::FAT_PTR_EXTRA]));
447+
let llself = Load(bcx, expr::get_dataptr(bcx, llval));
448+
let llvtable = Load(bcx, expr::get_meta(bcx, llval));
450449
trans_trait_callee_from_llval(bcx, opaque_fn_ty, vtable_index, llself, llvtable)
451450
}
452451

src/librustc_trans/trans/tvec.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
#![allow(non_camel_case_types)]
1212

13-
use back::abi;
1413
use llvm;
1514
use llvm::ValueRef;
1615
use trans::base::*;
@@ -147,8 +146,8 @@ pub fn trans_lit_str<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
147146
let llbytes = C_uint(bcx.ccx(), bytes);
148147
let llcstr = C_cstr(bcx.ccx(), str_lit, false);
149148
let llcstr = consts::ptrcast(llcstr, Type::i8p(bcx.ccx()));
150-
Store(bcx, llcstr, GEPi(bcx, lldest, &[0, abi::FAT_PTR_ADDR]));
151-
Store(bcx, llbytes, GEPi(bcx, lldest, &[0, abi::FAT_PTR_EXTRA]));
149+
Store(bcx, llcstr, expr::get_dataptr(bcx, lldest));
150+
Store(bcx, llbytes, expr::get_meta(bcx, lldest));
152151
bcx
153152
}
154153
}

0 commit comments

Comments
 (0)