<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">It can't hurt!<div class=""><br class=""></div><div class="">This lgtm with an IR test.</div><div class=""><br class=""></div><div class="">Thank you,</div><div class="">vedant</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 30, 2017, at 11:05 AM, Xinliang David Li <<a href="mailto:davidxl@google.com" class="">davidxl@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Sure I will add an IR based test case. The end-to-end test is still good to have though .<div class=""><br class=""></div><div class="">David</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Nov 30, 2017 at 11:02 AM, Vedant Kumar via Phabricator <span dir="ltr" class=""><<a href="mailto:reviews@reviews.llvm.org" target="_blank" class="">reviews@reviews.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">vsk added a comment.<br class="">
<br class="">
With an IR-based test case, <a href="https://reviews.llvm.org/D40663" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D40663</a> shouldn't be necessary --<br class="">
<br class="">
  ; RUN opt -instrprof -S -o - <%s -do-counter-promotion=1 | FileCheck<br class="">
  ; CHECK: store<br class="">
<br class="">
  target datalayout = "e-m:o-i64:64-f80:128-n8:16:<wbr class="">32:64-S128"<br class="">
  target triple = "x86_64-apple-macosx10.12.0"<br class="">
<br class="">
  @__profn_foo = private constant [3 x i8] c"foo"<br class="">
<br class="">
  define void @foo() {<br class="">
  entry:<br class="">
    br label %while.body<br class="">
<br class="">
  while.body:                                       ; preds = %entry, %while.body<br class="">
    call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 14813359968, i32 1, i32 0)<br class="">
    call void (...) @bar() #2<br class="">
    br label %while.body<br class="">
  }<br class="">
<br class="">
  declare void @bar(...)<br class="">
<br class="">
  declare void @llvm.instrprof.increment(i8*, i64, i32, i32) #0<br class="">
<br class="">
  attributes #0 = { nounwind }<br class="">
<br class="">
  !llvm.module.flags = !{!0, !1}<br class="">
  !llvm.ident = !{!2}<br class="">
<br class="">
  !0 = !{i32 1, !"wchar_size", i32 4}<br class="">
  !1 = !{i32 7, !"PIC Level", i32 2}<br class="">
  !2 = !{!"clang version 6.0.0 (trunk 319373) (llvm/trunk 319391)"}<br class="">
<br class="">
<br class="">
<a href="https://reviews.llvm.org/D40662" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D40662</a><br class="">
<br class="">
<br class="">
<br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>