[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 12:53:56 PST 2018


Thanks Eli,

 

I didn't know about this document, and it looks like it has good guidance
for other types of debugging too.

 

            MartinO

 

From: Friedman, Eli [mailto:efriedma at codeaurora.org] 
Sent: 30 January 2018 18:36
To: Martin J. O'Riordan <MartinO at theheart.ie>; 'clang developer list'
<cfe-dev at lists.llvm.org>
Subject: Re: [cfe-dev] Possible problem with loop-unrolling, templates and
optimisation

 

On 1/30/2018 6:26 AM, Martin J. O'Riordan via cfe-dev wrote:

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.

 


I would generally assume this indicates an optimization bug.  (That isn't
always true; the source code could have undefined behavior.   But if the
test doesn't have any asan or ubsan failures, there isn't any good way to
track down undefined behavior anyway.)

You probably want to start with https://llvm.org/docs/OptBisect.html.

-Eli



-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux
Foundation Collaborative Project
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180130/f707b8d7/attachment.html>


More information about the cfe-dev mailing list