[AArch64] ConditionOptimizer: replace intra-block scan with map-based algorithm (#190455)
The previous condopt implementation found the first two CSINC
instructions in a block and attempted one optimisation, ignoring other
possible pairs. It also performed extra forward and backward walks.
Replace the two-CSINC scan with a single forward walk maintaining a
DenseMap keyed by canonical (copy-traced) register. Any number of pairs
per block are now handled.