<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 10/26/2017 10:56 PM, Chris Lattner
via llvm-dev wrote:<br>
</div>
<blockquote
cite="mid:AA022A6C-756B-40AB-BB89-50199CBD5502@nondot.org"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Oct 26, 2017, at 8:14 PM, Chandler Carruth
via llvm-dev <<a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; text-align:
start; text-indent: 0px; text-transform: none;
white-space: normal; word-spacing: 0px;
-webkit-text-stroke-width: 0px;" class=""><br
class="Apple-interchange-newline">
One alternative that seems appealing but doesn't actually
help would be to make `TargetLibraryInfo` ignore internal
functions. That is how the C++ spec seems to handle this
for example (C library function names are reserved only
when they have linkage). But this doesn't work well for
LLVM because we want to be able to LTO an internalized C
library. So I think we need the rule for LLVM function
names to not rely on linkage here.</div>
</div>
</blockquote>
<br class="">
</div>
<div>Oh sorry, (almost) TLDR I didn’t get to this part. I don’t
see how this is applicable. If you’re statically linking in a
libc, I think it is fine to forgo the optimizations
that TargetLibraryInfo is all about.</div>
<div><br class="">
</div>
<div>If these transformations are important to use in this case,
we should invent a new attribute, and the thing that turns libc
symbols into internal ones should add the attribute to the (now
internal) libc symbols.</div>
</blockquote>
<br>
I'm not sure; some of the transformations are somewhat special
(e.g., based on mathematical properties, or things like printf ->
puts translation). LTO alone certainly won't give you those kinds of
things via normal IPA, and I doubt we want attributes for all of
them. Also, having LTO essentially disable optimizations isn't good
either.<br>
<br>
-Hal<br>
<br>
<blockquote
cite="mid:AA022A6C-756B-40AB-BB89-50199CBD5502@nondot.org"
type="cite">
<div><br class="">
</div>
<div>-Chris</div>
<div><br class="">
</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>