Previously, only the outer (last) bitcast was rematerialized, resulting in a
use of the unrelocated inner (first) bitcast after the statepoint. See the
test case for an example.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
I think you need to leave in:
if (!CI->isNoopCast(CI->getModule()->getDataLayout()))
- return false;
This is needed to catch things like addrspacecast.
Other than that, LGTM.
Comment Actions
Looks good for me too. I agree with Philip's comments - better leave isNoopCast check.