[LLVMdev] How do I update Ocaml debug info? (was Re: [llvm] r218914 (original) (raw)

[LLVMdev] How do I update Ocaml debug info? (was Re: [llvm] r218914 - DI: Fold constant arguments into a single MDString)

Peter Zotov whitequark at whitequark.org
Thu Oct 2 16:17:26 PDT 2014


On 2014-10-03 03:16, Duncan P. N. Exon Smith wrote:

+whitequark

On Oct 2, 2014, at 3:48 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:

-llvm-commits, +llvmdev

On Oct 2, 2014, at 2:57 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:

Author: dexonsmith Date: Thu Oct 2 16:56:57 2014 New Revision: 218914 URL: http://llvm.org/viewvc/llvm-project?rev=218914&view=rev Log: DI: Fold constant arguments into a single MDString This patch addresses the first stage of PR17891 by folding constant arguments together into a single MDString. Integers are stringified and a \0 character is used as a separator. Part of PR17891. Note: I've attached my testcases upgrade scripts to the PR. If I've just broken your out-of-tree testcases, they might help.

Among other things, this commit broke the Ocaml debug info test [1]. It's not obvious to me how to fix it (I don't speak Ocaml). Anyone know what to do? (Is it reasonable for me to just XFAIL it, file a PR, and move on?) [1]: http://lab.llvm.org:8011/builders/llvm-hexagon-elf/builds/11579 I have a guess (patch below), which I'll roll into my next attempt once I've sorted out the other buildbot failures. Note that r218914 had the first hunk, but missed the second. In the meantime, if anyone that speaks Ocaml can take a look, I'd appreciate it.

LGTM.

diff --git a/test/Bindings/Ocaml/vmcore.ml b/test/Bindings/Ocaml/vmcore.ml index ea91294..da09cc7 100644 --- a/test/Bindings/Ocaml/vmcore.ml +++ b/test/Bindings/Ocaml/vmcore.ml @@ -1358,7 +1358,7 @@ let testbuilder () = (* End-of-file checks for things like metdata and attributes. * CHECK: attributes #0 = {{.}}uwtable{{.}} * CHECK: !llvm.module.flags = !{!0} - * CHECK: !0 = metadata !{i32 1, metadata !"Debug Info Version", i32 1} + * CHECK: !0 = metadata !{i32 1, metadata !"Debug Info Version", i32 2} * CHECK: !1 = metadata !{i32 1, metadata !"metadata test"} * CHECK: !2 = metadata !{i32 2, i32 3, metadata !3, metadata !3} *) @@ -1070,7 +1070,8 @@ let testbuilder () = (* !llvm.module.flags is emitted at EOF. *) let n1 = constint i32type 1 in let n2 = mdstring context "Debug Info Version" in - let md = mdnode context [| n1; n2; n1 |] in + let n3 = constint i32type 2 in + let md = mdnode context [| n1; n2; n3 |] in addnamedmetadataoperand m "llvm.module.flags" md; insist ((getnamedmetadata m "llvm.module.flags") = [| md |])

-- Peter Zotov



More information about the llvm-dev mailing list