[AutoDiff] Fix usefulness propagation for array literal initialization. (#28259)
Handle two more cases in `setUsefulAcrossArrayInitialization`:
- `copy_addr` user of `pointer_to_address` result.
- `copy_addr` user of `index_addr` user of `pointer_to_address` result.
The strategy is still to selectively propagate usefulness through array
initialization intrinsic applications to prevents values from being marked
as active unnecessarily.
Partially resolves TF-952.