<div dir="ltr">Now I wonder if that's why there was a '+' in front of MaximumAlignment in the original code. Was that creating a fake temporary to pass by reference?<div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 18, 2020 at 1:41 PM Craig Topper <<a href="mailto:craig.topper@gmail.com">craig.topper@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Yeah I think its a similar issue. Either need to declare them or not use std::min.</div><br clear="all"><div><div dir="ltr">~Craig</div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 18, 2020 at 1:36 PM Roman Lebedev <<a href="mailto:lebedev.ri@gmail.com" target="_blank">lebedev.ri@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hmm, sorry about that, linking issues are never fun.<br>
Tools do link to Core, right?<br>
This might need a fix similar to<br>
<a href="https://reviews.llvm.org/rGa8c3608a27a82cf1c66f33b96a06423fe0e708fc" rel="noreferrer" target="_blank">https://reviews.llvm.org/rGa8c3608a27a82cf1c66f33b96a06423fe0e708fc</a>,<br>
i.e. add declarations for Value::MaxAlignmentExponent,<br>
Value::MaximumAlignment into Value.cpp<br>
<br>
Roman<br>
<br>
On Sat, Apr 18, 2020 at 11:24 PM Craig Topper via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
><br>
> Author: Craig Topper<br>
> Date: 2020-04-18T13:23:29-07:00<br>
> New Revision: 44d63b7528e4142bda9f3daba9c11cb460cb7d77<br>
><br>
> URL: <a href="https://github.com/llvm/llvm-project/commit/44d63b7528e4142bda9f3daba9c11cb460cb7d77" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/44d63b7528e4142bda9f3daba9c11cb460cb7d77</a><br>
> DIFF: <a href="https://github.com/llvm/llvm-project/commit/44d63b7528e4142bda9f3daba9c11cb460cb7d77.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/44d63b7528e4142bda9f3daba9c11cb460cb7d77.diff</a><br>
><br>
> LOG: Revert "[Local] Simplify the alignment limits in getOrEnforceKnownAlignment. NFCI"<br>
><br>
> This reverts commit e00cfe254d99629ec344031adfe1878a84f3b0b3.<br>
><br>
> Seems to be causing a linker error on the build bots.<br>
><br>
> Added:<br>
><br>
><br>
> Modified:<br>
>     llvm/lib/Transforms/Utils/Local.cpp<br>
><br>
> Removed:<br>
><br>
><br>
><br>
> ################################################################################<br>
> diff  --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp<br>
> index b013b4681087..b9dff8c02ce4 100644<br>
> --- a/llvm/lib/Transforms/Utils/Local.cpp<br>
> +++ b/llvm/lib/Transforms/Utils/Local.cpp<br>
> @@ -1215,11 +1215,13 @@ unsigned llvm::getOrEnforceKnownAlignment(Value *V, unsigned PrefAlign,<br>
><br>
>    // Avoid trouble with ridiculously large TrailZ values, such as<br>
>    // those computed from a null pointer.<br>
> -  // LLVM doesn't support alignments larger than (1 << MaxAlignmentExponent).<br>
> -  TrailZ = std::min(TrailZ, Value::MaxAlignmentExponent);<br>
> +  TrailZ = std::min(TrailZ, unsigned(sizeof(unsigned) * CHAR_BIT - 1));<br>
><br>
>    unsigned Align = 1u << std::min(Known.getBitWidth() - 1, TrailZ);<br>
><br>
> +  // LLVM doesn't support alignments larger than this currently.<br>
> +  Align = std::min(Align, +Value::MaximumAlignment);<br>
> +<br>
>    if (PrefAlign > Align)<br>
>      Align = enforceKnownAlignment(V, Align, PrefAlign, DL);<br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>
</blockquote></div>