[PATCH] D55967: [CodeExtractor] Do not extract unsafe lifetime markers

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 20 17:45:09 PST 2018


vsk added inline comments.


================
Comment at: llvm/test/Transforms/CodeExtractor/PartialInlineAlloca4.ll:12
+; CHECK-NEXT: call void @callee_unknown_use1.{{.*}}(i8* %tmp.i
+; CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 -1, i8* %tmp.i)
+
----------------
davidxl wrote:
> The purpose of the extraction is to shrink the alloca call into the outlined function and thus reducing call overhead of the outline function. This fix breaks that.
> 
> 
Here, the alloca remains in 'caller' both without and with this patch. Are you suggesting that lifetime markers have an affect on codegen even when the referenced alloca is in a different function? I don't see why this would be, but if so, would the right fix be to only move lifetime markers out of outlined code when there are conflicting markers in the caller?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55967/new/

https://reviews.llvm.org/D55967





More information about the llvm-commits mailing list