This is a work-in-progress that I wanted to throw it out there to solicit opinions.
This patch builds upon http://reviews.llvm.org/D20178 + http://reviews.llvm.org/D20636 and improves LiveDebugValues::transferRegisterDef() by adding a BitVector tracking the registers holding DebugVariables.
Note that even though we can efficiently calculate the set of clobbered registers, we are still iterating over all OpenRanges to find which VarLocs are associated with these registers.
This has no dramatic impact on the overall runtime. In my large ASAN benchmark we get a 500ms improvement on LiveDebugValues::runOnMachineFunction() out of ~7s total. However, all benchmarks are now dominated by the subsequent run of DbgValueHistoryCalculator, which takes ~55s in the same benchmark.