[all-commits] [llvm/llvm-project] 34f4fe: [NFC][Regalloc] Ensure Query::interferingVRegs is ...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Tue Nov 2 18:27:09 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 34f4fe3a9009d4443ff166a36d7ddb07e3ebb512
      https://github.com/llvm/llvm-project/commit/34f4fe3a9009d4443ff166a36d7ddb07e3ebb512
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2021-11-02 (Tue, 02 Nov 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
    M llvm/lib/CodeGen/LiveIntervalUnion.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp

  Log Message:
  -----------
  [NFC][Regalloc] Ensure Query::interferingVRegs is accurate.

To correctly use Query, one had to first call collectInterferingVRegs to
pre-cache the query result, then call interferingVRegs. Failing the
former, interferingVRegs could be stale. This did cause a bug which was
addressed in D98232, but the underlying usability issue of the Query API
wasn't.

This patch addresses the latter by making collectInterferingVRegs an
implementation detail, and having interferingVRegs play both roles. One
side-effect of this is that interferingVRegs is not const anymore.

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




More information about the All-commits mailing list