Skip to content

Commit 6ac0c66

Browse files
committed
Add labels
1 parent a5d7363 commit 6ac0c66

File tree

3 files changed

+32
-28
lines changed

3 files changed

+32
-28
lines changed

llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4601,13 +4601,16 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
46014601
if (ANumElements * 2 == MaskNumElements) {
46024602
// Ensure that the irrelevant bits of the mask are zero, hence selecting
46034603
// from the zeroed shadow instead of the writethrough's shadow.
4604-
Mask = IRB.CreateTrunc(Mask, IRB.getIntNTy(ANumElements));
4605-
Mask = IRB.CreateZExt(Mask, IRB.getIntNTy(MaskNumElements));
4604+
Mask =
4605+
IRB.CreateTrunc(Mask, IRB.getIntNTy(ANumElements), "_ms_mask_trunc");
4606+
Mask =
4607+
IRB.CreateZExt(Mask, IRB.getIntNTy(MaskNumElements), "_ms_mask_zext");
46064608
}
46074609

46084610
// Convert i16 mask to <16 x i1>
46094611
Mask = IRB.CreateBitCast(
4610-
Mask, FixedVectorType::get(IRB.getInt1Ty(), MaskNumElements));
4612+
Mask, FixedVectorType::get(IRB.getInt1Ty(), MaskNumElements),
4613+
"_ms_mask_bitcast");
46114614

46124615
/// For floating-point to integer conversion, the output is:
46134616
/// - fully uninitialized if *any* bit of the input is uninitialized
@@ -4617,10 +4620,11 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
46174620
/// We use the scalar width of the return type instead of A's.
46184621
AShadow = IRB.CreateSExt(
46194622
IRB.CreateICmpNE(AShadow, getCleanShadow(AShadow->getType())),
4620-
getShadowTy(&I));
4623+
getShadowTy(&I), "_ms_a_shadow");
46214624

46224625
Value *WriteThroughShadow = getShadow(WriteThrough);
4623-
Value *Shadow = IRB.CreateSelect(Mask, AShadow, WriteThroughShadow);
4626+
Value *Shadow = IRB.CreateSelect(Mask, AShadow, WriteThroughShadow,
4627+
"_ms_writethru_select");
46244628

46254629
setShadow(&I, Shadow);
46264630
setOriginForNaryOp(I);

llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,29 +1911,29 @@ define <16 x i16> @test_x86_vcvtps2ph_256(<16 x float> %a0, <16 x i16> %src, i16
19111911
; CHECK-NEXT: [[TMP12:%.*]] = sext <16 x i1> [[TMP11]] to <16 x i16>
19121912
; CHECK-NEXT: [[TMP13:%.*]] = select <16 x i1> [[TMP10]], <16 x i16> [[TMP12]], <16 x i16> zeroinitializer
19131913
; CHECK-NEXT: [[_MSCMP2:%.*]] = icmp ne i16 [[TMP2]], 0
1914-
; CHECK-NEXT: br i1 [[_MSCMP2]], label [[TMP14:%.*]], label [[TMP15:%.*]], !prof [[PROF1]]
1915-
; CHECK: 12:
1914+
; CHECK-NEXT: br i1 [[_MSCMP2]], label [[TMP9:%.*]], label [[TMP14:%.*]], !prof [[PROF1]]
1915+
; CHECK: 7:
19161916
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR10]]
19171917
; CHECK-NEXT: unreachable
1918-
; CHECK: 13:
1918+
; CHECK: 8:
19191919
; CHECK-NEXT: [[RES2:%.*]] = call <16 x i16> @llvm.x86.avx512.mask.vcvtps2ph.512(<16 x float> [[A0]], i32 11, <16 x i16> zeroinitializer, i16 [[MASK]])
19201920
; CHECK-NEXT: [[TMP25:%.*]] = bitcast i16 [[MASK]] to <16 x i1>
19211921
; CHECK-NEXT: [[TMP26:%.*]] = icmp ne <16 x i32> [[TMP1]], zeroinitializer
19221922
; CHECK-NEXT: [[TMP27:%.*]] = sext <16 x i1> [[TMP26]] to <16 x i16>
19231923
; CHECK-NEXT: [[TMP20:%.*]] = select <16 x i1> [[TMP25]], <16 x i16> [[TMP27]], <16 x i16> [[TMP3]]
19241924
; CHECK-NEXT: [[_MSCMP6:%.*]] = icmp ne i16 [[TMP2]], 0
1925-
; CHECK-NEXT: br i1 [[_MSCMP6]], label [[TMP22:%.*]], label [[TMP23:%.*]], !prof [[PROF1]]
1926-
; CHECK: 18:
1925+
; CHECK-NEXT: br i1 [[_MSCMP6]], label [[TMP15:%.*]], label [[TMP16:%.*]], !prof [[PROF1]]
1926+
; CHECK: 10:
19271927
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR10]]
19281928
; CHECK-NEXT: unreachable
1929-
; CHECK: 19:
1929+
; CHECK: 11:
19301930
; CHECK-NEXT: [[RES3:%.*]] = call <16 x i16> @llvm.x86.avx512.mask.vcvtps2ph.512(<16 x float> [[A0]], i32 12, <16 x i16> [[SRC:%.*]], i16 [[MASK]])
19311931
; CHECK-NEXT: [[_MSCMP8:%.*]] = icmp ne i64 [[TMP4]], 0
1932-
; CHECK-NEXT: br i1 [[_MSCMP8]], label [[TMP24:%.*]], label [[TMP21:%.*]], !prof [[PROF1]]
1933-
; CHECK: 20:
1932+
; CHECK-NEXT: br i1 [[_MSCMP8]], label [[TMP21:%.*]], label [[TMP22:%.*]], !prof [[PROF1]]
1933+
; CHECK: 12:
19341934
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR10]]
19351935
; CHECK-NEXT: unreachable
1936-
; CHECK: 21:
1936+
; CHECK: 13:
19371937
; CHECK-NEXT: [[TMP17:%.*]] = ptrtoint ptr [[DST:%.*]] to i64
19381938
; CHECK-NEXT: [[TMP18:%.*]] = xor i64 [[TMP17]], 87960930222080
19391939
; CHECK-NEXT: [[TMP19:%.*]] = inttoptr i64 [[TMP18]] to ptr
@@ -7446,10 +7446,10 @@ define <16 x i32>@test_int_x86_avx512_mask_cvt_ps2dq_512(<16 x float> %x0, <16 x
74467446
; CHECK-NEXT: [[TMP6:%.*]] = select <16 x i1> [[TMP3]], <16 x i32> [[TMP5]], <16 x i32> [[TMP2]]
74477447
; CHECK-NEXT: [[_MSCMP:%.*]] = icmp ne i16 [[TMP10]], 0
74487448
; CHECK-NEXT: br i1 [[_MSCMP]], label [[TMP11:%.*]], label [[TMP12:%.*]], !prof [[PROF1]]
7449-
; CHECK: 8:
7449+
; CHECK: 5:
74507450
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR10]]
74517451
; CHECK-NEXT: unreachable
7452-
; CHECK: 9:
7452+
; CHECK: 6:
74537453
; CHECK-NEXT: [[RES:%.*]] = call <16 x i32> @llvm.x86.avx512.mask.cvtps2dq.512(<16 x float> [[X0:%.*]], <16 x i32> [[X1:%.*]], i16 [[X2]], i32 10)
74547454
; CHECK-NEXT: [[TMP7:%.*]] = icmp ne <16 x i32> [[TMP1]], zeroinitializer
74557455
; CHECK-NEXT: [[TMP8:%.*]] = sext <16 x i1> [[TMP7]] to <16 x i32>

llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7973,11 +7973,11 @@ define <8 x i16> @test_x86_vcvtps2ph_128(<4 x float> %a0, i8 %mask, <8 x i16> %s
79737973
; CHECK-NEXT: [[TMP13:%.*]] = sext <8 x i1> [[TMP12]] to <8 x i16>
79747974
; CHECK-NEXT: [[TMP14:%.*]] = select <8 x i1> [[TMP11]], <8 x i16> [[TMP13]], <8 x i16> zeroinitializer
79757975
; CHECK-NEXT: [[_MSCMP2:%.*]] = icmp ne i8 [[TMP2]], 0
7976-
; CHECK-NEXT: br i1 [[_MSCMP2]], label %[[BB15:.*]], label %[[BB16:.*]], !prof [[PROF1]]
7977-
; CHECK: [[BB15]]:
7976+
; CHECK-NEXT: br i1 [[_MSCMP2]], label %[[BB8:.*]], label %[[BB9:.*]], !prof [[PROF1]]
7977+
; CHECK: [[BB8]]:
79787978
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR6]]
79797979
; CHECK-NEXT: unreachable
7980-
; CHECK: [[BB16]]:
7980+
; CHECK: [[BB9]]:
79817981
; CHECK-NEXT: [[RES2:%.*]] = call <8 x i16> @llvm.x86.avx512.mask.vcvtps2ph.128(<4 x float> [[A0]], i32 10, <8 x i16> zeroinitializer, i8 [[MASK]])
79827982
; CHECK-NEXT: [[TMP17:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
79837983
; CHECK-NEXT: [[TMP18:%.*]] = trunc i8 [[MASK]] to i4
@@ -7987,11 +7987,11 @@ define <8 x i16> @test_x86_vcvtps2ph_128(<4 x float> %a0, i8 %mask, <8 x i16> %s
79877987
; CHECK-NEXT: [[TMP22:%.*]] = sext <8 x i1> [[TMP21]] to <8 x i16>
79887988
; CHECK-NEXT: [[TMP23:%.*]] = select <8 x i1> [[TMP20]], <8 x i16> [[TMP22]], <8 x i16> [[TMP3]]
79897989
; CHECK-NEXT: [[_MSCMP6:%.*]] = icmp ne i8 [[TMP2]], 0
7990-
; CHECK-NEXT: br i1 [[_MSCMP6]], label %[[BB24:.*]], label %[[BB25:.*]], !prof [[PROF1]]
7991-
; CHECK: [[BB24]]:
7990+
; CHECK-NEXT: br i1 [[_MSCMP6]], label %[[BB12:.*]], label %[[BB13:.*]], !prof [[PROF1]]
7991+
; CHECK: [[BB12]]:
79927992
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR6]]
79937993
; CHECK-NEXT: unreachable
7994-
; CHECK: [[BB25]]:
7994+
; CHECK: [[BB13]]:
79957995
; CHECK-NEXT: [[RES3:%.*]] = call <8 x i16> @llvm.x86.avx512.mask.vcvtps2ph.128(<4 x float> [[A0]], i32 11, <8 x i16> [[SRC]], i8 [[MASK]])
79967996
; CHECK-NEXT: [[_MSPROP:%.*]] = or <8 x i16> [[TMP7]], [[TMP14]]
79977997
; CHECK-NEXT: [[RES0:%.*]] = add <8 x i16> [[RES1]], [[RES2]]
@@ -8027,22 +8027,22 @@ define <8 x i16> @test_x86_vcvtps2ph_256(<8 x float> %a0, i8 %mask, <8 x i16> %s
80278027
; CHECK-NEXT: [[TMP11:%.*]] = sext <8 x i1> [[TMP10]] to <8 x i16>
80288028
; CHECK-NEXT: [[TMP12:%.*]] = select <8 x i1> [[TMP9]], <8 x i16> [[TMP11]], <8 x i16> zeroinitializer
80298029
; CHECK-NEXT: [[_MSCMP2:%.*]] = icmp ne i8 [[TMP2]], 0
8030-
; CHECK-NEXT: br i1 [[_MSCMP2]], label %[[BB11:.*]], label %[[BB12:.*]], !prof [[PROF1]]
8031-
; CHECK: [[BB11]]:
8030+
; CHECK-NEXT: br i1 [[_MSCMP2]], label %[[BB6:.*]], label %[[BB7:.*]], !prof [[PROF1]]
8031+
; CHECK: [[BB6]]:
80328032
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR6]]
80338033
; CHECK-NEXT: unreachable
8034-
; CHECK: [[BB12]]:
8034+
; CHECK: [[BB7]]:
80358035
; CHECK-NEXT: [[RES2:%.*]] = call <8 x i16> @llvm.x86.avx512.mask.vcvtps2ph.256(<8 x float> [[A0]], i32 11, <8 x i16> zeroinitializer, i8 [[MASK]])
80368036
; CHECK-NEXT: [[TMP16:%.*]] = bitcast i8 [[MASK]] to <8 x i1>
80378037
; CHECK-NEXT: [[TMP17:%.*]] = icmp ne <8 x i32> [[TMP1]], zeroinitializer
80388038
; CHECK-NEXT: [[TMP18:%.*]] = sext <8 x i1> [[TMP17]] to <8 x i16>
80398039
; CHECK-NEXT: [[TMP19:%.*]] = select <8 x i1> [[TMP16]], <8 x i16> [[TMP18]], <8 x i16> [[TMP3]]
80408040
; CHECK-NEXT: [[_MSCMP6:%.*]] = icmp ne i8 [[TMP2]], 0
8041-
; CHECK-NEXT: br i1 [[_MSCMP6]], label %[[BB17:.*]], label %[[BB18:.*]], !prof [[PROF1]]
8042-
; CHECK: [[BB17]]:
8041+
; CHECK-NEXT: br i1 [[_MSCMP6]], label %[[BB9:.*]], label %[[BB10:.*]], !prof [[PROF1]]
8042+
; CHECK: [[BB9]]:
80438043
; CHECK-NEXT: call void @__msan_warning_noreturn() #[[ATTR6]]
80448044
; CHECK-NEXT: unreachable
8045-
; CHECK: [[BB18]]:
8045+
; CHECK: [[BB10]]:
80468046
; CHECK-NEXT: [[RES3:%.*]] = call <8 x i16> @llvm.x86.avx512.mask.vcvtps2ph.256(<8 x float> [[A0]], i32 12, <8 x i16> [[SRC]], i8 [[MASK]])
80478047
; CHECK-NEXT: [[_MSPROP:%.*]] = or <8 x i16> [[TMP7]], [[TMP12]]
80488048
; CHECK-NEXT: [[RES0:%.*]] = add <8 x i16> [[RES1]], [[RES2]]

0 commit comments

Comments
 (0)