[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