26 lines · plain
1; REQUIRES: x86-registered-target2; Test that calls to aliases are instrumented, and the assembly references the3; aliased function.4;5; RUN: opt -passes=ctx-instr-gen,assign-guid,ctx-instr-lower -profile-context-root=an_entrypoint \6; RUN: -profile-context-root=another_entrypoint_no_callees \7; RUN: -S %s -o %t.ll8; RUN: llc < %t.ll | FileCheck %s9target triple = "x86_64-unknown-linux-gnu"10 11@foo_alias = weak_odr unnamed_addr alias void (), ptr @foo12 13define void @foo(i32) {14 ret void15}16 17define void @call_alias(ptr %a) {18entry:19 call void @foo(i32 0, ptr %a)20 ret void21}22 23; CHECK-LABEL: call_alias:24; CHECK: movq foo@GOTPCREL(%rip), [[REG:%r[a-z0-9]+]]25; CHECK-NEXT: movq [[REG]], %fs:__llvm_ctx_profile_expected_callee@TPOFF{{.*}}26