Skip to content

Commit 6c89d51

Browse files
committed
---
yaml --- r: 2443 b: refs/heads/master c: 7e8b57d h: refs/heads/master i: 2441: efda1a3 2439: 5c6a755 v: v3
1 parent d0c3cd3 commit 6c89d51

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 4c70ddb1627dd859a5140e4f2975cd43db9c38ae
2+
refs/heads/master: 7e8b57d1bba8974b21718724f760f547b3b48799

trunk/src/comp/middle/trans.rs

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -832,8 +832,11 @@ fn type_of_inner(@crate_ctxt cx, ty.t t) -> TypeRef {
832832
}
833833

834834
assert (llty as int != 0);
835-
llvm.LLVMAddTypeName(cx.llmod, Str.buf(ty.ty_to_short_str(cx.tcx, t)),
836-
llty);
835+
if (cx.sess.get_opts().save_temps) {
836+
llvm.LLVMAddTypeName(cx.llmod,
837+
Str.buf(ty.ty_to_short_str(cx.tcx, t)),
838+
llty);
839+
}
837840
cx.lltypes.insert(t, llty);
838841
ret llty;
839842
}
@@ -2146,6 +2149,12 @@ fn decr_refcnt_and_if_zero(@block_ctxt cx,
21462149

21472150
// Structural comparison: a rather involved form of glue.
21482151

2152+
fn maybe_name_value(&@crate_ctxt cx, ValueRef v, str s) {
2153+
if (cx.sess.get_opts().save_temps) {
2154+
llvm.LLVMSetValueName(v, Str.buf(s));
2155+
}
2156+
}
2157+
21492158
fn make_cmp_glue(@block_ctxt cx,
21502159
ValueRef lhs0,
21512160
ValueRef rhs0,
@@ -2197,7 +2206,7 @@ fn make_cmp_glue(@block_ctxt cx,
21972206
*/
21982207

21992208
auto flag = alloca(scx, T_i1());
2200-
llvm.LLVMSetValueName(flag, Str.buf("flag"));
2209+
maybe_name_value(cx.fcx.lcx.ccx, flag, "flag");
22012210

22022211
auto r;
22032212
if (ty.type_is_sequence(cx.fcx.lcx.ccx.tcx, t)) {
@@ -2822,7 +2831,7 @@ fn maybe_call_dtor(@block_ctxt cx, ValueRef v) -> @block_ctxt {
28222831
auto self_t = llvm.LLVMGetElementType(val_ty(v));
28232832
dtor_ptr = cx.build.BitCast(dtor_ptr,
28242833
T_ptr(T_dtor(cx.fcx.lcx.ccx, self_t)));
2825-
2834+
28262835
auto dtor_cx = new_sub_block_ctxt(cx, "dtor");
28272836
auto after_cx = new_sub_block_ctxt(cx, "after_dtor");
28282837
auto test = cx.build.ICmp(lib.llvm.LLVMIntNE, dtor_ptr,
@@ -3967,7 +3976,7 @@ fn trans_pat_binding(@block_ctxt cx, @ast.pat pat,
39673976
auto rslt = alloc_ty(cx, t);
39683977
auto dst = rslt.val;
39693978
auto bcx = rslt.bcx;
3970-
llvm.LLVMSetValueName(dst, Str.buf(id));
3979+
maybe_name_value(cx.fcx.lcx.ccx, dst, id);
39713980
bcx.fcx.lllocals.insert(def_id, dst);
39723981
bcx.cleanups +=
39733982
vec(clean(bind drop_slot(_, dst, t)));
@@ -4314,10 +4323,10 @@ fn trans_index(@block_ctxt cx, &ast.span sp, @ast.expr base,
43144323
auto unit_ty = node_ann_type(cx.fcx.lcx.ccx, ann);
43154324
auto unit_sz = size_of(bcx, unit_ty);
43164325
bcx = unit_sz.bcx;
4317-
llvm.LLVMSetValueName(unit_sz.val, Str.buf("unit_sz"));
4326+
maybe_name_value(cx.fcx.lcx.ccx, unit_sz.val, "unit_sz");
43184327

43194328
auto scaled_ix = bcx.build.Mul(ix_val, unit_sz.val);
4320-
llvm.LLVMSetValueName(scaled_ix, Str.buf("scaled_ix"));
4329+
maybe_name_value(cx.fcx.lcx.ccx, scaled_ix, "scaled_ix");
43214330

43224331
auto lim = bcx.build.GEP(v, vec(C_int(0), C_int(abi.vec_elt_fill)));
43234332
lim = bcx.build.Load(lim);
@@ -5834,10 +5843,11 @@ fn new_block_ctxt(@fn_ctxt cx, block_parent parent,
58345843
block_kind kind,
58355844
str name) -> @block_ctxt {
58365845
let vec[cleanup] cleanups = vec();
5837-
let BasicBlockRef llbb =
5838-
llvm.LLVMAppendBasicBlock(cx.llfn,
5839-
Str.buf(cx.lcx.ccx.names.next(name)));
5840-
5846+
auto s = Str.buf("");
5847+
if (cx.lcx.ccx.sess.get_opts().save_temps) {
5848+
s = Str.buf(cx.lcx.ccx.names.next(name));
5849+
}
5850+
let BasicBlockRef llbb = llvm.LLVMAppendBasicBlock(cx.llfn, s);
58415851
ret @rec(llbb=llbb,
58425852
build=new_builder(llbb),
58435853
parent=parent,
@@ -7478,14 +7488,14 @@ fn trans_vec_append_glue(@local_ctxt cx) {
74787488
vec(bcx.fcx.lltaskptr, lldst_vec,
74797489
vec_fill_adjusted(bcx, llsrc_vec, llskipnull),
74807490
llcopy_dst_ptr, llvec_tydesc));
7481-
llvm.LLVMSetValueName(llnew_vec, Str.buf("llnew_vec"));
7491+
maybe_name_value(bcx.fcx.lcx.ccx, llnew_vec, "llnew_vec");
74827492

74837493
auto copy_dst_cx = new_sub_block_ctxt(bcx, "copy new <- dst");
74847494
auto copy_src_cx = new_sub_block_ctxt(bcx, "copy new <- src");
74857495

74867496
auto pp0 = alloca(bcx, T_ptr(T_i8()));
74877497
bcx.build.Store(vec_p1_adjusted(bcx, llnew_vec, llskipnull), pp0);
7488-
llvm.LLVMSetValueName(pp0, Str.buf("pp0"));
7498+
maybe_name_value(bcx.fcx.lcx.ccx, pp0, "pp0");
74897499

74907500
bcx.build.CondBr(bcx.build.TruncOrBitCast
74917501
(bcx.build.Load(llcopy_dst_ptr),
@@ -7501,19 +7511,19 @@ fn trans_vec_append_glue(@local_ctxt cx) {
75017511
ValueRef n_bytes) -> result {
75027512

75037513
auto src_lim = cx.build.GEP(src, vec(n_bytes));
7504-
llvm.LLVMSetValueName(src_lim, Str.buf("src_lim"));
7514+
maybe_name_value(cx.fcx.lcx.ccx, src_lim, "src_lim");
75057515

75067516
auto elt_llsz =
75077517
cx.build.Load(cx.build.GEP(elt_tydesc,
75087518
vec(C_int(0),
75097519
C_int(abi.tydesc_field_size))));
7510-
llvm.LLVMSetValueName(elt_llsz, Str.buf("elt_llsz"));
7520+
maybe_name_value(cx.fcx.lcx.ccx, elt_llsz, "elt_llsz");
75117521

75127522
auto elt_llalign =
75137523
cx.build.Load(cx.build.GEP(elt_tydesc,
75147524
vec(C_int(0),
75157525
C_int(abi.tydesc_field_align))));
7516-
llvm.LLVMSetValueName(elt_llsz, Str.buf("elt_llalign"));
7526+
maybe_name_value(cx.fcx.lcx.ccx, elt_llsz, "elt_llalign");
75177527

75187528

75197529
fn take_one(ValueRef elt_tydesc,
@@ -7535,7 +7545,7 @@ fn trans_vec_append_glue(@local_ctxt cx) {
75357545
// Copy any dst elements in, omitting null if doing str.
75367546

75377547
auto n_bytes = vec_fill_adjusted(copy_dst_cx, lldst_vec, llskipnull);
7538-
llvm.LLVMSetValueName(n_bytes, Str.buf("n_bytes"));
7548+
maybe_name_value(copy_dst_cx.fcx.lcx.ccx, n_bytes, "n_bytes");
75397549

75407550
copy_dst_cx = copy_elts(copy_dst_cx,
75417551
llelt_tydesc,

0 commit comments

Comments
 (0)