]> granicus.if.org Git - llvm/commit
[GVN] Fix last crasher w/non-integral pointers
authorPhilip Reames <listmail@philipreames.com>
Wed, 20 Feb 2019 00:15:54 +0000 (00:15 +0000)
committerPhilip Reames <listmail@philipreames.com>
Wed, 20 Feb 2019 00:15:54 +0000 (00:15 +0000)
commita42abce22562b0a0f48936ea98dd2b9efc48f1a5
treeec2251a5d0fb65988ad440083e88341bcefae32e
parent4408ff5e00b94a792ee323455bcd6c6e35a009d9
[GVN] Fix last crasher w/non-integral pointers

Same case as for memset and memcpy, but this time for clobbering stores and loads.  We still can't allow coercion to or from non-integrals, regardless of the transform.

Now that I'm done the whole little sequence, it seems apparent that we'd entirely missed reasoning about clobbers in the original GVN support for non-integral pointers.

My appologies, I thought we'd upstreamed all of this, but it turns out we were still carrying a downstream hack which hid all of these issues.  My chanks to Cherry Zhang for helping debug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354407 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/VNCoercion.cpp
test/Transforms/GVN/non-integral-pointers.ll