diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-09-25 19:12:55 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-09-25 19:12:55 +0000 |
commit | 3fcdad2025e704eddab667ddf68bd37e68795f5b (patch) | |
tree | e8d38242b9aa9dac59fc3131ba42cd72e45fece7 /lib/Target/Hexagon/HexagonBitTracker.h | |
parent | 737f60180af3d2ede18a7425d9bcdca879dcf5f1 (diff) |
[Hexagon] Better determination of register classes in bit tracker
Add two callbacks to MachineEvaluator, so that specific implementations
can specify more details about register classes:
- composeWithSubRegIndex(RC,Idx), to provide the register class for a
register from RC used in conjunction with a subregister index Idx.
- getPhysRegBitWidth(Reg), to provide the size in bits of the given
physical register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314136 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Hexagon/HexagonBitTracker.h')
-rw-r--r-- | lib/Target/Hexagon/HexagonBitTracker.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/Hexagon/HexagonBitTracker.h b/lib/Target/Hexagon/HexagonBitTracker.h index 94accb17fab..d9dd04e1b08 100644 --- a/lib/Target/Hexagon/HexagonBitTracker.h +++ b/lib/Target/Hexagon/HexagonBitTracker.h @@ -39,6 +39,11 @@ struct HexagonEvaluator : public BitTracker::MachineEvaluator { BitTracker::BitMask mask(unsigned Reg, unsigned Sub) const override; + uint16_t getPhysRegBitWidth(unsigned Reg) const override; + + const TargetRegisterClass &composeWithSubRegIndex( + const TargetRegisterClass &RC, unsigned Idx) const override; + MachineFunction &MF; MachineFrameInfo &MFI; const HexagonInstrInfo &TII; |