[llvm-commits] [llvm] r162912 - in /llvm/trunk: lib/Transforms/Scalar/LoopRotation.cpp test/Transforms/LoopRotate/multiple-exits.ll

Benjamin Kramer benny.kra at gmail.com
Sun Sep 2 05:02:28 PDT 2012


On 02.09.2012, at 08:35, Duncan Sands <baldrick at free.fr> wrote:

> Hi Benjamin,
> 
> On 01/09/12 12:08, Benjamin Kramer wrote:
>> 
>> On 01.09.2012, at 10:42, Duncan Sands <baldrick at free.fr> wrote:
>> 
>>> Hi Benjamin, probably this caused this expensive checks buildbot failure:
>>> 
>>> http://lab.llvm.org:8011/builders/dragonegg-x86_64-linux-gcc-4.6-self-host-checks/builds/1535
>>> 
>>> The failure is:
>>> 
>>> DominatorTree is not up to date!
>>> Computed:
>>> =============================--------------------------------
>>> Inorder Dominator Tree: DFSNumbers invalid: 6 slow queries.
>>> ...
>>> 
>>> I'm working on a testcase.  Unfortunately I haven't yet been able to reproduce
>>> with "opt" on a dump of the bitcode from the failing example.
>> 
>> Yikes, these are notoriously hard to reproduce, it's highly dependent on phase ordering :(
>> 
>> Maybe taking the list of passes that dragonegg runs and passing it to opt together with "-verify-dom-info" helps?
> 
> I managed to get a testcase (attached).  It fires here if I run "opt -O1" on it
> (opt built with expensive checks enabled).  For some reason it doesn't fire when
> run under bugpoint, so it's unreduced.

Thanks a lot for the test case, it was really helpful.

As suspected this was due to the way the code tried to process CFG predecessors of a block before the block itself, it didn't work if it wasn't an immediate predecessor. I committed a fix in r163091. I'm not really happy about the fix because it can potentially slow down compilation of certain cases a lot but I hope it will bring the buildbots back to life for now.

- Ben

> 
> Ciao, Duncan.
> <histogram.ll.gz>





More information about the llvm-commits mailing list