[PATCH] D27725: [AMDGPU] When unifying metadata, add operands to named metadata individually
Konstantin Zhuravlyov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 13 11:46:01 PST 2016
kzhuravl created this revision.
kzhuravl added a reviewer: tstellarAMD.
kzhuravl added a subscriber: llvm-commits.
Herald added subscribers: tony-tye, yaxunl, nhaehnle, wdng, arsenm.
This was causing verifier to fail for llvm.ident
https://reviews.llvm.org/D27725
Files:
lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
test/CodeGen/AMDGPU/unify-metadata.ll
Index: test/CodeGen/AMDGPU/unify-metadata.ll
===================================================================
--- test/CodeGen/AMDGPU/unify-metadata.ll
+++ test/CodeGen/AMDGPU/unify-metadata.ll
@@ -4,23 +4,28 @@
; modules for records such as opencl.ocl.version, llvm.ident and similar.
; ALL-DAG: !opencl.ocl.version = !{![[OCL_VER:[0-9]+]]}
-; ALL-DAG: !llvm.ident = !{![[LLVM_IDENT:[0-9]+]]}
-; ALL-DAG: !opencl.used.extensions = !{![[USED_EXT:[0-9]+]]}
+; ALL-DAG: !llvm.ident = !{![[LLVM_IDENT_0:[0-9]+]], ![[LLVM_IDENT_1:[0-9]+]]}
+; ALL-DAG: !opencl.used.extensions = !{![[USED_EXT_0:[0-9]+]], ![[USED_EXT_1:[0-9]+]], ![[USED_EXT_2:[0-9]+]]}
+
; ALL-DAG: ![[OCL_VER]] = !{i32 1, i32 2}
-; ALL-DAG: ![[LLVM_IDENT]] = !{!"clang version 4.0 "}
-; ALL-DAG: ![[USED_EXT]] = !{!"cl_images", !"cl_khr_fp16", !"cl_doubles"}
+; ALL-DAG: ![[LLVM_IDENT_0]] = !{!"clang version 4.0"}
+; ALL-DAG: ![[LLVM_IDENT_1]] = !{!"clang version 4.0 (rLXXXXXX)"}
+; ALL-DAG: ![[USED_EXT_0]] = !{!"cl_images"}
+; ALL-DAG: ![[USED_EXT_1]] = !{!"cl_khr_fp16"}
+; ALL-DAG: ![[USED_EXT_2]] = !{!"cl_doubles"}
define void @test() {
ret void
}
!opencl.ocl.version = !{!1, !0, !0, !0}
-!llvm.ident = !{!2, !2, !2, !2}
+!llvm.ident = !{!2, !2, !2, !2, !6}
!opencl.used.extensions = !{!3, !3, !4, !5}
!0 = !{i32 2, i32 0}
!1 = !{i32 1, i32 2}
-!2 = !{!"clang version 4.0 "}
+!2 = !{!"clang version 4.0"}
!3 = !{!"cl_images", !"cl_khr_fp16"}
!4 = !{!"cl_images", !"cl_doubles"}
!5 = !{}
+!6 = !{!"clang version 4.0 (rLXXXXXX)"}
Index: lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
===================================================================
--- lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
+++ lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
@@ -100,7 +100,9 @@
NamedMD->eraseFromParent();
NamedMD = M.getOrInsertNamedMetadata(Name);
- NamedMD->addOperand(MDNode::get(M.getContext(), All));
+ for (const auto &MD : All)
+ NamedMD->addOperand(MDNode::get(M.getContext(), MD));
+
return true;
}
};
@@ -133,10 +135,10 @@
bool Changed = false;
- for (auto &I:Vers)
+ for (auto &I : Vers)
Changed |= unifyVersionMD(M, I, true);
- for (auto &I:Exts)
+ for (auto &I : Exts)
Changed |= unifyExtensionMD(M, I);
return Changed;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27725.81271.patch
Type: text/x-patch
Size: 2271 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161213/082d9272/attachment.bin>
More information about the llvm-commits
mailing list