[llvm-dev] Is the CppBackend still supported?

Stanislav Manilov via llvm-dev llvm-dev at lists.llvm.org
Tue May 3 04:04:52 PDT 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160503/ed886c3f/attachment.html>


More information about the llvm-dev mailing list