-
The Dreaded Two-Phase Name Lookup
C++ has more than its fair share of dark, dank corners, especially where templates are concerned. One of the most vexing is "two-phase name lookup", which involves lookup for any names that occur in the body of a template.
Read more… -
Introduction to load elimination in the GVN pass
One very important optimization that the GVN pass (opt -gvn) does is load elimination. Load elimination involves several subsystems (including alias analysis, memory dependence analysis, SSA construction, PHI translation) and has many facets (full vs partial redundancy elimination, value coercion, handling memset/memcpy, etc).
Read more… -
'lit' it
If you've been watching LLVM and Clang, you'll notice that there is a new testing tool we are using called lit. Clang has already moved to it, and LLVM has support for it (DejaGNU is still the default, but is being phased out).
Read more… -
Welcome to the LLVM Blog
Welcome to the new and shiny LLVM Blog. We've noticed that while the greater LLVM community active and thriving, that it is very difficult for people who aren't hacking on it to follow interesting developments.
Read more…