[JumpThreading] Prevent non-deterministic use lists
authorPablo Barrio <pablo.barrio@arm.com>
Mon, 14 Nov 2016 10:24:26 +0000 (10:24 +0000)
committerPablo Barrio <pablo.barrio@arm.com>
Mon, 14 Nov 2016 10:24:26 +0000 (10:24 +0000)
commit7ce2c5ecaf780314e50796237832900c3d63da5b
tree4c0bcc040e964319911c912fc968fb11a791da03
parenta92d49dabf376ae6db4bb16e2bdd5d6382be6103
[JumpThreading] Prevent non-deterministic use lists

Summary:
Unfolding selects was previously done with the help of a vector
of pointers that was then sorted to be able to remove duplicates.
As this sorting depends on the memory addresses, it was
non-deterministic. A SetVector is used now so that duplicates are
removed without the need of sorting first.

Reviewers: mgrang, efriedma

Subscribers: llvm-commits

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

llvm-svn: 286807
llvm/lib/Transforms/Scalar/JumpThreading.cpp