David Blaikie via llvm-dev
2016-May-04 22:12 UTC
[llvm-dev] Is the CppBackend still supported?
On Wed, May 4, 2016 at 3:10 PM, Stanislav Manilov < stanislav.manilov at gmail.com> wrote:> As in "look at the source of clang" or as in "look at the -S -emit-llvm" > output? If you mean the former, then would that be easy for someone who > hasn't seen the clang source before? >Generally the latter - then potentially set some breakpoints & look at the clang source if you're looking for the right APIs. It's not as easy as the CppBackend (if the CppBackend were up to date) but not too bad, I don't think.> > On Wed, May 4, 2016, 22:48 David Blaikie <dblaikie at gmail.com> wrote: > >> The usual advice I provide people is "see what Clang does with an >> equivalent C construct" >> >> On Wed, May 4, 2016 at 12:18 PM, Stanislav Manilov < >> stanislav.manilov at gmail.com> wrote: >> >>> Hi, >>> >>> There is another benefit to keeping the CppBackend: it's great for >>> learning how to use the IR and the C++ API in particular, as can be seen >>> from this SO Q&A: >>> http://stackoverflow.com/questions/16656855/llvm-ir-string-initialization >>> >>> But I'll understand if it's considered too much of a burden to keep. I >>> can send a patch for the part that I was trying to use, but there's >>> probably a lot to fix for it to fully work. >>> >>> Cheers, >>> - Stan >>> >>> On Wed, May 4, 2016 at 4:21 PM, David Blaikie <dblaikie at gmail.com> >>> wrote: >>> >>>> +1 >>>> >>>> On Wed, May 4, 2016 at 3:10 AM, Filipe Cabecinhas via llvm-dev < >>>> llvm-dev at lists.llvm.org> wrote: >>>> >>>>> Hi, >>>>> >>>>> On Wed, May 4, 2016 at 9:35 AM, Ronan KERYELL via llvm-dev >>>>> <llvm-dev at lists.llvm.org> wrote: >>>>> >>>>>> On Tue, 3 May 2016 16:36:01 -0400, Rafael Espíndola via >>>>> llvm-dev <llvm-dev at lists.llvm.org> said: >>>>> > >>>>> > Rafael> Care to send a patch deleting it? :-) >>>>> > >>>>> > On the other hand these requests come back from time to time on the >>>>> > mailing list and it is still used in many attics of various projects >>>>> as >>>>> > a de-facto internal representation to interface with other tools for >>>>> > technical/marketing/political/... reasons. >>>>> Doesn't seem like it is, if it seems to be broken since some 2013 >>>>> changes. >>>>> It might be in use for projects using older llvm releases, of course. >>>>> But those haven't updated their llvm library for a long time, so this >>>>> wouldn't be their major problem. >>>>> >>>>> > So sending a patch to resurrect it in a more modern new life might be >>>>> > also considered instead of many people crafting some half-working >>>>> > ashamed kludges far from the sight... :-) >>>>> Not really. There's no reason to spend the effort just because "in the >>>>> future someone might use it". >>>>> If you're saying "I have some half-working things and CppBackend would >>>>> be awesome for me", then I guess no one would object to you working on >>>>> it, and people would actually help if you needed advice/patch review, >>>>> etc. >>>>> >>>>> But if we have no one actively interested, and there has been no >>>>> active development to the point where it's plain broken since a long >>>>> time ago, then we probably want to start proposing its deletion. >>>>> There's no point in having people who aren't interested in maintaining >>>>> it do all this work if the backend can be so out of date and no one >>>>> notices. >>>>> If it's not usable now and almost no one complains about it being >>>>> broken (outside the occasional "Is this working? No.", will those >>>>> people notice if it's gone? :-) >>>>> >>>>> Thank you, >>>>> >>>>> Filipe >>>>> >>>>> > -- >>>>> > Ronan KERYELL >>>>> > Xilinx Research Labs, Dublin, Ireland >>>>> > _______________________________________________ >>>>> > LLVM Developers mailing list >>>>> > llvm-dev at lists.llvm.org >>>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>>>> _______________________________________________ >>>>> 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/20160504/71ee4fd2/attachment.html>
Stanislav Manilov via llvm-dev
2016-May-04 22:34 UTC
[llvm-dev] Is the CppBackend still supported?
I've been looking at the generated IR (together with the IR language reference and the docs for the API), but I could figure out how to generate it myself. But your suggestion to look at the clang source is a good idea. Thanks! On Wed, May 4, 2016, 23:12 David Blaikie <dblaikie at gmail.com> wrote:> On Wed, May 4, 2016 at 3:10 PM, Stanislav Manilov < > stanislav.manilov at gmail.com> wrote: > >> As in "look at the source of clang" or as in "look at the -S -emit-llvm" >> output? If you mean the former, then would that be easy for someone who >> hasn't seen the clang source before? >> > Generally the latter - then potentially set some breakpoints & look at the > clang source if you're looking for the right APIs. > > It's not as easy as the CppBackend (if the CppBackend were up to date) but > not too bad, I don't think. > > >> >> On Wed, May 4, 2016, 22:48 David Blaikie <dblaikie at gmail.com> wrote: >> >>> The usual advice I provide people is "see what Clang does with an >>> equivalent C construct" >>> >>> On Wed, May 4, 2016 at 12:18 PM, Stanislav Manilov < >>> stanislav.manilov at gmail.com> wrote: >>> >>>> Hi, >>>> >>>> There is another benefit to keeping the CppBackend: it's great for >>>> learning how to use the IR and the C++ API in particular, as can be seen >>>> from this SO Q&A: >>>> http://stackoverflow.com/questions/16656855/llvm-ir-string-initialization >>>> >>>> But I'll understand if it's considered too much of a burden to keep. I >>>> can send a patch for the part that I was trying to use, but there's >>>> probably a lot to fix for it to fully work. >>>> >>>> Cheers, >>>> - Stan >>>> >>>> On Wed, May 4, 2016 at 4:21 PM, David Blaikie <dblaikie at gmail.com> >>>> wrote: >>>> >>>>> +1 >>>>> >>>>> On Wed, May 4, 2016 at 3:10 AM, Filipe Cabecinhas via llvm-dev < >>>>> llvm-dev at lists.llvm.org> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> On Wed, May 4, 2016 at 9:35 AM, Ronan KERYELL via llvm-dev >>>>>> <llvm-dev at lists.llvm.org> wrote: >>>>>> >>>>>> On Tue, 3 May 2016 16:36:01 -0400, Rafael Espíndola via >>>>>> llvm-dev <llvm-dev at lists.llvm.org> said: >>>>>> > >>>>>> > Rafael> Care to send a patch deleting it? :-) >>>>>> > >>>>>> > On the other hand these requests come back from time to time on the >>>>>> > mailing list and it is still used in many attics of various >>>>>> projects as >>>>>> > a de-facto internal representation to interface with other tools for >>>>>> > technical/marketing/political/... reasons. >>>>>> Doesn't seem like it is, if it seems to be broken since some 2013 >>>>>> changes. >>>>>> It might be in use for projects using older llvm releases, of course. >>>>>> But those haven't updated their llvm library for a long time, so this >>>>>> wouldn't be their major problem. >>>>>> >>>>>> > So sending a patch to resurrect it in a more modern new life might >>>>>> be >>>>>> > also considered instead of many people crafting some half-working >>>>>> > ashamed kludges far from the sight... :-) >>>>>> Not really. There's no reason to spend the effort just because "in the >>>>>> future someone might use it". >>>>>> If you're saying "I have some half-working things and CppBackend would >>>>>> be awesome for me", then I guess no one would object to you working on >>>>>> it, and people would actually help if you needed advice/patch review, >>>>>> etc. >>>>>> >>>>>> But if we have no one actively interested, and there has been no >>>>>> active development to the point where it's plain broken since a long >>>>>> time ago, then we probably want to start proposing its deletion. >>>>>> There's no point in having people who aren't interested in maintaining >>>>>> it do all this work if the backend can be so out of date and no one >>>>>> notices. >>>>>> If it's not usable now and almost no one complains about it being >>>>>> broken (outside the occasional "Is this working? No.", will those >>>>>> people notice if it's gone? :-) >>>>>> >>>>>> Thank you, >>>>>> >>>>>> Filipe >>>>>> >>>>>> > -- >>>>>> > Ronan KERYELL >>>>>> > Xilinx Research Labs, Dublin, Ireland >>>>>> > _______________________________________________ >>>>>> > LLVM Developers mailing list >>>>>> > llvm-dev at lists.llvm.org >>>>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>>>>> _______________________________________________ >>>>>> 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/20160504/8bd6828d/attachment.html>
David Blaikie via llvm-dev
2016-May-04 22:44 UTC
[llvm-dev] Is the CppBackend still supported?
On Wed, May 4, 2016 at 3:34 PM, Stanislav Manilov < stanislav.manilov at gmail.com> wrote:> I've been looking at the generated IR (together with the IR language > reference and the docs for the API), but I could figure out how to generate > it myself. > > But your suggestion to look at the clang source is a good idea. Thanks! >Bonus tip: Once you know the IR you want, you can probably find/guess the instruction or other llvm value you're interested in. Set a breakpoint in the ctor of that type (eg: break llvm::StoreInst::StoreInst) & then look at the backtrace to see how/where it's built inside clang.> > On Wed, May 4, 2016, 23:12 David Blaikie <dblaikie at gmail.com> wrote: > >> On Wed, May 4, 2016 at 3:10 PM, Stanislav Manilov < >> stanislav.manilov at gmail.com> wrote: >> >>> As in "look at the source of clang" or as in "look at the -S -emit-llvm" >>> output? If you mean the former, then would that be easy for someone who >>> hasn't seen the clang source before? >>> >> Generally the latter - then potentially set some breakpoints & look at >> the clang source if you're looking for the right APIs. >> >> It's not as easy as the CppBackend (if the CppBackend were up to date) >> but not too bad, I don't think. >> >> >>> >>> On Wed, May 4, 2016, 22:48 David Blaikie <dblaikie at gmail.com> wrote: >>> >>>> The usual advice I provide people is "see what Clang does with an >>>> equivalent C construct" >>>> >>>> On Wed, May 4, 2016 at 12:18 PM, Stanislav Manilov < >>>> stanislav.manilov at gmail.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> There is another benefit to keeping the CppBackend: it's great for >>>>> learning how to use the IR and the C++ API in particular, as can be seen >>>>> from this SO Q&A: >>>>> http://stackoverflow.com/questions/16656855/llvm-ir-string-initialization >>>>> >>>>> But I'll understand if it's considered too much of a burden to keep. I >>>>> can send a patch for the part that I was trying to use, but there's >>>>> probably a lot to fix for it to fully work. >>>>> >>>>> Cheers, >>>>> - Stan >>>>> >>>>> On Wed, May 4, 2016 at 4:21 PM, David Blaikie <dblaikie at gmail.com> >>>>> wrote: >>>>> >>>>>> +1 >>>>>> >>>>>> On Wed, May 4, 2016 at 3:10 AM, Filipe Cabecinhas via llvm-dev < >>>>>> llvm-dev at lists.llvm.org> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> On Wed, May 4, 2016 at 9:35 AM, Ronan KERYELL via llvm-dev >>>>>>> <llvm-dev at lists.llvm.org> wrote: >>>>>>> >>>>>> On Tue, 3 May 2016 16:36:01 -0400, Rafael Espíndola via >>>>>>> llvm-dev <llvm-dev at lists.llvm.org> said: >>>>>>> > >>>>>>> > Rafael> Care to send a patch deleting it? :-) >>>>>>> > >>>>>>> > On the other hand these requests come back from time to time on the >>>>>>> > mailing list and it is still used in many attics of various >>>>>>> projects as >>>>>>> > a de-facto internal representation to interface with other tools >>>>>>> for >>>>>>> > technical/marketing/political/... reasons. >>>>>>> Doesn't seem like it is, if it seems to be broken since some 2013 >>>>>>> changes. >>>>>>> It might be in use for projects using older llvm releases, of course. >>>>>>> But those haven't updated their llvm library for a long time, so this >>>>>>> wouldn't be their major problem. >>>>>>> >>>>>>> > So sending a patch to resurrect it in a more modern new life might >>>>>>> be >>>>>>> > also considered instead of many people crafting some half-working >>>>>>> > ashamed kludges far from the sight... :-) >>>>>>> Not really. There's no reason to spend the effort just because "in >>>>>>> the >>>>>>> future someone might use it". >>>>>>> If you're saying "I have some half-working things and CppBackend >>>>>>> would >>>>>>> be awesome for me", then I guess no one would object to you working >>>>>>> on >>>>>>> it, and people would actually help if you needed advice/patch review, >>>>>>> etc. >>>>>>> >>>>>>> But if we have no one actively interested, and there has been no >>>>>>> active development to the point where it's plain broken since a long >>>>>>> time ago, then we probably want to start proposing its deletion. >>>>>>> There's no point in having people who aren't interested in >>>>>>> maintaining >>>>>>> it do all this work if the backend can be so out of date and no one >>>>>>> notices. >>>>>>> If it's not usable now and almost no one complains about it being >>>>>>> broken (outside the occasional "Is this working? No.", will those >>>>>>> people notice if it's gone? :-) >>>>>>> >>>>>>> Thank you, >>>>>>> >>>>>>> Filipe >>>>>>> >>>>>>> > -- >>>>>>> > Ronan KERYELL >>>>>>> > Xilinx Research Labs, Dublin, Ireland >>>>>>> > _______________________________________________ >>>>>>> > LLVM Developers mailing list >>>>>>> > llvm-dev at lists.llvm.org >>>>>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>>>>>> _______________________________________________ >>>>>>> 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/20160504/559a05f7/attachment.html>