Support: Add dwarf::getOperationEncoding()
[oota-llvm.git] / lib / Support / Dwarf.cpp
index a2bd6cb7061ac91b7c407fe5a3a480a796ee31c2..95c4bc32701f29dfd14819fc984f862bf1e349ec 100644 (file)
@@ -247,6 +247,13 @@ const char *llvm::dwarf::OperationEncodingString(unsigned Encoding) {
   }
 }
 
+unsigned llvm::dwarf::getOperationEncoding(StringRef OperationEncodingString) {
+  return StringSwitch<unsigned>(OperationEncodingString)
+#define HANDLE_DW_OP(ID, NAME) .Case("DW_OP_" #NAME, DW_OP_##NAME)
+#include "llvm/Support/Dwarf.def"
+      .Default(0);
+}
+
 const char *llvm::dwarf::AttributeEncodingString(unsigned Encoding) {
   switch (Encoding) {
   default: return nullptr;