The commit in question causes miscompiliation of VirtualBox. Efforts to create a reproducer are underway, but quite complicated. Submitted by: kevans Sponsored by: DARPA
16 lines
835 B
Text
16 lines
835 B
Text
--- lib/CodeGen/Analysis.cpp.orig 2020-03-26 15:48:08 UTC
|
|
+++ lib/CodeGen/Analysis.cpp
|
|
@@ -538,11 +538,10 @@ bool llvm::isInTailCallPosition(ImmutableCallSite CS,
|
|
// Debug info intrinsics do not get in the way of tail call optimization.
|
|
if (isa<DbgInfoIntrinsic>(BBI))
|
|
continue;
|
|
- // A lifetime end or assume intrinsic should not stop tail call
|
|
+ // An assume intrinsic should not stop tail call
|
|
// optimization.
|
|
if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(BBI))
|
|
- if (II->getIntrinsicID() == Intrinsic::lifetime_end ||
|
|
- II->getIntrinsicID() == Intrinsic::assume)
|
|
+ if (II->getIntrinsicID() == Intrinsic::assume)
|
|
continue;
|
|
if (BBI->mayHaveSideEffects() || BBI->mayReadFromMemory() ||
|
|
!isSafeToSpeculativelyExecute(&*BBI))
|