[llvm] r326614 - Reland "[WebAssembly] More uses of uint8_t for single byte values"
Heejin Ahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 2 12:52:59 PST 2018
Author: aheejin
Date: Fri Mar 2 12:52:59 2018
New Revision: 326614
URL: http://llvm.org/viewvc/llvm-project?rev=326614&view=rev
Log:
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
Modified:
llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
Modified: llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp?rev=326614&r1=326613&r2=326614&view=diff
==============================================================================
--- llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp (original)
+++ llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp Fri Mar 2 12:52:59 2018
@@ -93,7 +93,7 @@ void WebAssemblyMCCodeEmitter::encodeIns
} 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);
}
Modified: llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h?rev=326614&r1=326613&r2=326614&view=diff
==============================================================================
--- llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h (original)
+++ llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h Fri Mar 2 12:52:59 2018
@@ -158,19 +158,19 @@ static const unsigned LoadP2AlignOperand
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.
More information about the llvm-commits
mailing list