CBackend removal

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

CBackend removal

Cristianno Martins
Hi everyone,

I'm using the LLVM in a project, and I'm specially interested in using its optimizer. After apply the optimizations, I needed to create a C/C++ source code equivalent to the original one.
 
I'm periodically updating my local version of the LLVM, and, when I did it today, I couldn't use the llc with -march=c. Looking for the CBackend files, I realized that they were removed from the LLVM folder. I actually don't remember reading about a drop of this capability in any of the devlist messages, so I was wondering if this removal could be only temporary, or there will be no more support for this feature in LLVM.

Thanks,

-- 
Cristianno Martins
PhD Student of Computer Science
University of Campinas

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: CBackend removal

Anton Korobeynikov-2
> I'm periodically updating my local version of the LLVM, and, when I did it
> today, I couldn't use the llc with -march=c. Looking for the CBackend files,
> I realized that they were removed from the LLVM folder. I actually don't
> remember reading about a drop of this capability in any of the devlist
> messages, so I was wondering if this removal could be only temporary, or
> there will be no more support for this feature in LLVM.
CBackend was broken in many ways and thus removed. Patches to
introduce shiny new CBackend are welcome :)

--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: CBackend removal

Dmitry N. Mikushin
Dear all,

I've also noticed C backend was removed a little bit... silently. In
the end of March I only got open bugs closed by Benjamin Kramer in
bugzilla, but they sounded like "decision is made". So the question
is: it such silent removal a normal practice? In times of 3.0 release
there were long discussions on what to drop and what to preserve, e.g.
sparc backend, if I remember correctly.

In our project we are very interested in maintaining usable C backend,
at least until there will be at least one full and production quality
PTX backend.

Best regards,
- Dima

2012/4/19 Anton Korobeynikov <[hidden email]>:

>> I'm periodically updating my local version of the LLVM, and, when I did it
>> today, I couldn't use the llc with -march=c. Looking for the CBackend files,
>> I realized that they were removed from the LLVM folder. I actually don't
>> remember reading about a drop of this capability in any of the devlist
>> messages, so I was wondering if this removal could be only temporary, or
>> there will be no more support for this feature in LLVM.
> CBackend was broken in many ways and thus removed. Patches to
> introduce shiny new CBackend are welcome :)
>
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: CBackend removal

Owen Anderson-2

On Apr 19, 2012, at 9:29 AM, Dmitry N. Mikushin <[hidden email]> wrote:

> Dear all,
>
> I've also noticed C backend was removed a little bit... silently. In
> the end of March I only got open bugs closed by Benjamin Kramer in
> bugzilla, but they sounded like "decision is made". So the question
> is: it such silent removal a normal practice? In times of 3.0 release
> there were long discussions on what to drop and what to preserve, e.g.
> sparc backend, if I remember correctly.
>
> In our project we are very interested in maintaining usable C backend,
> at least until there will be at least one full and production quality
> PTX backend.

As far back as the LLVM 2.8, the release notes have included this warning:
  "The C backend has numerous problems and is not being actively maintained. Depending on it for anything serious is not advised."

It had, in fact, been non-functional for all but non-trivial functions for much longer than that.  Nobody had ever stepped up to actually fix it, despite various people saying they wanted it to it.  We're not interested in having non-working code hanging around in LLVM, misleading users as to the actual usability of the feature.

If you want to contribute (and maintain!) a *working* C backend, have at it!

--Owen


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: CBackend removal

Jim Grosbach
In reply to this post by Dmitry N. Mikushin
Hi Dmitry,

Where were you expecting notice to have been given? If I recall correctly, the obsolescence of the C backend was mentioned many times on this mailing list, and as Owen notes, in the release notes since 2.8. I'm not trying to be snarky. You were obviously genuinely surprised by its removal, and that makes me wonder if where the core open source devs are expecting people to look for that kind of information isn't lining up with where people actually are looking.

-Jim

On Apr 19, 2012, at 9:29 AM, Dmitry N. Mikushin <[hidden email]> wrote:

> Dear all,
>
> I've also noticed C backend was removed a little bit... silently. In
> the end of March I only got open bugs closed by Benjamin Kramer in
> bugzilla, but they sounded like "decision is made". So the question
> is: it such silent removal a normal practice? In times of 3.0 release
> there were long discussions on what to drop and what to preserve, e.g.
> sparc backend, if I remember correctly.
>
> In our project we are very interested in maintaining usable C backend,
> at least until there will be at least one full and production quality
> PTX backend.
>
> Best regards,
> - Dima
>
> 2012/4/19 Anton Korobeynikov <[hidden email]>:
>>> I'm periodically updating my local version of the LLVM, and, when I did it
>>> today, I couldn't use the llc with -march=c. Looking for the CBackend files,
>>> I realized that they were removed from the LLVM folder. I actually don't
>>> remember reading about a drop of this capability in any of the devlist
>>> messages, so I was wondering if this removal could be only temporary, or
>>> there will be no more support for this feature in LLVM.
>> CBackend was broken in many ways and thus removed. Patches to
>> introduce shiny new CBackend are welcome :)
>>
>> --
>> With best regards, Anton Korobeynikov
>> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>> _______________________________________________
>> LLVM Developers mailing list
>> [hidden email]         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: CBackend removal

Dmitry N. Mikushin
Dear Jim and Owen,

Thanks for replies,

I only kindly suggest some discussion on the maillist in such cases.
Just in general, nasty precedents sometimes happen, for example on IRC
I've recently seen some commits to Objective C were requested to be
reverted, because they were commited without any discussion. Here
things are certainly not that hard, but the point is the same: it is
always nice to put a FYI, because it might help a lot of non-core
people to properly align their work and prevent late complains.

