[PATCH] [RewriteStatepointsForGC] Fix debug assertion during derivable pointer rematerialization
Phabricator
reviews at reviews.llvm.org
Thu May 21 06:06:23 PDT 2015
REPOSITORY
rL LLVM
http://reviews.llvm.org/D9882
Files:
llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Index: llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
+++ llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
@@ -1944,12 +1944,12 @@
assert(LastValue);
ClonedValue->replaceUsesOfWith(LastValue, LastClonedValue);
#ifndef NDEBUG
- // Assert that cloned instruction does not use any instructions
- // other than LastClonedValue
- for (auto OpValue: ClonedValue->operand_values()) {
- if (isa<Instruction>(OpValue))
- assert(OpValue == LastClonedValue &&
- "unexpected use found in rematerialized value");
+ // Assert that cloned instruction does not use any instructions from
+ // this chain other than LastClonedValue
+ for (auto OpValue : ClonedValue->operand_values()) {
+ assert(std::find(ChainToBase.begin(), ChainToBase.end(), OpValue) ==
+ ChainToBase.end() &&
+ "incorrect use in rematerialization chain");
}
#endif
}
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9882.26229.patch
Type: text/x-patch
Size: 1173 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150521/7277387d/attachment.bin>
More information about the llvm-commits
mailing list