I've been trying to track down this problem for a while and finally
found a small enough reproducer for a test. Reductions sometimes
produce text IR which does not parse, with errors such as
"error: wrong number of indexes, expected 9"
This appears to not happen with bitcode reduction, as the bitcode
reader seems to silently discard uselistorder when the sizes don't
match. I believe this is caused by dangling constants in the
LLVMContext, which is currently recycled between different reductions.
this CHECK line seems fragile, perhaps just uselistorder i32 0, {, and rely on the not llvm-as line check that it's invalid