[PATCH] D54730: [DomTree] Fix order of domtree updates in MergeBlockIntoPredecessor.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 20 12:28:42 PST 2018


efriedma added a comment.

> Has anyone run CTMark test-suite numbers on this patch before and after?

I would expect this has very little impact if you don't hit the quadratic case.

> is it possible to post the extreme C++ case to analyze exactly what's happening in the Dominator update routines and why?

The original code is proprietary, so I can't post it... I'll try to come up with a similar artificial testcase.

My first attempt at producing an artificial testcase is the following... but patch doesn't fix this one.  I'll look into why my testcase is different.  (Produce an IR file with Python, then run opt -gvn on the result.)

  count=10000
  print "define void @f(i1 %x) {entry:br i1 0, label %bb0, label %bb" + str(count)
  for i in xrange(count):
    print "bb{}: br label %bb{}".format(i,i+1)
  print "bb{}: ret void}}".format(count)


Repository:
  rL LLVM

https://reviews.llvm.org/D54730





More information about the llvm-commits mailing list