[cfe-dev] Possible problem with loop-unrolling, templates and optimisation

Martin J. O'Riordan via cfe-dev cfe-dev at lists.llvm.org
Tue Jan 30 06:26:03 PST 2018


Hi CFE-Devs,

 

I am investigating a number of regressions in my out-of-tree target since I
migrated from LLVM v4 to v5.  They have been there a while, but waiting for
me to have time to analyse.  In all cases the enabling of the loop-unroller
seems to cause the problem.

 

There are 14 failures are in 'tests/std/containers/unord/unord[multimap]'
and 1 other 'tests/src/utilities/exchange/exchange.pass.cpp'.  All appear to
be to do with the list constructors and the list iteration.  I can't see any
particular issue with my backend, except that it is for non-interlocked VLIW
so scheduling tends to be more sensitive to tiny differences in dependencies
than for more traditional targets.

 

Disabling unrolling, or disabling function inlining seems to fix the
problem.

 

Before I go digging deeper, has anybody else come across issues with the
loop-unroller and these tests in their targets using the v5.0.0 sources?

 

I am emailing CFE rather than LLVM, because on the surface it looks like an
IR emission issue from CLang, but I won't know for sure until I start
digging deeper.  If it transpires that it is not CLang, I will start a new
conversation on LLVM-Dev.

 

Thanks,

 

            MartinO

 

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


More information about the cfe-dev mailing list