Stop APInt::shl from generating llvm.trap
authorDerek Schuff <dschuff@google.com>
Fri, 26 Oct 2012 19:52:27 +0000 (19:52 +0000)
committerDerek Schuff <dschuff@google.com>
Fri, 26 Oct 2012 19:52:27 +0000 (19:52 +0000)
commitb61054ff8f5568489109a0ccf2799307c3671309
treeac4574485813a3da8c68f37dfa7d3f73360b344e
parentecc69a1d99963b2b1bba92bdcefbfa8a8f1c497a
Stop APInt::shl from generating llvm.trap

APInt::shl generated llvm.trap to guard against shifts greater than bit-width.
This was already checked with an assert, and there was a special case for
shifts equal to bit-width. Modify this check to catch shifts greater than or
equal to bit-width, so llvm.trap isn't generated.

Patch contributed by JF Bastien

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166803 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/APInt.h