diff options
author | Bill Wendling <isanbard@gmail.com> | 2010-11-02 22:44:12 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2010-11-02 22:44:12 +0000 |
commit | 7292e0a6564bb24707eff1c49da9044dd5eaec78 (patch) | |
tree | 4776200ddf3a14d556fb9c24b894c9885f137725 | |
parent | 1ba6064437f7cae1d2cd1aa9c8dd50a78e8657e3 (diff) |
Simplify the EncodeInstruction method now that a lot of the special case stuff
is handled with the MC encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118098 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMMCCodeEmitter.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/lib/Target/ARM/ARMMCCodeEmitter.cpp b/lib/Target/ARM/ARMMCCodeEmitter.cpp index bc16fe04c3..86c9330e30 100644 --- a/lib/Target/ARM/ARMMCCodeEmitter.cpp +++ b/lib/Target/ARM/ARMMCCodeEmitter.cpp @@ -323,22 +323,15 @@ unsigned ARMMCCodeEmitter::getAddrMode6OffsetOpValue(const MCInst &MI, void ARMMCCodeEmitter:: EncodeInstruction(const MCInst &MI, raw_ostream &OS, SmallVectorImpl<MCFixup> &Fixups) const { - unsigned Opcode = MI.getOpcode(); - const TargetInstrDesc &Desc = TII.get(Opcode); - uint64_t TSFlags = Desc.TSFlags; - // Keep track of the current byte being emitted. - unsigned CurByte = 0; - // Pseudo instructions don't get encoded. - if ((TSFlags & ARMII::FormMask) == ARMII::Pseudo) + const TargetInstrDesc &Desc = TII.get(MI.getOpcode()); + if ((Desc.TSFlags & ARMII::FormMask) == ARMII::Pseudo) return; - ++MCNumEmitted; // Keep track of the # of mi's emitted - unsigned Value = getBinaryCodeForInstr(MI); - switch (Opcode) { - default: break; - } - EmitConstant(Value, 4, CurByte, OS); + // Keep track of the current byte being emitted. + unsigned CurByte = 0; + EmitConstant(getBinaryCodeForInstr(MI), 4, CurByte, OS); + ++MCNumEmitted; // Keep track of the # of mi's emitted. } // FIXME: These #defines shouldn't be necessary. Instead, tblgen should |