ZHCU881D May 2020 – May 2024
编译器可能提供的软件流水线故障消息包括下述内容:
ii
) 下成功对循环进行软件流水线处理。--opt_for_speed=3
或更低的选项抑制。一种可能的解决方案是添加 MUST_ITERATE pragma,向编译器提供有关循环的最小迭代计数的更多信息。ii
,因为循环的下一次迭代会在读取该值之前将其覆盖。在这条消息之后,编译器会详细描述哪些值存活时间过长:ii = 11 Register is live too long
|72| −> |74|
|73| −> |75|
在本例中,数字 72、73、74 和 75 对应行号,可映射到违规指令上。编译器积极尝试阻止并修复存活过长的问题。可用来解决存活过长问题的方法成功概率很低。因此,本文档不讨论这些方法。此外,编译器通常可以在更高的启动间隔 (ii
) 下找到成功的软件流水线调度。