[AArch64] ConditionOptimizer: replace per-block DenseMap with ScopedHashTable traversal (#196746)
The intra-block path used a DenseMap cleared at each block boundary, so
pairs from dominating blocks were never visible to descendants. Replace
it and the separate cross-block path with a unified recursive domtree
walk using a ScopedHashTable. Any dominating block's pair is now a
candidate, not just pairs within the same block.
Rename optimizeIntraBlock to optimizeBlock and remove dead code