Hi everyone, I'm using LLVM's stack map intrinsic to store value location information. I've got a pass that automatically inserts the "llvm.experimental.stackmap" intrinsic into the IR. On x86-64, an ".llvm_stackmaps" section is successfully emitted (I can see the section & its contents in the generated assembly). However I can't get the AArch64 backend to generate this section. On the website with information about the intrinsic [1], it says that AArch64 is supported. Is there a flag I need to add, or is there something I need to enable when building LLVM to get this support? [1] http://llvm.org/docs/StackMaps.html -- Rob Lyerly Graduate Research Assistant, Systems Software Research Group -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160526/fdeef859/attachment.html>
I figured out the issue -- the AArch64 backend only emits the stack map section if isOSBinFormateMachO() returns true -- see [1], lines 123 - 134. Moving the call to serializeToStackMapSection() outside of the conditional fixes the problem. [1] http://llvm.org/doxygen/AArch64AsmPrinter_8cpp_source.html On Thu, May 26, 2016 at 2:46 PM, Rob Lyerly <rlyerly at vt.edu> wrote:> Hi everyone, > > I'm using LLVM's stack map intrinsic to store value location information. > I've got a pass that automatically inserts the "llvm.experimental.stackmap" > intrinsic into the IR. On x86-64, an ".llvm_stackmaps" section is > successfully emitted (I can see the section & its contents in the generated > assembly). However I can't get the AArch64 backend to generate this > section. On the website with information about the intrinsic [1], it says > that AArch64 is supported. Is there a flag I need to add, or is there > something I need to enable when building LLVM to get this support? > > [1] http://llvm.org/docs/StackMaps.html > > -- > Rob Lyerly > Graduate Research Assistant, Systems Software Research Group > > >-- Rob Lyerly Graduate Research Assistant, Systems Software Research Group -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160526/8b6ee4c9/attachment.html>
Andy, Juergen, I don't know enough about AArch64 to assess here. Is the proposed change below something we should take in tree? I'm happy to do the mechanics of posting a patch (if Rob doesn't), but I don't know enough to assess. Would such a patch be self contained? Or is there other work needed? Philip On 05/26/2016 12:28 PM, Rob Lyerly via llvm-dev wrote:> I figured out the issue -- the AArch64 backend only emits the stack > map section if isOSBinFormateMachO() returns true -- see [1], lines > 123 - 134. Moving the call to serializeToStackMapSection() outside of > the conditional fixes the problem. > > [1] http://llvm.org/doxygen/AArch64AsmPrinter_8cpp_source.html > > On Thu, May 26, 2016 at 2:46 PM, Rob Lyerly <rlyerly at vt.edu > <mailto:rlyerly at vt.edu>> wrote: > > Hi everyone, > > I'm using LLVM's stack map intrinsic to store value location > information. I've got a pass that automatically inserts the > "llvm.experimental.stackmap" intrinsic into the IR. On x86-64, an > ".llvm_stackmaps" section is successfully emitted (I can see the > section & its contents in the generated assembly). However I > can't get the AArch64 backend to generate this section. On the > website with information about the intrinsic [1], it says that > AArch64 is supported. Is there a flag I need to add, or is there > something I need to enable when building LLVM to get this support? > > [1] http://llvm.org/docs/StackMaps.html > > -- > Rob Lyerly > Graduate Research Assistant, Systems Software Research Group > > > > > -- > Rob Lyerly > Graduate Research Assistant, Systems Software Research Group > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160613/bd46f26a/attachment.html>