]> granicus.if.org Git - llvm/commit
[globalisel] Initialize RegisterBanks with static data.
authorDaniel Sanders <daniel_l_sanders@apple.com>
Thu, 12 Jan 2017 15:32:10 +0000 (15:32 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Thu, 12 Jan 2017 15:32:10 +0000 (15:32 +0000)
commit6e712a22a67d0746b62844bb88fa87e7776d78d6
tree21e1badd99b39cb4e8705c126b242b92f370e995
parent4e1eef18555afaa48cf1c1aecaeffe2aba3edbd5
[globalisel] Initialize RegisterBanks with static data.

Summary:
Refactor the RegisterBank initialization to use static data. This requires
GlobalISel implementations to rewrite calls to createRegisterBank() and
addRegBankCoverage() into a call to setRegBankData().

Out of tree targets can use diff 4 of D27807
(https://reviews.llvm.org/D27807?id=84117) to have addRegBankCoverage() dump
the register classes and other data that needs to be provided to
setRegBankData(). This is the method that was used to generate the static data
in this patch.

Tablegen-eration of this static data will follow after some refactoring.

Reviewers: t.p.northover, ab, rovka, qcolombet

Subscribers: aditya_nandakumar, kristof.beyls, vkalintiris, llvm-commits, dberris

Differential Revision: https://reviews.llvm.org/D27807
Differential Revision: https://reviews.llvm.org/D27808

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291768 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
lib/CodeGen/GlobalISel/RegisterBank.cpp
lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
lib/Target/AArch64/AArch64GenRegisterBankInfo.def
lib/Target/AArch64/AArch64RegisterBankInfo.cpp
lib/Target/ARM/ARMRegisterBankInfo.cpp