<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hello Everyone,</p>
<p>This is my first attempt to getting used with the submission
process. Trying to get the "good practice" with the coding
standard, tools, mailing lists... and already a few questions:</p>
<p>- Is it possible to "link" 2 related entries in Phabricator ? one
for LLVM and one for CFE ? what's the best way of posting 2
related or dependent patches ? <br>
</p>
<p>- I'd like to update and follow on the discussion on bugzilla
tracker that Renato created already but I can't edit (account
requested to <a class="moz-txt-link-abbreviated" href="mailto:llvm-admin@lists.llvm.org">llvm-admin@lists.llvm.org</a> without luck). Could
someone help ?</p>
<p>So now the proposal:</p>
<p>The .exidx and .extab unwind sections are needed, when exceptions
are enabled, for unwinding if the function can throw and to hold
the EXIDX_CANTUNWIND value if the function does not throw.</p>
<p>The problem was already discussed in various threads and defects,
so I won't repeatĀ the details but basically that confusion is
that if the compiler (or the user) determined that the function
cannot throw, we have the NOUNWIND attribute which is not
orthogonal with either exception support. Despite this we should
still emit the unwind entry for the EXIDX_CANTUNWIND value, which
is always done.<br>
</p>
<p>Another issue is that canThrow (!NoUnwind) is set by default.
Setting NoUnwind is an optimisation which is not handled by the
ARM Streamer. A first approach was to have the backend return
needsUnwindTableEntry() false if noexception support, but unwind
tables can be used without exception handler (e.g) for debug infos
or C unwind with attribute cleanup, and this happened to be quite
intrusive...<br>
</p>
<p>But simpler, when the exceptions are not enabled, we should be
able to remove them. Just passing this this bit of information
through a new disable-arm-cantunwind llvm option makes the uwtable
and nounwind table orthogonal with exception support. <br>
</p>
<p>This option is set in clang when no exception support allowing to
have the -f[no-]exceptions and -f[no-]unwind-tables match GCC for
C and C++.</p>
<p>Thanks a lot for your feedbacks, questions and hints for getting
on board !<br>
</p>
<pre wrap=""><a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D31140">https://reviews.llvm.org/D31139</a></pre>
<pre wrap=""><a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D31140">https://reviews.llvm.org/D31140</a>
</pre>
<p>Christian<br>
</p>
<p><br>
</p>
<p> <br>
</p>
<p><br>
</p>
</body>
</html>