[llvm-branch-commits] [llvm] [llvm] Extract and propagate indirect call type id (PR #87575)
Prabhu Rajasekaran via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue May 13 13:51:53 PDT 2025
================
@@ -0,0 +1,19 @@
+;; Tests that call site callee type ids can be extracted and set from
+;; callee_type metadata for indirect tail calls.
+
+;; Verify the exact calleeTypeId value to ensure it is not garbage but the value
+;; computed as the type id from the callee_type metadata.
+; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
+
+define i32 @_Z13call_indirectPFicEc(ptr %func, i8 %x) local_unnamed_addr !type !0 {
+entry:
+ ; CHECK: callSites:
+ ; CHECK-NEXT: - { bb: {{.*}}, offset: {{.*}}, fwdArgRegs: [], calleeTypeIds:
+ ; CHECK-NEXT: [ 3498816979441845844 ] }
+ %call = tail call noundef i32 %func(i8 noundef signext %x), !callee_type !1
+ ret i32 %call
+}
+
----------------
Prabhuk wrote:
I've added tests for direct calls with matching and mismatched callee_type metadata. Please take a look.
https://github.com/llvm/llvm-project/pull/87575
More information about the llvm-branch-commits
mailing list