We currently do not deduplicate any intrinics which have side effects. This results in us not deduplicating instrinsics which we should be able to (example given in #6527 where we do not deduplicate Intrinsic::ToRadix calls of the same variable in the same block).
We essentially need to make deduplication of these instructions aware of deduplicate_with_predicate similarly to how we do for other instructions.
We can add the && deduplicate_with_predicate clause but we also need to actually match on them more closely in that case since we still wouldn't want to deduplicate e.g. println(1)
We currently do not deduplicate any intrinics which have side effects. This results in us not deduplicating instrinsics which we should be able to (example given in #6527 where we do not deduplicate
Intrinsic::ToRadix
calls of the same variable in the same block).We essentially need to make deduplication of these instructions aware of
deduplicate_with_predicate
similarly to how we do for other instructions.