[PATCH] D15556: [RS4GC] Fix crash in the case that a live variable has a constant base.

Manuel Jacob via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 22 14:36:11 PST 2015


mjacob added inline comments.

================
Comment at: test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll:17
@@ +16,3 @@
+}
+
+declare void @extern() gc "statepoint-example"
----------------
reames wrote:
> You can put them in the same file or a different one as convient.  No strong preference.
> 
> Sounds like we might want to consider adding a diagnostic flag to disable rematerialization.  Doing so would make it easier to write the simple test and is probably worthwhile.  Adding both the simple and complicated tests might be worth it as well.  
> 
> By "dead", I meant "dynamically dead, but not statically dead".  You can end up with all kinds of garbage down such a path because the compiler may have proven conflicting facts, but not yet realized the block is dead.  Don't worry about this case specifically, I was mostly just throwing out ideas.  I do want at least a bit more test coverage here, but I'm not picky about the form it takes.
> 
> p.s. The constant base assert has been removed.
OK, the commit includes another test case. I think testing that it won't rematerialize makes sense as well. So now we have one test with a non-materializable derived pointer and one with a materializable derived pointer.

I meant another assert which is still present. The comment says it's there because the verifier relies on it.


http://reviews.llvm.org/D15556





More information about the llvm-commits mailing list