[CodeGenPrepare] Don't sink a cast past its user
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 27 Apr 2016 19:36:38 +0000 (19:36 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 27 Apr 2016 19:36:38 +0000 (19:36 +0000)
commit0c80e2eac64d6f25e522079632de8bf4d201b459
tree1373bc141bb24664f9fa9511e3b983943387d9c0
parent1b60168576e7b48e500d52a215ac648b539678e3
[CodeGenPrepare] Don't sink a cast past its user

The sink cast machinery is supposed to sink casts as close to their user
as possible.  However, an EH pad is the first instruction in it's basic
block.  Don't sink if the user is an EH pad.

This fixes PR27536.

llvm-svn: 267767
llvm/lib/CodeGen/CodeGenPrepare.cpp
llvm/test/Transforms/CodeGenPrepare/X86/pr27536.ll [new file with mode: 0644]