[PATCH] D38068: [DebugInfo] Use a DenseMap to coalesce MachineOperand locations

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 19 18:09:45 PDT 2017


rnk created this revision.
Herald added a subscriber: hiraditya.

The new code should be linear in the number of DBG_VALUEs, while the old
code was quadratic.

This is also hopefully a more direct expression of the problem, which
is to:

1. Rewrite all virtual register operands to stack slots or physical registers
2. Uniquely number those machine operands, assigning them location numbers
3. Rewrite all uses of the old location numbers in the interval map to use the new location numbers

In r313400, I attempted to track which locations were spilled in a
parallel bitvector indexed by location number. My code was broken
because these location numbers are not stable during rewriting.


https://reviews.llvm.org/D38068

Files:
  llvm/include/llvm/CodeGen/MachineOperand.h
  llvm/lib/CodeGen/LiveDebugVariables.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38068.115944.patch
Type: text/x-patch
Size: 6812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170920/78d7f33a/attachment.bin>


More information about the llvm-commits mailing list