TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

LLVM 10.0 RC1 Released

2 点作者 htfy96超过 5 年前

1 comment

htfy96超过 5 年前
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.