Sorry for answering much later (was dragged into other LLVM subprojects recently), but figured I better get this merged before it diverges too much and get lost… (to avoid someone ending up reimplementing everything again from scratch).
Anyway, the biggest part of this branch was this commit:
It basically added a working implementation of ProcessWindows. It was good enough to debug actual simple Win32 processes that I compiled with GCC (might work on much bigger ones, didn’t try it), including multithread single stepping, breakpoints, variable watches, disassembler, etc… Also, if user breaks inside a Win32 call, it could usually step out of it properly as well (but might need improvements – Win32 ABI support seems to have improved a lot as well in the meantime in LLVM, Clang and GCC/Mingw32 so situation might be easier.
However some specific parts probably needed rewrite/review.
Considering it works as a whole, I figured it would be better to first merge it, and rewrite the necessary part while doing the review (probably various part would need better implementations, I might have misunderstood some LLDB internals since I was discovering the project).
Actually I have already split mostly everything that was not part of ProcessWindows plugin itself, and got it merged to trunk in the past (2013/early 2014).
If I were to split it more, I am afraid it would probably be hard to test/improve because it wouldn’t work and be testable (actually it is not that huge, ProcessWindows.cpp, the probably only meaningful file of this commit, is less than a 1000 line).
But I wouldn’t mind trying to split it if people prefer it that way (as long as it gets reviewed and merged smoothly).
Anyway let me know if you want me to try rebase and/or merge it (or not).