[llvm-dev] Early Tail Duplication Inefficiency

Florian Hahn via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 30 12:02:09 PST 2019



> On Jan 30, 2019, at 18:00, Riyaz Puthiyapurayil via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> I didn’t see any response on this. Is there any way to turn off early tail duplication with a clang-7 option (other than completely turning off all optimizations)? The issue is reproducible with a very simple test case. Clang-7 with optimizations turned on takes hours compared to minutes with clang-5.0. Here is a simple cooked up test (the real-life example is of course different but this simple test exposes the same inefficiency):
>  
> // test.cpp
> #include <string>
>  
> struct Foo {
>     std::string s1;
>     std::string s2;
>     std::string s3;
> };
>  
> Foo Array[] = {
>     { “0”, “0”, “0” },
>     { “1”, “1”, “1” },
>      :
>      :
>      :
>     { “9999”, “9999”, “9999” }
> };
>  
> Compile:
>  
> % clang++ -c -O3 test.cpp
>

I think a bug report would be useful to track the issue. It would be great if you could file one here: https://bugs.llvm.org/ <https://bugs.llvm.org/>
Ideally with a reproducer.

Thanks,
Florian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190130/d5682229/attachment.html>


More information about the llvm-dev mailing list