When parsing DWARF instructions we can sometimes end up with instruction operands in reversed order. This was caused by two facts:
- getULEB128(Offset) changes Offset and
- Evaluation order of function arguments is unspecified
It means that two getULEB128 calls embedded into function argument list were executed in any arbitrary order. Sometimes this was resulting in a reversed instruction operands.
This issue came up after _eh_frame changes http://reviews.llvm.org/D15535. However they are not directly related.