1*d3d49bcaSAlan Phipps;; Check that only one data variable is created when an instrprof.increment is 2*d3d49bcaSAlan Phipps;; inlined into more than one function. 3*d3d49bcaSAlan Phipps; RUN: opt %s -passes='cgscc(inline),instrprof' -S | FileCheck %s 4*d3d49bcaSAlan Phipps 5*d3d49bcaSAlan Phippstarget triple = "x86_64-unknown-linux-gnu" 6*d3d49bcaSAlan Phipps 7*d3d49bcaSAlan Phipps; CHECK: @__profd_foobar = private global 8*d3d49bcaSAlan Phipps; CHECK-NOT @__profd_foobar 9*d3d49bcaSAlan Phipps 10*d3d49bcaSAlan Phippsdeclare void @llvm.instrprof.increment(ptr %0, i64 %1, i32 %2, i32 %3) 11*d3d49bcaSAlan Phipps@__profn_foobar = private constant [6 x i8] c"foobar" 12*d3d49bcaSAlan Phipps 13*d3d49bcaSAlan Phippsdefine internal void @foobar() { 14*d3d49bcaSAlan Phipps call void @llvm.instrprof.increment(ptr @__profn_foobar, i64 123456, i32 32, i32 0) 15*d3d49bcaSAlan Phipps ret void 16*d3d49bcaSAlan Phipps} 17*d3d49bcaSAlan Phipps 18*d3d49bcaSAlan Phippsdefine void @foo() { 19*d3d49bcaSAlan Phipps call void @foobar() 20*d3d49bcaSAlan Phipps ret void 21*d3d49bcaSAlan Phipps} 22*d3d49bcaSAlan Phipps 23*d3d49bcaSAlan Phippsdefine void @bar() { 24*d3d49bcaSAlan Phipps call void @foobar() 25*d3d49bcaSAlan Phipps ret void 26*d3d49bcaSAlan Phipps} 27