LLVM 12
releases.llvm.org
releases.llvm.org
* LLVM no longer assumes forward progress by default. This means it no longer miscompiles infinite loops in non-C++ programming languages.
* LLVM now tracks applicability scopes for scoped noalias metadata. This means LLVM no longer miscompiles code for languages with high-quality aliasing information.
* Dead store elimination now uses MemorySSA, and can eliminate dead stores across basic blocks.
For C++ features you also might be better off looking at cppreference.com [0].
I thought it wasn't enabled by default in 12? I recall this being said at some point.
That said, I do appreciate this change making it into Rust, as it very visibly improves how it handles moving big structs around.
This affects Rust, for instance, and might net 0-5% better run-time performance: https://github.com/rust-lang/rust/issues/54878#issuecomment-...
> Changes to the ARM Backend
> During this release …
And that’s all it says. Is this just a placeholder that wasn’t deleted? Or an indication that there were changes but they are too minor/technical to usefully detail? There are many empty sections but only a handful have the “during this release...” boilerplate.
That seems to indicate that it’s a work in progress and someone forgot to do a cleanup process for things that didn’t change.
How well can it target nvidia GPUs?
Does machine code analyzer support in order hardware yet ?
Upstream Clang supports compiling CUDA code however.
2. Do you mean this [1]? If so then for a while it seems.
3. I don’t understand the question. I can’t find anything called a “machine code analyzer” or how the code analyzer/or any sanitizers relate to in-order vs out-of-order hardware as a class. The former works at source level. The latter is a mixture of library support code and codegen instrumentation and I’m not aware of anything specifically that relies on the execution mode of a CPU (I would imagine RAM constraints are the bigger issue).
[1] https://www.hahnjo.de/blog/2018/10/08/clang-7.0-openmp-offlo...
Sounds cool, is cool - word of warning: it can be a little optimistic sometimes.