在 Visual Studio 2019 版本16.9 预览3 我们继续改进C++后端,具有新的特性、新的和改进的优化、建立吞吐量改进和更好的安全性。下面是一个简短的改进列表供您回顾。
null
- 地址消毒剂: 的IDE集成 ASan报告的异常(vcasan.lib)现在处理异常的完整集合 阿桑 我可以报告。那个 瓦卡桑 lib也会自动找到,就像另一个一样 阿桑 库,当抛出/fsanizize=address时。此外,如果编译器和链接器检测到您正在使用 阿桑 但不发送调试信息。我们很高兴能够在这个最新的预览中分享这些用户模型的改进!更多细节将在即将到来的全文中提供 阿桑 16.9即将发布的文档。其他技术改进包括:
- 扩大 RtlAllocateHeap公司 支持,固定兼容性 RTL创建堆 和 RtlAllocateHeap公司 具有可执行内存的拦截器。
- 补充 阿桑 拦截器支持 球形 和 局部分配 可移动存储器。
- 更新了对拦截失败的处理,增加了对ASANu WINu CONTINUEu ONu拦截失败的检查 环境 变量在拦截失败后继续。
- 更新的错误消息的阴影内存交错和拦截失败,使问题和解决办法明确。
- OpenMP接口 以LLVM运行时为目标
- 我们添加了针对OpenMP运行时的LLVM版本的选项。 T 瞄准新的运行时 通过使用 新的CL开关 /openmp:llvm 而不是/openmp。 除了/OpenMP支持的所有OpenMP功能之外/openmp:llvm 添加 支持 对于 这个 最后一个私人 关于#pragma的条款 omp公司 部分 s 和 未签名 为循环并行索引变量。 第 e /openmp:llvm 转换 是否可用 只有f 或者 x64个 目标 而且还是实验性的 .
- 改进的协同程序调试支持
- 保持arm64的预着色(跳转线程)
- 修复了编译返回带有/O2的大对象的arm64函数时的代码生成错误(链接的客户反馈: /O2 ARM64函数调用codegen传递参数不正确,返回对象(visualstudio.com) )
- 循环融合和矢量化的交换顺序
- 改进的循环优化器在更多情况下应用循环融合。
- 删除不必要的内存负载 使用可交换x86指令的reg mem变体
- 修复LTCG下/OPT:REF的问题
- 修正了一个问题 仅由数据引用的函数(如 vtable)可能在/OPT:REF下被错误删除 在极少数情况下使用LTCG
- 增量链接支持 C++ 模块 联动装置
- 对英特尔的支持 钥匙锁 用户中断指令以及 VC工具中添加的内部函数,如 编译器,MASM, 和 材料安全数据表
你想体验C++后端的新改进吗? 请下载 最新的Visual Studio 2019 和 试试看!欢迎任何反馈。我们可以通过评论联系到您 在下面, 开发者社区 ,电子邮件( visualcpp@microsoft.com ),和Twitter( @视觉 ).
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END