[AArch64][FastISel] Don't fold shifts with UB.
authorJuergen Ributzka <juergen@apple.com>
Wed, 19 Aug 2015 20:52:55 +0000 (20:52 +0000)
committerJuergen Ributzka <juergen@apple.com>
Wed, 19 Aug 2015 20:52:55 +0000 (20:52 +0000)
commit58f4f24a6e23b68e8c32d44819eceb7dbb2c563d
tree3e06bb4b77a0de0f4844ce067fd7a06abb226374
parent26047ead4be0d2ca9d8325d50b10e2afe86320e0
[AArch64][FastISel] Don't fold shifts with UB.

We are already falling back to SelectionDAG when encountering an shift with UB.
This adds the same checks for shifts with UB that get folded into arithmetic or
logical operations.

This fixes rdar://problem/22345295.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245499 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64FastISel.cpp
test/CodeGen/AArch64/fast-isel-folded-shift.ll [new file with mode: 0644]
test/CodeGen/AArch64/fast-isel-logic-op.ll