Other targets like ARM, AArch64, RISCV and X86 have similar tests.
O1, O2 and O3 appear to be the same for now. But in future, some
passes may be disabled at lower levels (e.g. O1). Hoping we can use
FileCheck prefixes for differences to avoid repeating the contents 3
times.