描述
执行函数或循环流水打拍时,OCCURRENCE 编译指示或指令可用于指定流水打拍函数或循环内的某个流水打拍函数调用中的代码的执行速率低于其外层函数或循环的执行速率。这使以较低速率执行的流水打拍调用能以较低速率进行流水打拍,并可能在顶层流水线中共享。例如:
- 循环迭代 N 次。
- 循环的一部分受条件语句保护,并且仅执行 M 次,其中 N 是 M 的整数倍。
- 假设受条件保护的代码将执行 N/M 次。
如果以 OCCURRENCE 速率标识某一区域,则在此区域中将执行流水打拍的函数和循环的启动时间间隔可比外层函数或循环更长。
语法
syn.directive.occurrence=[OPTIONS] <location>
-
<location>
用于指定代码块,此代码块中包含执以较低速率执行的流水打拍函数调用。
选项
-
cycle=<int>
- 指定执行次数 N/M,其中:
- N 是执行外层函数或循环的次数。
- M 是执行条件区域的次数。
重要: N 必须是 M 的整数倍。 -
off=true
- 为指定函数禁用 occurrence。
示例
foo
函数中的 Cond_Region
区域执行 4 次。它的执行速度比其外层的代码更慢,仅为外层代码的四分之一。
syn.directive.occurrence=cycle=4 foo/Cond_Region