Fix some missing opcodes in bcanalyzer
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 24 Sep 2018 12:47:17 +0000 (12:47 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 24 Sep 2018 12:47:17 +0000 (12:47 +0000)
llvm-svn: 342878

llvm/test/Bitcode/bcanalyzer-atomics.ll [new file with mode: 0644]
llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp

diff --git a/llvm/test/Bitcode/bcanalyzer-atomics.ll b/llvm/test/Bitcode/bcanalyzer-atomics.ll
new file mode 100644 (file)
index 0000000..c50dca3
--- /dev/null
@@ -0,0 +1,14 @@
+; RUN: llvm-as < %s | llvm-bcanalyzer -dump | FileCheck %s
+; Make sure the names of atomics are known
+
+; CHECK: INST_CMPXCHG
+; CHECK: INST_STOREATOMIC
+; CHECK: INST_LOADATOMIC
+; CHECK: INST_FENCE
+define void @atomics(i32* %ptr) {
+  store atomic i32 0, i32* %ptr monotonic, align 4
+  %load = load atomic i32, i32* %ptr monotonic, align 4
+  %xchg = cmpxchg i32* %ptr, i32 0, i32 5 acquire monotonic
+  fence seq_cst
+  ret void
+}
index 1939dc6..5b82e46 100644 (file)
@@ -285,6 +285,11 @@ static const char *GetCodeName(unsigned CodeID, unsigned BlockID,
       STRINGIFY_CODE(FUNC_CODE, DEBUG_LOC)
       STRINGIFY_CODE(FUNC_CODE, INST_GEP)
       STRINGIFY_CODE(FUNC_CODE, OPERAND_BUNDLE)
+      STRINGIFY_CODE(FUNC_CODE, INST_FENCE)
+      STRINGIFY_CODE(FUNC_CODE, INST_ATOMICRMW)
+      STRINGIFY_CODE(FUNC_CODE, INST_LOADATOMIC)
+      STRINGIFY_CODE(FUNC_CODE, INST_STOREATOMIC)
+      STRINGIFY_CODE(FUNC_CODE, INST_CMPXCHG)
     }
   case bitc::VALUE_SYMTAB_BLOCK_ID:
     switch (CodeID) {