llvm-project/llvm/test/Transforms/Util
Florian Hahn 5ac2629823 [PredicateInfo] Order instructions in different BBs by DFSNumIn.
Using OrderedInstructions::dominates as comparator for instructions in
BBs without dominance relation can cause a non-deterministic order
between such instructions. That in turn can cause us to materialize
copies in a non-deterministic order. While this does not effect
correctness, it causes some minor non-determinism in the final generated
code, because values have slightly different labels.

Without this patch, running -print-predicateinfo on a reasonably large
module produces slightly different output on each run.

This patch uses the dominator trees DFSInNum to order instruction from
different BBs, which should enforce a deterministic ordering and
guarantee that dominated instructions come after the instructions that
dominate them.

Reviewers: dberlin, efriedma, davide

Reviewed By: efriedma

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

llvm-svn: 335150
2018-06-20 17:42:01 +00:00
..
PredicateInfo [PredicateInfo] Order instructions in different BBs by DFSNumIn. 2018-06-20 17:42:01 +00:00
PR37334-break-crit-edges-require-dt.ll Require DominatorTree when requiring/preserving LoopInfo in the old pass manager 2018-05-17 09:05:40 +00:00
clone-dicompileunit.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
combine-alias-scope-metadata.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
flattencfg.ll
libcalls-fast-math-inf-loop.ll [SimplifyLibCalls] Fix infinite loop with fast-math optimization. 2017-04-25 12:36:14 +00:00
libcalls-opt-remarks.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
libcalls-shrinkwrap-double.ll
libcalls-shrinkwrap-float.ll
libcalls-shrinkwrap-long-double.ll
lowerinvoke-funclet.ll Support a funclet operand bundle in LowerInvoke 2018-05-09 00:53:50 +00:00
lowerswitch.ll [LowerSwitch] Fixed faulty PHI node update 2018-05-22 08:46:48 +00:00
simplify-dbg-declare-load.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
split-bit-piece.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
store-first-op.ll
strip-gc-relocates.ll
strip-nonlinetable-debuginfo-containingtypes.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
strip-nonlinetable-debuginfo-cus.ll
strip-nonlinetable-debuginfo-localvars.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
strip-nonlinetable-debuginfo-loops.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
strip-nonlinetable-debuginfo-subroutinetypes.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00