[PATCH] D39388: [RS4GC] Strip off invariant.start because memory locations arent invariant
Anna Thomas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 31 09:02:30 PDT 2017
anna added a comment.
In https://reviews.llvm.org/D39388#911770, @dneilson wrote:
> Is is possible to also remove the corresponding invariant.end calls to the removed invariant.start calls? This patch will leave orphaned calls to invariant.end sitting around in the IR that have no corresponding start.
Yes, we could remove it (which was what I initially did), but I didn't see any benefit for doing so. It would be special casing just one type of use of invariant.start. As testcase points out, we can have any instruction using invariant.start, and we cannot just remove those uses, because those uses may have other uses...
Just to be clear: having orphaned invariant.end is perfectly valid IR. On the other hand, as an IR cleanup, that's a good thing to do, especially because invariant.end cannot have any uses. I'll update the patch with special casing invariant.end
https://reviews.llvm.org/D39388
More information about the llvm-commits
mailing list