<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><br>
</p>
<div class="moz-cite-prefix">On 01/17/2017 05:36 PM, Wael Yehia via
llvm-dev wrote:<br>
</div>
<blockquote
cite="mid:106645892.5350347.1484696219444@mail.yahoo.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div style="color:#000; background-color:#fff;
font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial,
Lucida Grande, sans-serif;font-size:16px">
<div id="yui_3_16_0_ym19_1_1484694384976_9332" dir="ltr">Hi.
Regarding the token approach, I've read some documentation
(review D11861, EH in llvm, and Reid and David's presentation)
but couldn't answer the following question.</div>
<div id="yui_3_16_0_ym19_1_1484694384976_9332" dir="ltr">Does
the intrinsic or the instruction returning a <i
id="yui_3_16_0_ym19_1_1484694384976_33732">token</i> type
object act as a code motion barrier? In other words, does it
prevent other operations from being reordered with it?</div>
<div id="yui_3_16_0_ym19_1_1484694384976_9332" dir="ltr">If the
answer is no, then does it mean the intrinsic has to be marked
with the <i>convergent</i> property to achieve the code
motion barrier effect?</div>
</div>
</blockquote>
<br>
To clarify, convergent does not form a code-motion barrier. It
prevents transformations from adding additional control
dependencies. I suspect that the token type does the same (because
tokens can't appear in PHIs).<br>
<br>
Actual code motion barriers are generally achieved by adding unknown
memory dependencies.<br>
<br>
-Hal<br>
<br>
<blockquote
cite="mid:106645892.5350347.1484696219444@mail.yahoo.com"
type="cite">
<div style="color:#000; background-color:#fff;
font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial,
Lucida Grande, sans-serif;font-size:16px">
<div id="yui_3_16_0_ym19_1_1484694384976_9332" dir="ltr">If yes,
can someone explain how is that achieved in llvm?<br>
Greatly appreciated. Thanks.</div>
<div id="yui_3_16_0_ym19_1_1484694384976_9332" dir="ltr"><br>
</div>
<div id="yui_3_16_0_ym19_1_1484694384976_9332" dir="ltr">Wael</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>