summaryrefslogtreecommitdiff
path: root/utils/TableGen/SequenceToOffsetTable.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-03-30 21:12:52 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-03-30 21:12:52 +0000
commitc19f72bd83e8cb2cc31257008ee9d7797dbf3dbb (patch)
treec7bd20bf0c99fc1aadc1932225299b1ccaebae9f /utils/TableGen/SequenceToOffsetTable.h
parent0d4e2ea00eac5d51a74a54dd504a8f34580041d7 (diff)
downloadllvm-c19f72bd83e8cb2cc31257008ee9d7797dbf3dbb.tar.gz
llvm-c19f72bd83e8cb2cc31257008ee9d7797dbf3dbb.tar.bz2
llvm-c19f72bd83e8cb2cc31257008ee9d7797dbf3dbb.tar.xz
Use SequenceToOffsetTable in emitRegisterNameString.
This allows suffix sharing in register names. (AX is a suffix of EAX). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153777 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/SequenceToOffsetTable.h')
-rw-r--r--utils/TableGen/SequenceToOffsetTable.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/utils/TableGen/SequenceToOffsetTable.h b/utils/TableGen/SequenceToOffsetTable.h
index 09dccbb108..97c764e61d 100644
--- a/utils/TableGen/SequenceToOffsetTable.h
+++ b/utils/TableGen/SequenceToOffsetTable.h
@@ -21,6 +21,7 @@
#include <algorithm>
#include <vector>
#include <cassert>
+#include <cctype>
namespace llvm {
@@ -120,6 +121,19 @@ public:
}
};
+// Helper function for SequenceToOffsetTable<string>.
+static inline void printChar(raw_ostream &OS, char C) {
+ unsigned char UC(C);
+ if (isalnum(UC) || ispunct(UC)) {
+ OS << '\'';
+ if (C == '\\' || C == '\'')
+ OS << '\\';
+ OS << C << '\'';
+ } else {
+ OS << unsigned(UC);
+ }
+}
+
} // end namespace llvm
#endif