ZHCUAQ1F july 2015 – april 2023
--debug_software_pipeline 选项在生成的汇编文件中放置额外的软件流水线反馈。该信息包括软件流水线循环的单个调度迭代视图。
如果给定循环的软件流水线成功,并且在编译过程中使用了 --debug_software_pipeline 选项,那么将在生成的汇编代码中的软件流水线信息注释块中添加寄存器使用表。
每行上的数字代表循环内核中的周期号。
每一列代表 TMS320C6000 上的一个寄存器。寄存器标记在寄存器使用表的前三行,应逐列读取。
表条目中的 * 表示列标头所指示的寄存器位于内核执行数据包中,内核执行包由标记每一行的周期号指示。
寄存器使用表的一个示例如下:
;* Searching for software pipeline schedule at
;* ii = 15 Schedule found with 2 iterations in parallel
;*
;* Register Usage Table:
;* +---------------------------------+
;* |AAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBB|
;* |0000000000111111|0000000000111111|
;* |0123456789012345|0123456789012345|
;* |----------------+----------------|
;* 0: |*** **** |*** ****** |
;* 1: |**** **** |*** ****** |
;* 2: |**** **** |*** ****** |
;* 3: | ** ***** |*** ****** |
;* 4: | ** ***** |*** ****** |
;* 5: | ** ***** |*** ****** |
;* 6: | ** ***** |********** |
;* 7: |*** ***** |** ******* |
;* 8: |**** ***** |*********** |
;* 9: |********** |** ******** |
;* 10: |*********** |** ********* |
;* 11: |*********** |** ********* |
;* 12: |********** |************ |
;* 13: |**** ***** |** ******* * |
;* 14: |*** ***** |*** ****** * |
;* +---------------------------------+
;*
此示例显示在循环内核的第 0 个周期(第一个执行数据包)上,寄存器 A0、A1、A2、A6、A7、A8、A9、B0、B1、B2、B4、B5、B6、B7、B8 和 B9 在这个周期内全都处于激活状态。