Category: LLVM

LLVM Cauldron

I’m going to be attending the LLVM Cauldron (but not the GNU Tools Cauldron) next week. This is mostly out of curiosity (I’m not giving any talks) and to enjoy Hebden Bridge while it’s just about still summer.



LLVM ARM and AArch64 nest attribute patches accepted

In the process of developing a mechanism for efficient virtual method calls in Loci I came across difficulties related to generating the appropriate assembly via LLVM IR. For more information, read the LLVM mailing list discussion. Fortunately it turns out LLVM has been adding the required features recently, one of which is the ‘nest’ attribute…



llvm-abi announced on LLVM mailing list

I announced llvm-abi, a library I created to generate ABI-compliant LLVM IR, on the LLVM mailing list. It seems like other front-end developers are very happy to see this kind of change and are furthermore interested in changes to Clang to expose its ABI code generation functionality to ensure that everyone is using a single…



Locic 1.1 released!

So the second version of the Loci Compiler Tools is now available (see Loci Compiler), with the main new features being: Switching from C++-like template expansion to use Template Generators (to allow templated APIs across module boundaries) Module imports and exports scope(success), scope(failure) and scope(exit) noexcept Type-templated functions/methods Type aliases assert and unreachable statements Implicit…



Building LLVM and Clang

Often it’s useful to build the latest LLVM and Clang from source code, rather than relying on often out-of-date packages available in repositories. This build process can be done quickly and easily with CMake, but it’s worth taking care to ensure the right options are passed. The following commands will build LLVM and Clang to…