This patch adds the register class for MIPS16 as well as the ability for
authorAkira Hatanaka <ahatanaka@mips.com>
Wed, 16 May 2012 22:19:56 +0000 (22:19 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Wed, 16 May 2012 22:19:56 +0000 (22:19 +0000)
commit0faaebf27cf08a5822684b751ae7a0ccf467fbe1
tree738bcb3f577b4f05cd1e3b8f81e327eeceb7123c
parent01152f9c63ee9281956011a14e84df7fd84f4c60
This patch adds the register class for MIPS16 as well as the ability for
llc to recognize MIPS16 as a MIPS ASE extension. -mips16 will mean the
mips16 ASE for mips32 by default.

As part of fixing of adding this we discovered some small changes that
need to be made to MipsInstrInfo::storeRegToStackSLot and
MipsInstrInfo::loadRegFromStackSlot. We were using some "==" equality tests
where in fact we should have been using Mips::<regclas>.hasSubClassEQ instead,
per suggestion of Jakob Stoklund Olesen.

Patch by Reed Kotler.

llvm-svn: 156958
llvm/lib/Target/Mips/Mips.td
llvm/lib/Target/Mips/MipsInstrInfo.cpp
llvm/lib/Target/Mips/MipsRegisterInfo.td
llvm/lib/Target/Mips/MipsSubtarget.cpp
llvm/lib/Target/Mips/MipsSubtarget.h