diff options
author | Heejin Ahn <aheejin@gmail.com> | 2018-03-02 20:52:59 +0000 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2018-03-02 20:52:59 +0000 |
commit | 0c69a3e3d94f261344f0a9a6cc89cf7af6b95ef1 (patch) | |
tree | 4ff0f3a9a1368475b5b8bd9273140faf49b93d33 /llvm/lib/Target | |
parent | db16beed8a8fa79554942f206b8077ae2e91195d (diff) | |
download | bcm5719-llvm-0c69a3e3d94f261344f0a9a6cc89cf7af6b95ef1.tar.gz bcm5719-llvm-0c69a3e3d94f261344f0a9a6cc89cf7af6b95ef1.zip |
Reland "[WebAssembly] More uses of uint8_t for single byte values"
Summary:
Original change was D43991 (rL326541) and was reverted by rL326571 and
rL326572. This adds also the necessary MCCodeEmitter patch.
Reviewers: sbc100
Subscribers: jfb, dschuff, sbc100, jgravelle-google, sunfish, llvm-commits, ncw
Differential Revision: https://reviews.llvm.org/D44034
llvm-svn: 326614
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h | 26 |
2 files changed, 14 insertions, 14 deletions
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp index 77744e53d62..2baa135ebd9 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp @@ -93,7 +93,7 @@ void WebAssemblyMCCodeEmitter::encodeInstruction( } else if (Info.OperandType == WebAssembly::OPERAND_GLOBAL) { llvm_unreachable("wasm globals should only be accessed symbolicly"); } else if (Info.OperandType == WebAssembly::OPERAND_SIGNATURE) { - encodeSLEB128(int64_t(MO.getImm()), OS); + OS << uint8_t(MO.getImm()); } else { encodeULEB128(uint64_t(MO.getImm()), OS); } diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h index 7dca89ab822..e27a74008ac 100644 --- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h +++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h @@ -158,19 +158,19 @@ static const unsigned LoadP2AlignOperandNo = 1; static const unsigned StoreP2AlignOperandNo = 0; /// This is used to indicate block signatures. -enum class ExprType { - Void = -0x40, - I32 = -0x01, - I64 = -0x02, - F32 = -0x03, - F64 = -0x04, - I8x16 = -0x05, - I16x8 = -0x06, - I32x4 = -0x07, - F32x4 = -0x08, - B8x16 = -0x09, - B16x8 = -0x0a, - B32x4 = -0x0b +enum class ExprType : unsigned { + Void = 0x40, + I32 = 0x7F, + I64 = 0x7E, + F32 = 0x7D, + F64 = 0x7C, + I8x16 = 0x7B, + I16x8 = 0x7A, + I32x4 = 0x79, + F32x4 = 0x78, + B8x16 = 0x77, + B16x8 = 0x76, + B32x4 = 0x75 }; /// Instruction opcodes emitted via means other than CodeGen. |