diff options
author | Justin Holewinski <justin.holewinski@gmail.com> | 2011-12-06 17:39:48 +0000 |
---|---|---|
committer | Justin Holewinski <justin.holewinski@gmail.com> | 2011-12-06 17:39:48 +0000 |
commit | 4c7ffb6a7e2881e8de85ad47c0d679074de420fa (patch) | |
tree | 37ad1604b3db2d9d8d26fa4890a60af537a5f4c2 /lib/Target/PTX/PTXMFInfoExtract.cpp | |
parent | e37a83f66bb752972f44ea9b57283d121ed89c7e (diff) | |
download | llvm-4c7ffb6a7e2881e8de85ad47c0d679074de420fa.tar.gz llvm-4c7ffb6a7e2881e8de85ad47c0d679074de420fa.tar.bz2 llvm-4c7ffb6a7e2881e8de85ad47c0d679074de420fa.tar.xz |
PTX: Continue to fix up the register mess.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145947 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PTX/PTXMFInfoExtract.cpp')
-rw-r--r-- | lib/Target/PTX/PTXMFInfoExtract.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Target/PTX/PTXMFInfoExtract.cpp b/lib/Target/PTX/PTXMFInfoExtract.cpp index 81585928ae..26ec6239f4 100644 --- a/lib/Target/PTX/PTXMFInfoExtract.cpp +++ b/lib/Target/PTX/PTXMFInfoExtract.cpp @@ -58,7 +58,20 @@ bool PTXMFInfoExtract::runOnMachineFunction(MachineFunction &MF) { for (unsigned i = 0; i < MRI.getNumVirtRegs(); ++i) { unsigned Reg = TargetRegisterInfo::index2VirtReg(i); const TargetRegisterClass *TRC = MRI.getRegClass(Reg); - MFI->addVirtualRegister(TRC, Reg); + unsigned RegType; + if (TRC == PTX::RegPredRegisterClass) + RegType = PTXRegisterType::Pred; + else if (TRC == PTX::RegI16RegisterClass) + RegType = PTXRegisterType::B16; + else if (TRC == PTX::RegI32RegisterClass) + RegType = PTXRegisterType::B32; + else if (TRC == PTX::RegI64RegisterClass) + RegType = PTXRegisterType::B64; + else if (TRC == PTX::RegF32RegisterClass) + RegType = PTXRegisterType::F32; + else if (TRC == PTX::RegF64RegisterClass) + RegType = PTXRegisterType::F64; + MFI->addRegister(Reg, RegType, PTXRegisterSpace::Reg); } return false; |