HomePhabricator

[MemorySSA] Fix for non-determinism in codegen

Authored by mgrang on Nov 21 2016, 11:33 AM.

Description

[MemorySSA] Fix for non-determinism in codegen

This patch fixes the non-determinism caused due to iterating SmallPtrSet's
which was uncovered due to the experimental "reverse iteration order " patch:
https://reviews.llvm.org/D26718

The following unit tests failed because of the undefined order of iteration.
LLVM :: Transforms/Util/MemorySSA/cyclicphi.ll
LLVM :: Transforms/Util/MemorySSA/many-dom-backedge.ll
LLVM :: Transforms/Util/MemorySSA/many-doms.ll
LLVM :: Transforms/Util/MemorySSA/phi-translation.ll

Reviewers: dberlin, mgrang

Subscribers: dberlin, llvm-commits, david2050

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

llvm-svn: 287563

Details

Committed
mgrangNov 21 2016, 11:33 AM
Differential Revision
D26704: [MemorySSA] Fix for non-determinism in codegen
Parents
rG3ffa6f40b0a3: Minor change
Branches
Unknown
Tags
Unknown