[llvm-dev] Early Tail Duplication Inefficiency (original) (raw)
Florian Hahn via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 30 12:02:09 PST 2019
- Previous message: [llvm-dev] Early Tail Duplication Inefficiency
- Next message: [llvm-dev] Finding label of basic block where a conditional branch merges
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 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>
- Previous message: [llvm-dev] Early Tail Duplication Inefficiency
- Next message: [llvm-dev] Finding label of basic block where a conditional branch merges
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]