[all-commits] [llvm/llvm-project] 2a52c3: [Statepoints] Properly handle const base pointer.

dantrushin via All-commits all-commits at lists.llvm.org
Wed Sep 9 00:08:21 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a52c3301a5254d4614401b4aa12ab7c841d7340
      https://github.com/llvm/llvm-project/commit/2a52c3301a5254d4614401b4aa12ab7c841d7340
  Author: Denis Antrushin <dantrushin at gmail.com>
  Date:   2020-09-09 (Wed, 09 Sep 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/StackMaps.h
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/StackMaps.cpp
    M llvm/test/CodeGen/X86/statepoint-vreg.ll

  Log Message:
  -----------
  [Statepoints] Properly handle const base pointer.

Current code in InstEmitter assumes all GC pointers are either
VRegs or stack slots - hence, taking only one operand.
But it is possible to have constant base, in which case it
occupies two machine operands.

Add a convinience function to StackMaps to get index of next
meta argument and use it in InsrEmitter to properly advance to
the next statepoint meta operand.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D87252




More information about the All-commits mailing list