1; RUN: opt < %s -passes=dfsan -S | FileCheck %s 2target 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" 3target triple = "x86_64-unknown-linux-gnu" 4 5define {i32, i32} @test({i32, i32} %a, i1 %c) { 6 ; CHECK: %[[#AL:]] = load { i8, i8 }, ptr @__dfsan_arg_tls, align [[ALIGN:2]] 7 ; CHECK: %[[#AL0:]] = insertvalue { i8, i8 } %[[#AL]], i8 0, 0 8 ; CHECK: %[[#AL1:]] = insertvalue { i8, i8 } %[[#AL]], i8 0, 1 9 ; CHECK: %[[#PL:]] = phi { i8, i8 } [ %[[#AL0]], %T ], [ %[[#AL1]], %F ] 10 ; CHECK: store { i8, i8 } %[[#PL]], ptr @__dfsan_retval_tls, align [[ALIGN]] 11 12entry: 13 br i1 %c, label %T, label %F 14 15T: 16 %at = insertvalue {i32, i32} %a, i32 1, 0 17 br label %done 18 19F: 20 %af = insertvalue {i32, i32} %a, i32 1, 1 21 br label %done 22 23done: 24 %b = phi {i32, i32} [%at, %T], [%af, %F] 25 ret {i32, i32} %b 26} 27