Skip to content

Commit baa005c

Browse files
[dfsan] Add a test case for phi
1 parent 0849047 commit baa005c

File tree

1 file changed

+24
-0
lines changed
  • llvm/test/Instrumentation/DataFlowSanitizer

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
; RUN: opt < %s -dfsan -S | FileCheck %s
2+
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
3+
target triple = "x86_64-unknown-linux-gnu"
4+
5+
define {i32, i32} @test({i32, i32} %a, i1 %c) {
6+
; CHECK: [[E0:%.*]] = load i16, i16* getelementptr inbounds ([64 x i16], [64 x i16]* @__dfsan_arg_tls, i64 0, i64 0), align 2
7+
; CHECK: [[E3:%.*]] = phi i16 [ [[E0]], %T ], [ [[E0]], %F ]
8+
; CHECK: store i16 [[E3]], i16* @__dfsan_retval_tls, align 2
9+
10+
entry:
11+
br i1 %c, label %T, label %F
12+
13+
T:
14+
%at = insertvalue {i32, i32} %a, i32 1, 0
15+
br label %done
16+
17+
F:
18+
%af = insertvalue {i32, i32} %a, i32 1, 1
19+
br label %done
20+
21+
done:
22+
%b = phi {i32, i32} [%at, %T], [%af, %F]
23+
ret {i32, i32} %b
24+
}

0 commit comments

Comments
 (0)