TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

LLVM 10.0 RC1 Released

2 pointsby htfy96over 5 years ago

1 comment

htfy96over 5 years ago
Release Notes can be found at &quot;release notes&quot; links on <a href="https:&#x2F;&#x2F;prereleases.llvm.org&#x2F;10.0.0&#x2F;#rc1" rel="nofollow">https:&#x2F;&#x2F;prereleases.llvm.org&#x2F;10.0.0&#x2F;#rc1</a>.<p>A few highlights:<p>&gt; llvm: -mprefer-vector-width=256 is now the default behavior skylake-avx512 and later Intel CPUs. This tries to limit the use of 512-bit registers which can cause a decrease in CPU frequency on these CPUs.<p>This reminds me of all those &quot;don&#x27;t use AVX512&quot; memes and a good explanation is at <a href="https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;56852812&#x2F;simd-instructions-lowering-cpu-frequency&#x2F;56861355#56861355" rel="nofollow">https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;56852812&#x2F;simd-instructio...</a><p>&gt; llvm: Windows Control Flow Guard: the -cfguard option now emits CFG checks on indirect function calls. The previous behavior is still available with the -cfguard-nochecks option. Note that this feature should always be used with optimizations enabled.<p>A good resource for learning basics of ClangCFI: <a href="https:&#x2F;&#x2F;blog.trailofbits.com&#x2F;2017&#x2F;02&#x2F;20&#x2F;the-challenges-of-deploying-security-mitigations&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.trailofbits.com&#x2F;2017&#x2F;02&#x2F;20&#x2F;the-challenges-of-de...</a><p>&gt; clang&#x2F;c++: Concepts support. Clang now supports C++2a Concepts under the -std=c++2a flag.<p>This finally landed and was considered one of the biggest features of C++23. Visual Studio implemented it in 16.3 released last year: <a href="https:&#x2F;&#x2F;devblogs.microsoft.com&#x2F;cppblog&#x2F;c20-concepts-are-here-in-visual-studio-2019-version-16-3&#x2F;" rel="nofollow">https:&#x2F;&#x2F;devblogs.microsoft.com&#x2F;cppblog&#x2F;c20-concepts-are-here...</a><p>&gt; clang now defaults to .init_array on Linux. It used to use .ctors if the found gcc installation is older than 4.7.0. Add -fno-use-init-array to get the old behavior (.ctors).<p>That&#x27;s the pain of relying gcc toolchain in many components to keep backward compatibility. I really wish there could be a &quot;-fbehavior-model=v3&quot; for these kind of subtle changes.