Vedant Kumar 4de31bba51 [IR] Add hasNPredecessors, hasNPredecessorsOrMore to BasicBlock
Add methods to BasicBlock which make it easier to efficiently check
whether a block has N (or more) predecessors.

This can be more efficient than using pred_size(), which is a linear
time operation.

We might consider adding similar methods for successors. I haven't done
so in this patch because succ_size() is already O(1).

With this patch applied, I measured a 0.065% compile-time reduction in
user time for running `opt -O3` on the sqlite3 amalgamation (30 trials).
The change in mergeStoreIntoSuccessor alone saves 45 million linked list
iterations in a stage2 Release build of llc.

See llvm.org/PR39702 for a harder but more general way of achieving
similar results.

Differential Revision: https://reviews.llvm.org/D54686

llvm-svn: 347256
2018-11-19 19:54:27 +00:00
..
2018-11-17 01:44:25 +00:00
2018-11-17 01:44:25 +00:00
2018-11-06 01:54:12 +00:00
2018-07-30 19:41:25 +00:00
2018-11-17 01:44:25 +00:00
2018-11-17 01:44:25 +00:00
2018-05-14 12:53:11 +00:00
2018-07-30 19:41:25 +00:00