This is part of the series started by D9375, and teaches computeKnownBits to look through calls to llvm.noalias. This is necessary for pointer-alignment propagation to work.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Analysis/ValueTracking.cpp | ||
---|---|---|
1463–1465 | I wonder if it'd make sense to make this intrinsic's pointer parameter as returned and then teach computeKnownBitsFromOperator how to recurse onto a returned parameter. |
lib/Analysis/ValueTracking.cpp | ||
---|---|---|
1463–1465 | Excellent! This applies to many of the patches, however. I'll rework the relevant patches to be about the returned attribute, not the noalias intrinsic specifically. That makes me happier. |
I wonder if it'd make sense to make this intrinsic's pointer parameter as returned and then teach computeKnownBitsFromOperator how to recurse onto a returned parameter.