Page 1 of 2 12 LastLast
Results 1 to 10 of 28

Thread: Apple/LLVM and Clang/LLVM

Hybrid View

  1. #1
    Join Date
    Feb 2013
    Posts
    7

    Post Apple/LLVM and Clang/LLVM

    Hello there,

    Am newbie in this compiler arena. I have little difficult in understanding various compiler and what does it actually means front-end and back-end in the context of compiler (e.g. I read LLVM compiler used as back-end for Clang.)

    Is Clang/LLVM and Apple-LLVM (https://developer.apple.com/technologies/tools/) are all just same. Or is there any difference in that. Someone can please enlighten me on this. or even pointer to some good article to understand would be great.

    Thanks / Anandh

  2. #2
    Join Date
    Jan 2013
    Posts
    83

    Default

    Don't use Apple-LLVM and Clang-LLVM. They are all shit compilers and they often create broken binaries that segfault when executed no matter the code.

    Use gcc, it's much better and more powerful. The binaries produced by gcc are much smaller and run much ftaer and smoother then app or clang llvm.

    Also recently, apple has added a surveillance capability to all llvm and clang versions so you should not use them.

  3. #3
    Join Date
    Jul 2010
    Posts
    449

    Default

    Apple-LLVM is the 'regular' LLVM, there's only one.

    The front-end is the part that reads the code you type. Clang reads your C code and converts it to an intermediate representation (i.e. it's not fully-compiled yet). LLVM then takes this intermediate representation, optimises it as required, and produces the final binary (the program that you actually run). This means that supporting a new language is simplified, as you only need to write the front-end (the code-to-IR part). This has been done in the AMD graphics drivers.

    Ignore "systemd rulez", clang/LLVM are both very capable and widely used. Give them both a try and see which one you like the most. Or use both to make sure you don't accidentally use compiler-specific code in your programs.

  4. #4
    Join Date
    Jan 2013
    Posts
    83

    Default

    Quote Originally Posted by archibald View Post
    Apple-LLVM is the 'regular' LLVM, there's only one.

    The front-end is the part that reads the code you type. Clang reads your C code and converts it to an intermediate representation (i.e. it's not fully-compiled yet). LLVM then takes this intermediate representation, optimises it as required, and produces the final binary (the program that you actually run). This means that supporting a new language is simplified, as you only need to write the front-end (the code-to-IR part). This has been done in the AMD graphics drivers.
    With gcc, it does both and therefore, you don't need two seperate programs. Also, gcc is smaller and the libraries required are much more compact and so are the binaries. You'll be much better of using gcc.

    Ignore "systemd rulez", clang/LLVM are both very capable and widely used. Give them both a try and see which one you like the most. Or use both to make sure you don't accidentally use compiler-specific code in your programs.
    Acturally, it's archibald that you shoulkd ignore. pretty much everything he says in this quote is a lie.

    -clang/LLVM are not capable compilers, they are very poor by modern standards.

    -The obvious program that will repect your privacy and allow you to produce excellent binaries is gcc. clang/llvm is just horrible in every respect. (literally)

    -gcc specific code has actually been known to produce much better binaries and it makes the code look alot cleaner.

  5. #5
    Join Date
    Jan 2013
    Posts
    1,116

    Default

    Quote Originally Posted by systemd rulez View Post
    With gcc, it does both and therefore, you don't need two seperate programs.
    Please show us how to implement something like AMD's graphic driver frontend with gcc instead of a compiler with frontend/backend design. Oh, you can't?
    Maybe because you have no clue what you are talking about?

    -clang/LLVM are not capable compilers, they are very poor by modern standards.

    -The obvious program that will repect your privacy and allow you to produce excellent binaries is gcc. clang/llvm is just horrible in every respect. (literally)

    -gcc specific code has actually been known to produce much better binaries and it makes the code look alot cleaner.
    I bet you are not able to provide any sane proof for that.

    Also recently, apple has added a surveillance capability to all llvm and clang versions so you should not use them.
    Link to that? I bet you don't have one, except may be some made up stuff, like your antiBSD blog full of lies.

    Damn it, you are much worse at trolling than I previously thought.

  6. #6
    Join Date
    Jan 2013
    Posts
    83

    Default

    Quote Originally Posted by Vim_User View Post
    Please show us how to implement something like AMD's graphic driver frontend with gcc instead of a compiler with frontend/backend design. Oh, you can't?
    Go to gnu.org.

    Maybe because you have no clue what you are talking about?


    I bet you are not able to provide any sane proof for that.
    Look at the benckmarks for clang and gcc. Oh wait your in denial just like all BSDtards out there.

    Link to that? I bet you don't have one, except may be some made up stuff, like your antiBSD blog full of lies.
    I told you, I can't write such long post. So it's not my blog. I can't even be bothered setting up a blog cause I don't have timw writing long essays

    Damn it, you are much worse at trolling than I previously thought.
    I'm only just trying to awaken people to the danger and unethicallity of nonfree software and BSD (which helps nonfree software). The comment you make about me being a troll actually applies to you.

  7. #7
    Join Date
    Sep 2012
    Posts
    687

    Default

    Quote Originally Posted by Anandh View Post
    Is Clang/LLVM and Apple-LLVM (https://developer.apple.com/technologies/tools/) are all just same. Or is there any difference in that. Someone can please enlighten me on this. or even pointer to some good article to understand would be great.

    Thanks / Anandh
    "Apple LLVM" is not really a compiler, but a marketing name Apple uses to designate its parser, compiler and static analyzer tools for its IDE. It is indeed CLang/LLVM integrated into XCode, so they are the just the same.

  8. #8
    Join Date
    Feb 2013
    Posts
    7

    Post

    @Vim_user & erendorn, Thanks for the clarification. But in the link http://www.stroustrup.com/compilers.html strourstrup says AppleC++ and ClangC++ as two different compiler. This is where my confusion started. can you explain what did he mean by AppleC++ and ClangC++?

  9. #9
    Join Date
    Feb 2013
    Posts
    7

    Post

    @Vim_user, erandorn, Thanks for the clarification. In the link wwwdotstroustrupdotcom/compilers.html, stroustrup talks about different compilers for C++ and he mentions AppleC++ and ClangC++.. This is where my confustion started. Can you throw some light on this?

    Thanks / Anandh

  10. #10
    Join Date
    Jan 2013
    Posts
    1,116

    Default

    I think he got just confused there because of Apple's marketing strategy to name it Apple LLVM when it is just Clang/LLVM integrated into an IDE.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •