Strip off invariant.start because memory locations arent invariant
authorAnna Thomas <anna@azul.com>
Thu, 2 Nov 2017 18:24:04 +0000 (18:24 +0000)
committerAnna Thomas <anna@azul.com>
Thu, 2 Nov 2017 18:24:04 +0000 (18:24 +0000)
commit729dafc16ba925b45470f133eb9a3e902e9871fc
tree34917b797f0e1c08a29e2610e12a22210315c702
parent547e5ad0afbbc621d6d77cc5c99b9df6f86a4ba9
Strip off invariant.start because memory locations arent invariant

The original change was reverted in rL317217 because of the failure in
the RS4GC testcase. I couldn't reproduce the failure on my local machine
(macbook) but could reproduce it on a linux box.

The failure was around removing the uses of invariant.start. The fix
here is to just RAUW undef (which was the first implementation in D39388).
This is perfectly valid IR as discussed in the review.

llvm-svn: 317225
llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
llvm/test/Transforms/RewriteStatepointsForGC/drop-invalid-metadata.ll