Louis Feng | Out of Core

brain dump of things

  • Home
  • Blog
    • Tools
    • Algorithms
    • Design
    • Code
  • Projects
    • Shell Maps
    • Anisotropic Noise Samples
  • About
You are here: Home / Blog / LLVM, Clang, and (no) Auto Vectorization

LLVM, Clang, and (no) Auto Vectorization

March 5, 2011 by Louis Feng 2 Comments

A few days looking into LLVM + Clang, I really liked how they are set up and how they work. I played with the IR code and JIT a little bit, then I realized that Clang and LLVM don’t support auto vectorization (as of current release 2.8). Yes, the IR language supports vectorization through the vector type. But to auto vectorize a loop is not possible right now. I’ll have to find out whether the GCC front end with LLVM will generate auto vectorized loops. The Clang front end is still work in progress in the Polyhedral Transformation project. Clang is bundled with Xcode since version 3.1 (I believe). Maybe that’s why for iPhone/iOS development, Xcode still uses GCC as the primary compiler.

Yesterday I checked out LLVM’s svn source tree, but someone’s commit broke the CMake build. I fixed my local build and submitted a patch to the LLVM commit mailing list. 7 hours later, a LLVM developer said, oh, someone already patched the code. There were about 60 commits in the last 24 hours. That just says how active the LLVM community is.

Filed Under: Blog, Tools Tagged With: clang, llvm, vectorization
About Louis Feng

I have been a computer graphics enthusiast and researcher for many years. My interests has broadened to include mobile, high performance computing, machine learning, and computer vision.

Comments

  1. Konstantin Tokarev says:
    March 16, 2011 at 6:45 am

    >Clang is bundled with Xcode since version 3.1 (I believe)

    Wrong, 3.1 does not include Clang. In 3.2 it’s available for static analysis

    Reply
    • Louis Feng says:
      March 31, 2011 at 6:45 pm

      It’s included in xcode 3.1 as a command line tool, see http://llvm.org/Users.html.

      Reply

Leave a Reply to Louis Feng Cancel reply

*

*

CAPTCHA Image
Refresh Image

*

Archives

  • July 2015
  • April 2015
  • February 2012
  • July 2011
  • June 2011
  • April 2011
  • March 2011

Tags

book C++ clang cocoa container diff GDB git iOS ipad iphone iterator laptop list llvm map memory leak mobile nib software engineering stl Surface 3 Surface Pro 3 UITableViewController UIViewController vector vectorization view controller windows workstation

Return to top of page

Copyright © 2019 Louis Feng | Out of Core