[PATCH] D58349: [Dominators] Fix and optimize edge insertion of depth-based search

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 18 20:34:04 PST 2019


MaskRay marked 3 inline comments as done.
MaskRay added a comment.

I refactored the code a bit more. I found the split function actually made me hard to follow the logic so I just deleted it.

The current patches passes `ninja check-all`. Also checked `llvm-as.bc` (generated by gllvm) and sqlite3.bc

sqlite-autoconf-3270100
`clang -Xclang -disable-llvm-passes -c -emit-llvm sqlite3.c` # get sqlite.bc

Compared `opt -passes='default<O3>,function(print<domtree>)' -disable-output < sqlite3.bc` => no difference.

`cmake -GNinja -H. -BGLLVM -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gclang -DCMAKE_CXX_COMPILER=gclang++ -DCMAKE_C_FLAGS='-Xclang -disable-llvm-passes' -DCMAKE_CXX_FLAGS='-Xclang -disable-llvm-passes'`

Compared`opt -passes='default<O3 <https://reviews.llvm.org/owners/package/3/>>,function(print<domtree>) -disable-output < ~/llvm/GLLVM/bin/llvm-as.bc` (39MiB) => no difference



================
Comment at: include/llvm/Support/GenericDomTreeConstruction.h:746
     InsertionInfo II;
+    SmallVector<TreeNodePtr, 8> Stack;
     LLVM_DEBUG(dbgs() << "Marking " << BlockNamePrinter(To)
----------------
kuhar wrote:
> Is it possible to give `Stack` a less generic name, or comment on what it corresponds to in the paper?
Changed it to `UnaffectedOnCurrentLevel`


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58349/new/

https://reviews.llvm.org/D58349





More information about the llvm-commits mailing list