projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[RS4GC] Fix rematerialization of bitcast of bitcast.
[oota-llvm.git]
/
lib
/
Transforms
/
Scalar
/
RewriteStatepointsForGC.cpp
diff --git
a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
b/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
index a077ba01a9282425e9ffe7c39b75a486a9eb36ce..a9dc8d8eec079f9606af494a15dc565ffbcc2652 100644
(file)
--- a/
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
+++ b/
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
@@
-2101,16
+2101,12
@@
static bool findRematerializableChainToBasePointer(
}
if (CastInst *CI = dyn_cast<CastInst>(CurrentValue)) {
}
if (CastInst *CI = dyn_cast<CastInst>(CurrentValue)) {
- Value *Def = CI->stripPointerCasts();
-
- // This two checks are basically similar. First one is here for the
- // consistency with findBasePointers logic.
- assert(!isa<CastInst>(Def) && "not a pointer cast found");
if (!CI->isNoopCast(CI->getModule()->getDataLayout()))
return false;
ChainToBase.push_back(CI);
if (!CI->isNoopCast(CI->getModule()->getDataLayout()))
return false;
ChainToBase.push_back(CI);
- return findRematerializableChainToBasePointer(ChainToBase, Def, BaseValue);
+ return findRematerializableChainToBasePointer(ChainToBase,
+ CI->getOperand(0), BaseValue);
}
// Not supported instruction in the chain
}
// Not supported instruction in the chain