[GC] Remove redundant entiries in stackmap section (and test it this time)
authorPhilip Reames <listmail@philipreames.com>
Thu, 12 Mar 2020 04:23:56 +0000 (21:23 -0700)
committerPhilip Reames <listmail@philipreames.com>
Thu, 12 Mar 2020 04:24:48 +0000 (21:24 -0700)
commit8fffa40400e8719222e7f67152c12738521fa9fb
tree87534373db6553fb935200fa09958f72fc8977b7
parentc4d23d8854840294bf49c524f93e2be85a401f00
[GC] Remove redundant entiries in stackmap section (and test it this time)

This is a reimplementation of the optimization removed in D75964. The actual spill/fill optimization is handled by D76013, this one just worries about reducing the stackmap section size itself by eliminating redundant entries. As noted in the comments, we could go a lot further here, but avoiding the degenerate invoke case as we did before is probably "enough" in practice.

Differential Revision: https://reviews.llvm.org/D76021
llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
llvm/test/CodeGen/X86/statepoint-stackmap-size.ll [new file with mode: 0644]