The LLVM community has released version 9.0.0 of the LLVM Compiler Infrastructure project. The update features optimizations for memory, pattern matching, and C++.

With the new release, LLVM will remove stores to constant memory under the assumption the code in question must be dead. This had proven to be a problem for some C/C++ code bases that expect to be able to cast away const. This has been an undefined behavior that until now had not been actively utilized for optimization purposes in this exact way.

In addition, LLVM now will pattern-match wide scalar values stored by a succession of narrow stores. For example, Clang will compile the following function writing a 32-bit value in big-endian order in a portable manner:

To read this article in full, please click here

Read more from our friends at InfoWorld