[llvm-dev] Is the CppBackend still supported?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Wed May 4 15:44:08 PDT 2016


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>


More information about the llvm-dev mailing list