Static analyser cppcheck says:
llvm/lib/CodeGen/LiveRangeUtils.h:40:6: error: Same iterator is used with different containers 'LR' and 'LR.segments'. [iterators1]
Source code is
typename LiveRangeT::iterator J = LR.begin(), E = LR.end();
// ...
LR.segments.erase(J, E);
So J and E are iterators for LR, but get used on LR.segments.
I am surprised this compiles.