[all-commits] [llvm/llvm-project] 8fe2ab: [Statepoint] Consolidate relocation type tracking ...

Philip Reames via All-commits all-commits at lists.llvm.org
Wed Jul 29 11:45:51 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8fe2abc190f95226fe48d920b7355d8134d03ed1
      https://github.com/llvm/llvm-project/commit/8fe2abc190f95226fe48d920b7355d8134d03ed1
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.h

  Log Message:
  -----------
  [Statepoint] Consolidate relocation type tracking [NFC]

Change the way we track how a particular pointer was relocated at a statepoint in selection dag.  Previously, we used an optional<location> for the spill lowering, and a block local Register for the newly introduced vreg lowering.  Combine all three lowerings (norelocate, spill, and vreg) into a single helper class, and keep a single copy of the information.

This is submitted separately as it really does make the code more readible on it's own, but the indirect motivation is to move vreg tracking from StatepointLowering to FunctionLoweringInfo.  This is the last piece needed to support cross block relocations with vregs; that will follow in a separate (non-NFC) patch.




More information about the All-commits mailing list