<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 10/25/2018 1:58 PM, Ivchenko,
Alexander via llvm-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:56C4D6786952674ABE1698B4500BD57070CC81BB@IRSMSX103.ger.corp.intel.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">* Due to the way successor and predecessor
detection works, some CFG simplifications such as trivial
block elimination may be blocked if they would result in
duplicate successors for the callbr instruction, as such
duplicate successors are incorrectly processed in the IR and
cannot be removed due to being used by the callee</p>
</div>
</blockquote>
<br>
I'm not sure I follow what the issue is here; why can't a block
appear multiple times in the successor list? It happens routinely
for other kinds of branches.<br>
<br>
<o:p></o:p>
<blockquote type="cite"
cite="mid:56C4D6786952674ABE1698B4500BD57070CC81BB@IRSMSX103.ger.corp.intel.com">
<div class="WordSection1">
<p class="MsoNormal">* While the initial implementation of
asm-goto won’t allow outputs, the instruction’s syntax
supports them in principle, so the support for this can be
added at a later date</p>
</div>
</blockquote>
<br>
It's fine if you don't want to actually implement this now, but we
probably need a rough idea for how it will be implemented, so we're
reasonably confident we won't have to change the semantics of
callbr. Specifically, do we need to impose any restrictions on the
successors of a callbr to allow reasonable code generation? Without
any rules, PHI nodes involving the outputs of callbr instructions
could be very awkward to lower.<br>
<br>
-Eli<br>
<pre class="moz-signature" cols="72">--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
</body>
</html>