[llvm-dev] Is the CppBackend still supported?
Stefan Gränitz via llvm-dev
llvm-dev at lists.llvm.org
Sun May 22 05:37:57 PDT 2016
> 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>
More information about the llvm-dev
mailing list