xref: /llvm-project/llvm/test/Transforms/PGOProfile/timestamp.ll (revision 4b5224a27e3639b0efcec39bec48f66bd39a2751)
1244be0b0SEllis Hoag; RUN: opt < %s -passes=pgo-instr-gen -pgo-temporal-instrumentation -S | FileCheck %s
2244be0b0SEllis Hoag; RUN: opt < %s -passes=pgo-instr-gen -pgo-temporal-instrumentation -pgo-block-coverage -S | FileCheck %s
3244be0b0SEllis Hoagtarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
4244be0b0SEllis Hoagtarget triple = "x86_64-unknown-linux-gnu"
5244be0b0SEllis Hoag
6*4b5224a2Sserge-sans-paille; CHECK-LABEL: define void @foo(
7244be0b0SEllis Hoagdefine void @foo() {
8244be0b0SEllis Hoagentry:
9244be0b0SEllis Hoag  ; CHECK: call void @llvm.instrprof.timestamp({{.*}})
10244be0b0SEllis Hoag  ret void
11244be0b0SEllis Hoag}
12244be0b0SEllis Hoag
13*4b5224a2Sserge-sans-paille; CHECK-LABEL: define void @bar(
14*4b5224a2Sserge-sans-pailledefine void @bar() #0 {
15*4b5224a2Sserge-sans-pailleentry:
16*4b5224a2Sserge-sans-paille  ; CHECK-NOT: call void @llvm.instrprof.timestamp({{.*}})
17*4b5224a2Sserge-sans-paille  call void asm sideeffect "retq;", "~{dirflag},~{fpsr},~{flags}"()
18*4b5224a2Sserge-sans-paille  unreachable
19*4b5224a2Sserge-sans-paille}
20*4b5224a2Sserge-sans-paille
21*4b5224a2Sserge-sans-paille; CHECK-LABEL: declare void @llvm.instrprof.timestamp(
22*4b5224a2Sserge-sans-paille
23*4b5224a2Sserge-sans-pailleattributes #0 = { naked }
24