[prev in list] [next in list] [prev in thread] [next in thread] 

List:       llvm-bugs
Subject:    [llvm-bugs] [Bug 59269] Crash in PGOIndirectCallPromotion: cannot guarantee tail call due to mismatc
From:       LLVM Bugs via llvm-bugs <llvm-bugs () lists ! llvm ! org>
Date:       2022-11-30 17:21:15
Message-ID: 20221130172115.a56307ec45656297 () email ! llvm ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59269>59269</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash in PGOIndirectCallPromotion: cannot guarantee tail call due to \
mismatched parameter types  </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            PGO,
            crash
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          rupprecht
      </td>
    </tr>
</table>

<pre>
    reduced.ll:
```
target datalayout = &quot;e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128&quot;
 target triple = &quot;x86_64-unknown-linux-gnu&quot;

define ptr @foo(ptr %msg, ptr %ptr, ptr %ctx, i64 %data.coerce, ptr %table, i64 \
%hasbits) { entry:
  %0 = load ptr, ptr null, align 8
  ret ptr null

1:                                                ; No predecessors!
  %call11.i = musttail call ptr %0(ptr null, ptr null, ptr null, i64 0, ptr null, i64 \
0), !prof !0  ret ptr %call11.i
}

define ptr @bar(ptr %this, i64 %tag, ptr %ptr, ptr %containing_type, ptr %metadata, \
ptr %ctx) { entry:
  ret ptr null
}

!0 = !{!&quot;VP&quot;, i32 0, i64 2024, i64 16434608426314478903, i64 947, i64 \
12345, i64 18} ```

Crash:
```
$ opt -debug -pass-remarks=pgo-icall-prom -passes=pgo-icall-prom -S &lt; reduced.ll

Work on callsite   %call11.i = musttail call ptr %0(ptr null, ptr null, ptr null, i64 \
0, ptr null, i64 0), !prof !0 Num_targets: 2  Candidate 0 Count=947  Target_func: \
16434608426314478903  Candidate 1 Count=18  Target_func: 12345
 Not promote: Cold target.

Work on callsite #0  %call11.i = musttail call ptr %0(ptr null, ptr null, ptr null, \
i64 0, ptr null, i64 0), !prof !0 Num_targets: 2 Num_candidates: 1  Candidate 0 \
                Count=947  Target_func: 16434608426314478903
remark: &lt;unknown&gt;:0:0: Promote indirect call to bar with count 947 out of 2024
cannot guarantee tail call due to mismatched parameter types
  %6 = musttail call ptr @bar(ptr null, i64 %3, ptr null, ptr %4, ptr null, ptr %5)
LLVM ERROR: Broken module found, compilation aborted!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and \
include the crash backtrace. Stack dump:
0.      Program arguments: /home/rupprecht/dev/opt -debug \
-pass-remarks=pgo-icall-prom -passes=pgo-icall-prom -S  #0 0x0000560e41005e5a \
llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, int) \
                /home/rupprecht/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:567:11
                
...
 #8 0x0000560e40f236a4 llvm::report_fatal_error(llvm::Twine const&amp;, bool) \
/home/rupprecht/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:125:5  #9 \
0x0000560e40f23512 /home/rupprecht/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:83:3
 #10 0x0000560e4053e334 llvm::VerifierPass::run(llvm::Module&amp;, \
llvm::AnalysisManager&lt;llvm::Module&gt;&amp;) \
/home/rupprecht/src/llvm-project/llvm/lib/IR/Verifier.cpp:0:5 #11 0x0000560e3d50a104 \
llvm::detail::PassModel&lt;llvm::Module, llvm::VerifierPass, llvm::PreservedAnalyses, \
llvm::AnalysisManager&lt;llvm::Module&gt;&gt;::run(llvm::Module&amp;, \
llvm::AnalysisManager&lt;llvm::Module&gt;&amp;) \
/home/rupprecht/src/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:88:17 #12 \
0x0000560e404e7de7 llvm::PassManager&lt;llvm::Module, \
llvm::AnalysisManager&lt;llvm::Module&gt;&gt;::run(llvm::Module&amp;, \
llvm::AnalysisManager&lt;llvm::Module&gt;&amp;) \
/home/rupprecht/src/llvm-project/llvm/include/llvm/IR/PassManager.h:521:33 #13 \
0x0000560e3d4dee5b llvm::runPassPipeline(llvm::StringRef, llvm::Module&amp;, \
llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, \
llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, \
llvm::ArrayRef&lt;llvm::StringRef&gt;, llvm::ArrayRef&lt;llvm::PassPlugin&gt;, \
llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, \
bool, bool) /home/rupprecht/src/llvm-project/llvm/tools/opt/NewPMDriver.cpp:526:3 #14 \
0x0000560e3d50db18 main \
/home/rupprecht/src/llvm-project/llvm/tools/opt/opt.cpp:711:12 ```
</pre>
<img width="1px" height="1px" alt="" \
src="http://email.email.llvm.org/o/eJzdV21zozYQ_jX4i8YeEC_GH_whl5c20yTnSdLrR4-ANVYDiJF \
EEv_7rgTYkNh3be46vWnGEXpZtPs8u1otich2SwlZk0I2KwrHP3PcC8c9cyK3-9mhZjIHTTKmWcF2otHE8S-IQ \
ylMS3wHpjWdu9jxqW3M0BsPTS8KbDPlfWcTm5c8Gk-r2HSi_h1ce8BpVDDSryWvC-h1v8bRGgWb6qkSL9W04FX \
zOs2rZv9W22aw4RWQWkviBO5GCIfGdkDDUuUOPSfdCB-DUapfzQhtNSODfJYKkCkMZDRLChhIbZlKuFYOXRBn_ \
qlVD5WWuz2vxIi5FkEhWEYGOqsG-cc-K3hekbiXl4h7vzyAZfgl__DP8T-RO0FqdDikoJSQaKs3sCxlReF5M24 \
NLBulNeMFMbM9ZLdjr7f2VN8w4p6YXJg-Kq6l2Jin-xbrwJIO8vzitEsTJg8u1VuuBh7R7CseFhXCq3iVr_WuH \
vq1BM2Mx9-Gw1fcesRNY5sNzi5yPbMLtpR-WZlgNeb6tKXL2E1dGvR9Lwr8IHLjgEa-FwTzeOH6_doimO_FqB- \
E-0F80D0-x217LpnanjrqDg2IqDWZZpA0OZnWTKmphJLJJ4Xm17mYcuOcKXqvbJfh2MIDgj0ng9QyMOAPIZ-Iq \
GxgKa6B_JfBR-6act0mGGXOVJc8yDmrMo5RAMQl56KpNJqFjBPyaGXXm6ZKjfxRD73dwttv4cXvd7DOa1-5Exh \
HSKDQYJbORZGR1rjZVxl0qO_-VCzaibQnwM55P4zZNh6NDAZZdwE4_iVOuN0_WbUkEo66JKS6pUALgumCvHC9J \
alRbQ4RMRca4rDnzu6PdlfoiLxhklUagBxIzBowu5RclUynW8AcjkKYMUASk0bUIJ1Gp5wwTFpDZvEd_5hLcD4 \
4MR8aZ1iVNzdfbsnl_f3ne4P_kxRPUJFSZA1emRvEmpm3UlHWvGCaY_CwREgN2f4KWN1cnj1cEtUkJdeEEXP-J \
dQoZBBvta6NGx16hb8cGWwSvBJLHBTFc_8wp_9PpBuHXKkG6aBXBP2NfkiLJkPutkBSk4DQEemTliyFLrIfNE4 \
gv2W9z03urL240Jk5kkwwPpoSU68NJ9x5K0rM21eyqfFOS7dGawbP2P6QDNZ50h4t99XFvzByIfDwCSEjFjVa6 \
p-pnWo7K8krbXE8GmDo4YOQZC9robQEhlxF1uMY-eZOOYpDyfQ9pT3RPMH2AaXRN9j7veKvZgILB1aoGbfHJ4z \
mpqbqfDubzQ5w4iEcd0P9iAUDOK3P1xtT7a1BSiFHQB5fzOWLt6fSHZBEiOLHILk02n7FeMFqLp-ldW3rw9DAO \
Zi_eGt-6NF_SXfsm5K0vxl9bxQIbuiD7w-Z-wKSbzjIFcZUx2VTjci7teex4-0wfYaO2ymublnFcpCY1d69gun \
NvPVxlq_vsekt7PC5B2YNPG8Az89Cl3nuEF4GJo91oY4Q0TIojtk6wjYiZbSykqBAPkPWwgf1EVJs2v9ZmO6y3 \
GHCkm65avVd43Ui0YSZKcBi-9UzP_BPR-EVwDyD-ZCvwz7fZP3_SJ4lLaT203JwKP1R1AYZQJgM01lTmT1WvAY \
82eOk_ICflFV-D5sxzhPw2_rklqVbu8_ZsdUbnkgmd9fVRlyXdfFeCnPl50bXjb7ixZFNvmv5BJwzKdnOzA79d \
ZA1LvumuKWwaHJevZPHy3atzRVgR615v_G23jgl1SeFXq69Qv7u8yPRZXSrtjTA9g5eVrcXkj_vU2FIo3GuD94 \
kwyzB2r3EL8bvVo5tp3TuefaGe_MpNoGlF0WLmMZxvJhkSz9b-As20VwXsLSfb1g8kNUvn6-76vYcy5a24sXCz \
hRH31PBThpZLD9e7oULGi0m2-XcDVyIN_48CRPsZuBGfphEkC0iL0kSmBQsgUItnRC_himC6b6F8WELRDMMLyZ \
8iXU59Tzf9eb4CGcsjHx3DmkQRmFEF3OsprG448XMGDQTMp_IpbUNqz-FiwVXWh0WMY6xTgKwenF_1uitkMu9JycWyNKi-At_NsCU">



[Attachment #3 (text/plain)]

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic