[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