编译器清单

列表是一个文件 (带有 .lst 后缀) ,其中包含有关特定编译的信息,以帮助您浏览程序的编译器输出。 作为调试帮助,编译器列表对于确定编译中出现的问题很有帮助。 例如,编译期间发出的任何诊断消息都将写入列表。

要生成列表,可以使用以下任何选项进行编译,这些选项提供了不同类型的信息:
列表信息按部分进行组织。 列表包含标题部分和其他部分的组合,具体取决于有效的其他选项。 这些部分的内容描述如下。
“标题”部分
列出编译器名称,版本,发行版,源文件名以及编译的日期和时间。
基于 XL 的前端开始“源”部分
如果使用 -qsource 选项,请列出具有行号的输入源代码。 如果某行存在错误,那么关联的错误消息将显示在源行之后。 包含宏的行具有显示宏扩展的其他行。 缺省情况下,此部分仅列出主源文件。 使用 -qshowinc 选项也可展开所有头文件。
基于 XL 的前端开始“选项”部分
列出编译期间生效的选项。 缺省情况下,它列出指定的选项。 要获取所有选项,请指定 -qlistopt 选项。
基于 XL 的前端开始属性与交叉引用列表部分
如果使用 -qattr-qxref 选项,请提供有关编译单元中使用的变量的信息,例如类型,存储持续时间,作用域以及定义和引用这些变量的位置。 其中每个选项都提供了有关编译中使用的标识的不同信息。
“文件表”部分
列出每个主源文件和包含文件的文件名和编号。 每个文件都与一个文件编号相关联,从分配有文件编号 0 的主源文件开始。 基于 XL 的前端开始对于每个文件,列表会显示该文件是从哪个文件和行中包含的。 如果 -qshowinc 选项也处于启用状态,则源代码部分中的每一行源代码都会有一个文件编号,以指示该行来自哪个文件。基于 XL 的前端端
“PDF 报告”部分
当您将 -qreport 选项与 -qpdf2 选项配合使用时,此部分中包含以下信息:
循环迭代计数
对于给定的输入数据集,将为程序中的大多数循环计算最频繁的循环迭代计数和平均迭代计数。 仅当在优化级别 -O5编译程序时,此信息才可用。
块和调用计数
本部分涵盖程序的 调用结构 以及每个被调用函数的相应执行计数。 它还包含每个函数的 块信息 。 对于非用户定义的函数,仅提供执行计数。 块和调用覆盖总计数以及用户函数列表(按执行计数递减顺序排序)显示在此报告部分的末尾。 此外,块计数信息显示在列表文件中每个伪码块的开头。
高速缓存不命中
此部分显示在单个表中。 它报告特定函数的 高速缓存未命中数 ,其中包含有关函数的其他信息,例如: Cache LevelCache Miss RatioLine NumberFile NameMemory Reference
注: 必须使用选项 -qpdf1=level=2 来获取此报告。
您还可以在运行时期间使用环境变量 PDF_PM_EVENT 选择要进行概要分析的高速缓存级别。
概要分析数据的相关性
此部分显示在 PDF1 步骤期间概要分析数据与源代码的相关性。 相关性由范围 0 到 100 中的数字指示。 该数字越大,概要分析数据与源代码的相关性就越高,并且使用概要分析数据可以获得的性能增益更多。
缺少概要分析数据
本节可能包括有关缺少概要分析数据的警告消息。 将对编译器找不到其概要分析数据的每个函数发出该警告消息。
过时的概要分析数据
本节可能包括有关过时的概要分析数据的警告消息。 对于在 PDF1 步骤之后修改的每个函数,编译器都会发出此警告消息。 当优化级别从 PDF1 步骤更改为 PDF2 步骤时,也会发出警告消息。
“变换报告”部分
如果 -qreport 选项生效,则此部分将显示与原始源代码对应的伪代码,以便您查看 -qhot基于 XL 的前端开始-qsmp基于 XL 的前端开始 选项生成的并行化和循环转换。 基于 XL 的前端开始如果您使用 -qsmp-qhot=level=2基于 XL 的前端开始 编译,报告的这一部分还会显示有关循环嵌套的附加循环转换和并行化信息。

此部分还报告为给定循环创建的流数以及编译器插入的数据预取指令的位置。 要生成有关数据预取插入位置的信息,请将 -qhot-O3 -qhot-O4-O5 的优化级别与 -qreport一起使用。

数据重组部分
-qreport-qipa=level=2-O5配合使用时,显示 IPA 链接传递期间程序变量数据的数据重组消息。 重组信息包括:
  • 数组分割
  • 数组转置
  • 内存分配合并
  • 数组交叉
  • 数组结合
基于 XL 的前端开始“编译结尾”部分
按严重性级别显示诊断消息的摘要,读取的源行数以及编译是否成功。
“对象”部分
如果指定 -qlist 选项,那么 对象部分会列出 由编译器生成的对象代码。 如果您怀疑程序由于代码生成错误而未按预期执行,那么此部分对于诊断执行时间问题很有用。

相关信息