diff options
author | Hal Finkel <hfinkel@anl.gov> | 2013-12-19 14:58:22 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2013-12-19 14:58:22 +0000 |
commit | e14ad8538f59d93d9db2ef4705995d13a55b45f3 (patch) | |
tree | 5ca4e4c729d05906825274743e8907c1c4a26912 /utils | |
parent | de011a5f90c8c9ac1557043e59af179f14c15825 (diff) | |
download | llvm-e14ad8538f59d93d9db2ef4705995d13a55b45f3.tar.gz llvm-e14ad8538f59d93d9db2ef4705995d13a55b45f3.tar.bz2 llvm-e14ad8538f59d93d9db2ef4705995d13a55b45f3.tar.xz |
Add support for PointerLikeRegClass to FixedLenDecoderEmitter
This is more prep for adding the PowerPC disassembler. FixedLenDecoderEmitter
should recognize PointerLikeRegClass operands as register types, and generate
register-like decoding calls instead of treating them like immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197680 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/FixedLenDecoderEmitter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/utils/TableGen/FixedLenDecoderEmitter.cpp b/utils/TableGen/FixedLenDecoderEmitter.cpp index d2d3f3dd07..0918d0b1df 100644 --- a/utils/TableGen/FixedLenDecoderEmitter.cpp +++ b/utils/TableGen/FixedLenDecoderEmitter.cpp @@ -1771,6 +1771,10 @@ static bool populateInstruction(const CodeGenInstruction &CGI, unsigned Opc, if (TypeRecord->isSubClassOf("RegisterClass")) { Decoder = "Decode" + TypeRecord->getName() + "RegisterClass"; isReg = true; + } else if (TypeRecord->isSubClassOf("PointerLikeRegClass")) { + Decoder = "DecodePointerLikeRegClass" + + utostr(TypeRecord->getValueAsInt("RegClassKind")); + isReg = true; } RecordVal *DecoderString = TypeRecord->getValue("DecoderMethod"); |