James Y Knight via llvm-dev
2016-May-03 20:23 UTC
[llvm-dev] Is the CppBackend still supported?
Yes, it's quite obviously dead and should be deleted. When I brought this up last time -- after realizing that it wasn't actually a backend that targetted c++ (which might be useful), but rather just something that emitted IR by calling llvm C++ functions (which really isn't IMO) -- someone also pointed out that it also really ought to be using IRBuilder...if anyone cared about it. On Tue, May 3, 2016 at 4:14 PM, Sean Silva via llvm-dev < llvm-dev at lists.llvm.org> wrote:> AFAICT it is dead. > > On Tue, May 3, 2016 at 4:04 AM, Stanislav Manilov via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hello, >> >> I was trying to compile a simple program with the CppBackend like so: >> >> $ clang str_arg.c -emit-llvm -S >> $ llc -march=cpp str_arg.ll >> >> It produces a file `str_arg.cpp` as expected, however it doesn't seem >> that the resulting file is correct. For once, it includes >> `<llvm/Analysis/Verifier.h>` which seems to have been moved to >> `llvm/IR/Verifier.h` as far back as 2013. >> >> My question is this: is the CppBackend supposed to work? If so, what am I >> missing? >> >> Listing of str_arg.c: >> >> #include <stdio.h> >> >> void i(unsigned index, char *string) { >> printf("%d %s\n", index, string); >> } >> >> int main() { >> i(10, "foo"); >> return 0; >> } >> >> clang version: >> >> clang version 3.7.1 (http://llvm.org/git/clang.git >> 0dbefa1b83eb90f7a06b5df5df254ce32be3db4b) (http://llvm.org/git/llvm.git >> 33c352b3eda89abc24e7511d9045fa2e499a42e3) >> Target: x86_64-unknown-linux-gnu >> Thread model: posix >> >> llc version: >> >> LLVM (http://llvm.org/): >> LLVM version 3.7.1 >> Optimized build. >> Built Apr 4 2016 (15:04:44). >> Default target: x86_64-unknown-linux-gnu >> Host CPU: ivybridge >> >> Registered Targets: >> aarch64 - AArch64 (little endian) >> aarch64_be - AArch64 (big endian) >> amdgcn - AMD GCN GPUs >> arm - ARM >> arm64 - ARM64 (little endian) >> armeb - ARM (big endian) >> bpf - BPF (host endian) >> bpfeb - BPF (big endian) >> bpfel - BPF (little endian) >> cpp - C++ backend >> hexagon - Hexagon >> mips - Mips >> mips64 - Mips64 [experimental] >> mips64el - Mips64el [experimental] >> mipsel - Mipsel >> msp430 - MSP430 [experimental] >> nvptx - NVIDIA PTX 32-bit >> nvptx64 - NVIDIA PTX 64-bit >> ppc32 - PowerPC 32 >> ppc64 - PowerPC 64 >> ppc64le - PowerPC 64 LE >> r600 - AMD GPUs HD2XXX-HD6XXX >> sparc - Sparc >> sparcel - Sparc LE >> sparcv9 - Sparc V9 >> systemz - SystemZ >> thumb - Thumb >> thumbeb - Thumb (big endian) >> x86 - 32-bit X86: Pentium-Pro and above >> x86-64 - 64-bit X86: EM64T and AMD64 >> xcore - XCore >> >> Kind regards, >> - Stan >> >> >> _______________________________________________ >> 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/20160503/b9932770/attachment.html>
Rafael Espíndola via llvm-dev
2016-May-03 20:36 UTC
[llvm-dev] Is the CppBackend still supported?
Care to send a patch deleting it? :-) Cheers, Rafael On 3 May 2016 at 16:23, James Y Knight via llvm-dev <llvm-dev at lists.llvm.org> wrote:> Yes, it's quite obviously dead and should be deleted. > > When I brought this up last time -- after realizing that it wasn't actually > a backend that targetted c++ (which might be useful), but rather just > something that emitted IR by calling llvm C++ functions (which really isn't > IMO) -- someone also pointed out that it also really ought to be using > IRBuilder...if anyone cared about it. > > > On Tue, May 3, 2016 at 4:14 PM, Sean Silva via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> >> AFAICT it is dead. >> >> On Tue, May 3, 2016 at 4:04 AM, Stanislav Manilov via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >>> >>> Hello, >>> >>> I was trying to compile a simple program with the CppBackend like so: >>> >>> $ clang str_arg.c -emit-llvm -S >>> $ llc -march=cpp str_arg.ll >>> >>> It produces a file `str_arg.cpp` as expected, however it doesn't seem >>> that the resulting file is correct. For once, it includes >>> `<llvm/Analysis/Verifier.h>` which seems to have been moved to >>> `llvm/IR/Verifier.h` as far back as 2013. >>> >>> My question is this: is the CppBackend supposed to work? If so, what am I >>> missing? >>> >>> Listing of str_arg.c: >>> >>> #include <stdio.h> >>> >>> void i(unsigned index, char *string) { >>> printf("%d %s\n", index, string); >>> } >>> >>> int main() { >>> i(10, "foo"); >>> return 0; >>> } >>> >>> clang version: >>> >>> clang version 3.7.1 (http://llvm.org/git/clang.git >>> 0dbefa1b83eb90f7a06b5df5df254ce32be3db4b) (http://llvm.org/git/llvm.git >>> 33c352b3eda89abc24e7511d9045fa2e499a42e3) >>> Target: x86_64-unknown-linux-gnu >>> Thread model: posix >>> >>> llc version: >>> >>> LLVM (http://llvm.org/): >>> LLVM version 3.7.1 >>> Optimized build. >>> Built Apr 4 2016 (15:04:44). >>> Default target: x86_64-unknown-linux-gnu >>> Host CPU: ivybridge >>> >>> Registered Targets: >>> aarch64 - AArch64 (little endian) >>> aarch64_be - AArch64 (big endian) >>> amdgcn - AMD GCN GPUs >>> arm - ARM >>> arm64 - ARM64 (little endian) >>> armeb - ARM (big endian) >>> bpf - BPF (host endian) >>> bpfeb - BPF (big endian) >>> bpfel - BPF (little endian) >>> cpp - C++ backend >>> hexagon - Hexagon >>> mips - Mips >>> mips64 - Mips64 [experimental] >>> mips64el - Mips64el [experimental] >>> mipsel - Mipsel >>> msp430 - MSP430 [experimental] >>> nvptx - NVIDIA PTX 32-bit >>> nvptx64 - NVIDIA PTX 64-bit >>> ppc32 - PowerPC 32 >>> ppc64 - PowerPC 64 >>> ppc64le - PowerPC 64 LE >>> r600 - AMD GPUs HD2XXX-HD6XXX >>> sparc - Sparc >>> sparcel - Sparc LE >>> sparcv9 - Sparc V9 >>> systemz - SystemZ >>> thumb - Thumb >>> thumbeb - Thumb (big endian) >>> x86 - 32-bit X86: Pentium-Pro and above >>> x86-64 - 64-bit X86: EM64T and AMD64 >>> xcore - XCore >>> >>> Kind regards, >>> - Stan >>> >>> >>> _______________________________________________ >>> 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 >> > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
Ronan KERYELL via llvm-dev
2016-May-04 08:35 UTC
[llvm-dev] Is the CppBackend still supported?
>>>>> 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. 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... :-) -- Ronan KERYELL Xilinx Research Labs, Dublin, Ireland
Stefan Gränitz via llvm-dev
2016-May-22 12:37 UTC
[llvm-dev] Is the CppBackend still supported?
> after realizing that it wasn't actually a backend that targetted c++ > (which might be useful)Exact same thing just happened to me.. it's not obvious, especially when reading the llc info: $ llc -version Registered Targets: arm - ARM arm64 - ARM64 (little endian) cpp - C++ backend x86 - 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64 ... * If not delete it, then at least adjust the description? E.g. "LLVM C++ API code" following http://ellcc.org/demo/ ? Could also the name change to "cppapi"? * Has there ever been an attempt to implement a real C++ Backend? Without having done research in that direction - shouldn't that be quite straightforward? Anyone aware of technical difficulties? Cheers, Stefan -- https://about.me/stefan.graenitz Am 03.05.16 um 22:23 schrieb James Y Knight via llvm-dev:> Yes, it's quite obviously dead and should be deleted. > > When I brought this up last time -- after realizing that it wasn't > actually a backend that targetted c++ (which might be useful), but > rather just something that emitted IR by calling llvm C++ functions > (which really isn't IMO) -- someone also pointed out that it also > really ought to be using IRBuilder...if anyone cared about it. > > > On Tue, May 3, 2016 at 4:14 PM, Sean Silva via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > AFAICT it is dead. > > On Tue, May 3, 2016 at 4:04 AM, Stanislav Manilov via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Hello, > > I was trying to compile a simple program with the CppBackend > like so: > > $ clang str_arg.c -emit-llvm -S > $ llc -march=cpp str_arg.ll > > It produces a file `str_arg.cpp` as expected, however it > doesn't seem that the resulting file is correct. For once, it > includes `<llvm/Analysis/Verifier.h>` which seems to have been > moved to `llvm/IR/Verifier.h` as far back as 2013. > > My question is this: is the CppBackend supposed to work? If > so, what am I missing? > > Listing of str_arg.c: > > #include <stdio.h> > > void i(unsigned index, char *string) { > printf("%d %s\n", index, string); > } > > int main() { > i(10, "foo"); > return 0; > } > > clang version: > > clang version 3.7.1 (http://llvm.org/git/clang.git > 0dbefa1b83eb90f7a06b5df5df254ce32be3db4b) > (http://llvm.org/git/llvm.git > 33c352b3eda89abc24e7511d9045fa2e499a42e3) > Target: x86_64-unknown-linux-gnu > Thread model: posix > > llc version: > > LLVM (http://llvm.org/): > LLVM version 3.7.1 > Optimized build. > Built Apr 4 2016 (15:04:44). > Default target: x86_64-unknown-linux-gnu > Host CPU: ivybridge > > Registered Targets: > aarch64 - AArch64 (little endian) > aarch64_be - AArch64 (big endian) > amdgcn - AMD GCN GPUs > arm - ARM > arm64 - ARM64 (little endian) > armeb - ARM (big endian) > bpf - BPF (host endian) > bpfeb - BPF (big endian) > bpfel - BPF (little endian) > cpp - C++ backend > hexagon - Hexagon > mips - Mips > mips64 - Mips64 [experimental] > mips64el - Mips64el [experimental] > mipsel - Mipsel > msp430 - MSP430 [experimental] > nvptx - NVIDIA PTX 32-bit > nvptx64 - NVIDIA PTX 64-bit > ppc32 - PowerPC 32 > ppc64 - PowerPC 64 > ppc64le - PowerPC 64 LE > r600 - AMD GPUs HD2XXX-HD6XXX > sparc - Sparc > sparcel - Sparc LE > sparcv9 - Sparc V9 > systemz - SystemZ > thumb - Thumb > thumbeb - Thumb (big endian) > x86 - 32-bit X86: Pentium-Pro and above > x86-64 - 64-bit X86: EM64T and AMD64 > xcore - XCore > > Kind regards, > - Stan > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org <mailto: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 <mailto: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/20160522/989478a1/attachment.html>
Anton Korobeynikov via llvm-dev
2016-May-22 14:14 UTC
[llvm-dev] Is the CppBackend still supported?
> * Has there ever been an attempt to implement a real C++ Backend? Without > having done research in that direction - shouldn't that be quite > straightforward? Anyone aware of technical difficulties?The first question probably is what it would be useful for? -- With best regards, Anton Korobeynikov Department of Statistical Modelling, Saint Petersburg State University
James Y Knight via llvm-dev
2016-May-23 14:01 UTC
[llvm-dev] Is the CppBackend still supported?
There was, a long time ago, a backend that actually targetted C. It was deleted in 2012 at r153307. On Sun, May 22, 2016 at 8:37 AM, Stefan Gränitz <stefan.graenitz at gmail.com> wrote:> after realizing that it wasn't actually a backend that targetted c++ > (which might be useful) > > Exact same thing just happened to me.. it's not obvious, especially when > reading the llc info: > > $ llc -version > Registered Targets: > arm - ARM > arm64 - ARM64 (little endian) > cpp - C++ backend > x86 - 32-bit X86: Pentium-Pro and above > x86-64 - 64-bit X86: EM64T and AMD64 > ... > > * If not delete it, then at least adjust the description? E.g. "LLVM C++ > API code" following http://ellcc.org/demo/ ? Could also the name change > to "cppapi"? > > * Has there ever been an attempt to implement a real C++ Backend? Without > having done research in that direction - shouldn't that be quite > straightforward? Anyone aware of technical difficulties? > > Cheers, > Stefan > > -- https://about.me/stefan.graenitz > > > Am 03.05.16 um 22:23 schrieb James Y Knight via llvm-dev: > > Yes, it's quite obviously dead and should be deleted. > > When I brought this up last time -- after realizing that it wasn't > actually a backend that targetted c++ (which might be useful), but rather > just something that emitted IR by calling llvm C++ functions (which really > isn't IMO) -- someone also pointed out that it also really ought to be > using IRBuilder...if anyone cared about it. > > > On Tue, May 3, 2016 at 4:14 PM, Sean Silva via llvm-dev < > <llvm-dev at lists.llvm.org>llvm-dev at lists.llvm.org> wrote: > >> AFAICT it is dead. >> >> On Tue, May 3, 2016 at 4:04 AM, Stanislav Manilov via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> Hello, >>> >>> I was trying to compile a simple program with the CppBackend like so: >>> >>> $ clang str_arg.c -emit-llvm -S >>> $ llc -march=cpp str_arg.ll >>> >>> It produces a file `str_arg.cpp` as expected, however it doesn't seem >>> that the resulting file is correct. For once, it includes >>> `<llvm/Analysis/Verifier.h>` which seems to have been moved to >>> `llvm/IR/Verifier.h` as far back as 2013. >>> >>> My question is this: is the CppBackend supposed to work? If so, what am >>> I missing? >>> >>> Listing of str_arg.c: >>> >>> #include <stdio.h> >>> >>> void i(unsigned index, char *string) { >>> printf("%d %s\n", index, string); >>> } >>> >>> int main() { >>> i(10, "foo"); >>> return 0; >>> } >>> >>> clang version: >>> >>> clang version 3.7.1 ( <http://llvm.org/git/clang.git> >>> http://llvm.org/git/clang.git 0dbefa1b83eb90f7a06b5df5df254ce32be3db4b) >>> (http://llvm.org/git/llvm.git 33c352b3eda89abc24e7511d9045fa2e499a42e3) >>> Target: x86_64-unknown-linux-gnu >>> Thread model: posix >>> >>> llc version: >>> >>> LLVM ( <http://llvm.org/>http://llvm.org/): >>> LLVM version 3.7.1 >>> Optimized build. >>> Built Apr 4 2016 (15:04:44). >>> Default target: x86_64-unknown-linux-gnu >>> Host CPU: ivybridge >>> >>> Registered Targets: >>> aarch64 - AArch64 (little endian) >>> aarch64_be - AArch64 (big endian) >>> amdgcn - AMD GCN GPUs >>> arm - ARM >>> arm64 - ARM64 (little endian) >>> armeb - ARM (big endian) >>> bpf - BPF (host endian) >>> bpfeb - BPF (big endian) >>> bpfel - BPF (little endian) >>> cpp - C++ backend >>> hexagon - Hexagon >>> mips - Mips >>> mips64 - Mips64 [experimental] >>> mips64el - Mips64el [experimental] >>> mipsel - Mipsel >>> msp430 - MSP430 [experimental] >>> nvptx - NVIDIA PTX 32-bit >>> nvptx64 - NVIDIA PTX 64-bit >>> ppc32 - PowerPC 32 >>> ppc64 - PowerPC 64 >>> ppc64le - PowerPC 64 LE >>> r600 - AMD GPUs HD2XXX-HD6XXX >>> sparc - Sparc >>> sparcel - Sparc LE >>> sparcv9 - Sparc V9 >>> systemz - SystemZ >>> thumb - Thumb >>> thumbeb - Thumb (big endian) >>> x86 - 32-bit X86: Pentium-Pro and above >>> x86-64 - 64-bit X86: EM64T and AMD64 >>> xcore - XCore >>> >>> Kind regards, >>> - Stan >>> >>> >>> _______________________________________________ >>> 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 >> >> > > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttp://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/20160523/a943c473/attachment-0001.html>