To be constructive, I would like to contribute patches to make C
backend usable. Last time I tried is here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-August/042243.html But
my tests are meaningless and specific. It would be perfect to find
other devs who can contribute test suites. So, I'll give patches, you
- tests. Let's team up! Cristianno, are you interested?

- D.

2012/4/19 Jim Grosbach <[hidden email]>:

> Hi Dmitry,
>
> Where were you expecting notice to have been given? If I recall correctly, the obsolescence of the C backend was mentioned many times on this mailing list, and as Owen notes, in the release notes since 2.8. I'm not trying to be snarky. You were obviously genuinely surprised by its removal, and that makes me wonder if where the core open source devs are expecting people to look for that kind of information isn't lining up with where people actually are looking.
>
> -Jim
>
> On Apr 19, 2012, at 9:29 AM, Dmitry N. Mikushin <[hidden email]> wrote:
>
>> Dear all,
>>
>> I've also noticed C backend was removed a little bit... silently. In
>> the end of March I only got open bugs closed by Benjamin Kramer in
>> bugzilla, but they sounded like "decision is made". So the question
>> is: it such silent removal a normal practice? In times of 3.0 release
>> there were long discussions on what to drop and what to preserve, e.g.
>> sparc backend, if I remember correctly.
>>
>> In our project we are very interested in maintaining usable C backend,
>> at least until there will be at least one full and production quality
>> PTX backend.
>>
>> Best regards,
>> - Dima
>>
>> 2012/4/19 Anton Korobeynikov <[hidden email]>:
>>>> I'm periodically updating my local version of the LLVM, and, when I did it
>>>> today, I couldn't use the llc with -march=c. Looking for the CBackend files,
>>>> I realized that they were removed from the LLVM folder. I actually don't
>>>> remember reading about a drop of this capability in any of the devlist
>>>> messages, so I was wondering if this removal could be only temporary, or
>>>> there will be no more support for this feature in LLVM.
>>> CBackend was broken in many ways and thus removed. Patches to
>>> introduce shiny new CBackend are welcome :)
>>>
>>> --
>>> With best regards, Anton Korobeynikov
>>> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> [hidden email]         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> [hidden email]         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: CBackend removal

Cristianno Martins
Hi,

First of all, I agree in some level that is not good for a production tool as LLVM having features that do not work properly. Actually it should be really annoying if anyone adopted LLVM only because of its non-functional passes, but, as Owen said, the CBackend pass was working for trivial functions, which is, in some cases, only what some person needs. In other words, I agreed that tools as CBackend should not be distributed inside final versions of LLVM, but I also agree that, even not totally functional, it is an interesting feature of LLVM.

And, sorry, Dmitry, for the late reply: actually, I'm in need of the CBackend and the profiling in LLVM as a basic infrastructure for my project. (Yep, apparently I'm so luck that I need exactly the tools that are not in their better days). In this moment, I'm trying to get a minimum profile information for my pass, just to see how it could work. I'm really interested in the CBackend, but as it seams it is the last pass I'm gonna use, I can't invest time on it right now. But I'll let you know when I get there =)

Sincerely,

-- 
Cristianno Martins
PhD Student of Computer Science
University of Campinas

On Thursday, 19 de April de 2012 at 15:28, Dmitry N. Mikushin wrote:

Dear Jim and Owen,

Thanks for replies,

I only kindly suggest some discussion on the maillist in such cases.
Just in general, nasty precedents sometimes happen, for example on IRC
I've recently seen some commits to Objective C were requested to be
reverted, because they were commited without any discussion. Here
things are certainly not that hard, but the point is the same: it is
always nice to put a FYI, because it might help a lot of non-core
people to properly align their work and prevent late complains.

To be constructive, I would like to contribute patches to make C
backend usable. Last time I tried is here:
my tests are meaningless and specific. It would be perfect to find
other devs who can contribute test suites. So, I'll give patches, you
- tests. Let's team up! Cristianno, are you interested?

- D.

2012/4/19 Jim Grosbach <[hidden email]>:
Hi Dmitry,

Where were you expecting notice to have been given? If I recall correctly, the obsolescence of the C backend was mentioned many times on this mailing list, and as Owen notes, in the release notes since 2.8. I'm not trying to be snarky. You were obviously genuinely surprised by its removal, and that makes me wonder if where the core open source devs are expecting people to look for that kind of information isn't lining up with where people actually are looking.

-Jim

On Apr 19, 2012, at 9:29 AM, Dmitry N. Mikushin <[hidden email]> wrote:

Dear all,

I've also noticed C backend was removed a little bit... silently. In
the end of March I only got open bugs closed by Benjamin Kramer in
bugzilla, but they sounded like "decision is made". So the question
is: it such silent removal a normal practice? In times of 3.0 release
there were long discussions on what to drop and what to preserve, e.g.
sparc backend, if I remember correctly.

In our project we are very interested in maintaining usable C backend,
at least until there will be at least one full and production quality
PTX backend.

Best regards,
- Dima

2012/4/19 Anton Korobeynikov <[hidden email]>:
I'm periodically updating my local version of the LLVM, and, when I did it
today, I couldn't use the llc with -march=c. Looking for the CBackend files,
I realized that they were removed from the LLVM folder. I actually don't
remember reading about a drop of this capability in any of the devlist
messages, so I was wondering if this removal could be only temporary, or
there will be no more support for this feature in LLVM.
CBackend was broken in many ways and thus removed. Patches to
introduce shiny new CBackend are welcome :)

--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
_______________________________________________
LLVM Developers mailing list

_______________________________________________
LLVM Developers mailing list

_______________________________________________
LLVM Developers mailing list


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev