[all-commits] [llvm/llvm-project] 46732e: [GISel] Remove BitVector from RegBank. Use tablege...

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Nov 2 17:54:24 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 46732e2abb34fd7a5c1d52b959d4d07f118479dd
      https://github.com/llvm/llvm-project/commit/46732e2abb34fd7a5c1d52b959d4d07f118479dd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-11-02 (Thu, 02 Nov 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegisterBank.h
    M llvm/lib/CodeGen/RegisterBank.cpp

  Log Message:
  -----------
  [GISel] Remove BitVector from RegBank. Use tablegen CoverageData tables directly. NFC (#71105)

RegBanks are allocated as global variables. The use of BitVector causes
a static global constructor to be used. The BitVector is initialized
from a table of bits that is created by tablegen. We can keep a pointer
to that data and use it as the bit vector instead.

This does require a little bit of manual indexing and reimplementation
of BitVector::count.




More information about the All-commits mailing list