[llvm-dev] 'invalid subroutine type ref' when linking custom metadata

Robin Sommer via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 26 15:02:21 PDT 2016



On Mon, Jul 25, 2016 at 23:22 -0700, Mehdi Amini wrote:

> This is a bug, and I believe it is caused by r266579.

Thanks, Medi, I can confirm that if I disable the cache with the hack
below, it works fine.

Robin

diff --git a/lib/Linker/IRMover.cpp b/lib/Linker/IRMover.cpp
index 4935868..7d3d0b1 100644
--- a/lib/Linker/IRMover.cpp
+++ b/lib/Linker/IRMover.cpp
@@ -490,11 +490,11 @@ public:
                &GValMaterializer),
         AliasMCID(Mapper.registerAlternateMappingContext(AliasValueMap,
                                                          &LValMaterializer)) {
-    ValueMap.getMDMap() = std::move(SharedMDs);
+    /* ValueMap.getMDMap() = std::move(SharedMDs); */
     for (GlobalValue *GV : ValuesToLink)
       maybeAdd(GV);
   }
-  ~IRLinker() { SharedMDs = std::move(*ValueMap.getMDMap()); }
+  ~IRLinker() { /* SharedMDs = std::move(*ValueMap.getMDMap()); */ }

   Error run();
   Value *materialize(Value *V, bool ForAlias);


-- 
Robin Sommer * ICSI/LBNL * robin at icir.org * www.icir.org/robin


More information about the llvm-dev mailing list