Fixed jump threading going to infinite loop.
authorDinesh Dwivedi <dinesh.d@samsung.com>
Tue, 17 Jun 2014 14:34:19 +0000 (14:34 +0000)
committerDinesh Dwivedi <dinesh.d@samsung.com>
Tue, 17 Jun 2014 14:34:19 +0000 (14:34 +0000)
commit199da600f3afd6804af2077203a2d4086d7242a9
treec8ab06ea6cbcd20fd797c90ff36c2e005b1fcf75
parent3b2a2563322161a609fd6672af2d879c6bd65e8d
Fixed jump threading going to infinite loop.

This patch add code to remove unreachable blocks from function
as they may cause jump threading to stuck in infinite loop.

Differential Revision: http://reviews.llvm.org/D3991

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211103 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/JumpThreading.cpp
test/Transforms/JumpThreading/pr15851_hang.ll [new file with mode: 0644]
test/Transforms/JumpThreading/select.ll