Intel®高层次综合编译器专业版: 最佳实践指南

ID 683152
日期 12/04/2023
Public
文档目录

4.3. 避免指针混淆

尽可能在指针类型上添加一个restrict类型限定符。使用具有restrict类型限定的指针,可防止 Intel® HLS Compiler Pro Edition在非冲突读写操作之间创建不必要的存储器依赖关系。

restrict类型限定符为__restrict.

假设一个循环,其中每次迭代都从一个数组读取数据,然后将数据写入同一物理存储器的另一数组。在不对这些指针自变量添加restrict类型限定符的情况下,编译器一定假定这两个数组重叠。因此,编译器必须保持对两个数组的存储器访问原始顺序,进而导致较差的循环优化,甚至无法对包含存储器访问的循环进行流水线处理。

您还可以通过 Avalon® 存储器映射(MM)主机接口使用restrict类型限定符。

更多详细信息,请在以下位置查看参数别名教程:
<quartus_installdir>/hls/examples/tutorials/best_practices/parameter_aliasing