[compiler-rt] [llvm] [Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgumentElimination (PR #109899)

via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 27 08:51:59 PDT 2024


================
@@ -38,16 +38,16 @@ define dso_local void @caller_4xi32(ptr noalias %src, ptr noalias %dst) #1 {
 ; CHECK-LABEL: define dso_local void @caller_4xi32(
 ; CHECK-NEXT:  entry:
 ; CHECK-NEXT:    [[SRC_VAL:%.*]] = load <4 x i32>, ptr [[SRC:%.*]], align 16
-; CHECK-NEXT:    call fastcc void @callee_4xi32(<4 x i32> [[SRC_VAL]], ptr noalias [[DST:%.*]])
+; CHECK-NEXT:    call fastcc void @callee_4xi32.argprom.argprom(<4 x i32> [[SRC_VAL]], ptr noalias [[DST:%.*]])
 ; CHECK-NEXT:    ret void
 ;
 entry:
-  call fastcc void @callee_4xi32(ptr noalias %src, ptr noalias %dst)
+  call fastcc void @callee_4xi32.argprom(ptr noalias %src, ptr noalias %dst)
   ret void
 }
 
-define internal fastcc void @callee_4xi32(ptr noalias %src, ptr noalias %dst) #1 {
-; CHECK-LABEL: define internal fastcc void @callee_4xi32(
+define internal fastcc void @callee_4xi32.argprom(ptr noalias %src, ptr noalias %dst) #1 {
+; CHECK-LABEL: define internal fastcc void @callee_4xi32.argprom.argprom(
----------------
yonghong-song wrote:

I did this for two reasons. First, gcc has cascading suffixes, e.g. when I compiled llvm with gcc, I got the following:
```
_ZN5clang19RecursiveASTVisitorIN12_GLOBAL__N_119PluralMisuseChecker13MethodCrawlerEE14TraverseIfStmtEPNS_6IfStmtEPN4llvm15SmallVectorImplINS7_14PointerIntPairIPNS_4StmtELj1EbNS7_21PointerLikeTypeTraitsISB_EENS7_18PointerIntPairInfoISB_Lj1ESD_EEEEEE.part.0.constprop.0.isra.0
```
Second, cascading the suffix can give a hint what signature-changing transformation has done so it would be easier for people to find the changed func signature.

https://github.com/llvm/llvm-project/pull/109899


More information about the llvm-commits mailing list