aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2015-12-06 19:42:29 +0000
committerDan Gohman <dan433584@gmail.com>2015-12-06 19:42:29 +0000
commit5e0886beb7beead7a1604894a1ce3d5e4b0b8cc2 (patch)
treedab2c15af98544aaf8d2112b100c0e57ff994959 /llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
parent770f0d0a4012f8d28b762a12024ce40c34bbea39 (diff)
downloadllvm-5e0886beb7beead7a1604894a1ce3d5e4b0b8cc2.zip
llvm-5e0886beb7beead7a1604894a1ce3d5e4b0b8cc2.tar.gz
llvm-5e0886beb7beead7a1604894a1ce3d5e4b0b8cc2.tar.bz2
[WebAssembly] Factor out a TypeToString function, since we need it in multiple places.
llvm-svn: 254884
Diffstat (limited to 'llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp b/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
index 9b94806..3a151de 100644
--- a/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
+++ b/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp
@@ -98,22 +98,7 @@ void WebAssemblyInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
case WebAssembly::PARAM:
case WebAssembly::RESULT:
case WebAssembly::LOCAL:
- switch (Op.getImm()) {
- case MVT::i32:
- O << "i32";
- break;
- case MVT::i64:
- O << "i64";
- break;
- case MVT::f32:
- O << "f32";
- break;
- case MVT::f64:
- O << "f64";
- break;
- default:
- llvm_unreachable("unexpected type");
- }
+ O << WebAssembly::TypeToString(MVT::SimpleValueType(Op.getImm()));
break;
default:
O << Op.getImm();
@@ -126,3 +111,18 @@ void WebAssemblyInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
Op.getExpr()->print(O, &MAI);
}
}
+
+const char *llvm::WebAssembly::TypeToString(MVT Ty) {
+ switch (Ty.SimpleTy) {
+ case MVT::i32:
+ return "i32";
+ case MVT::i64:
+ return "i64";
+ case MVT::f32:
+ return "f32";
+ case MVT::f64:
+ return "f64";
+ default:
+ llvm_unreachable("unsupported type");
+ }
+}