]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r255076:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 5 Dec 2013 21:49:41 +0000 (21:49 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 5 Dec 2013 21:49:41 +0000 (21:49 +0000)
commitdcf8adfba39f9347fb8dcfdc97395dddae9c0d9f
treed4c5da1e5e33521a77a61979f05efd1978899cc5
parente9facc55854ef588e4cb149d6b998845d08fa784
MFC r255076:

Pull in r189672 from upstream llvm trunk:

  InstCombine: Check for zero shift amounts before subtracting one
  causing integer overflow.

  PR17026. Also avoid undefined shifts and shift amounts larger than 64
  bits (those are always undef because we can't represent integer types
  that large).

This should fix assertion failures when building the emulators/xmame
port.

Reported by: bapt

git-svn-id: svn://svn.freebsd.org/base/stable/9@259011 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp