c++cllvmclang

LLVM cpp backend, does it replace c backend?


My question is regarding the CPP backend, does it serve the same purposes as the C backend? The C backend was one of my favorite LLVM features, and I'm very upset it was removed.

Whats the real differences? I' most appreciative of any help.

Reference: The LLVM 3.1 Release Notes "The C backend has been removed ..."


Solution

  • The CPP backend creates LLVM API calls to create an AST that represent the equivalent of the LLVM assembly. You can try the CPP backend at http://llvm.org/demo/ by selecting the "LLVM C++ API code" Target.

    The C backend creates C code that execute the semantics of the LLVM assembly.

    They are fundamentally different.