[PATCH] D43269: [MemorySSA] Be less aggressive with @llvm.lifetime.start

George Burgess IV via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 7 14:35:00 PDT 2018


george.burgess.iv added a comment.

Currently, MSSA treats lifetime intrinsics as clobbers, even though they're technically not. This patch would further solidify that behavior, which might not be a good thing (e.g. there's a good argument that we shouldn't be treating lifetime intrinsics as clobbers in the first place). I'm happy to rip out what few lifetime-related pieces MSSA has, but before doing so:

- I'd like an ack from a owner (hal/reames) that this is a direction we're comfortable with supporting, and
- we'd need to vet that users of MSSA aren't relying on this behavior (EarlyCSE apparently is, probably implicitly). If they are, we'd need to fix that. :)

To your point, I'm fine with submitting this as is + picking it over to 7.0, as long as I can put a big, loud "FIXME: Lifetime intrinsics probably won't always be here," in the code.

If we do think that pretending lifetime.starts are clobbers (or similar) is overall the best way forward, then sure, this patch works and is the correct fix for the miscompile.


Repository:
  rL LLVM

https://reviews.llvm.org/D43269





More information about the llvm-commits mailing list