首页 » 技术文章 » LabVIEW 编译器深层解析

LabVIEW 编译器深层解析

作者:  时间:2010-10-27 10:51  来源:EDN

5. 一次执行产生优化的 DFIR图表

  DFIR后端变换

  在DFIR图表被分解与优化后,后端变换开始执行。这些变换评估并注解DFIR图表,为最终将DFIR图表降低为LLVM IR做好准备。聚丛程序负责将节点归为簇,这些簇可以并行运行。替代程序识别何时分配的数据可以重新使用,何时必须制作副本。在替代程序运行后,分配程序预留出VI执行所需的内存空间。最后,编码发生器负责将DFIR图表转化为可执行的机器指令用于目标处理器。

   LLVM提供一种底层的中间表示

  LLVM是一种多用途,高性能,源代码开放的构架,原来是伊利诺斯州州立大学的作为研究项目而发明的。LLVM因为其灵活性,简洁的API以及不受许可的限制,被广泛用于学术研究与工业生产。在LabVIEW 2010版本,LabVIEW编码生成器使用LLVM来生成目标机器码。在从DFIR图表创建编码流后,LabVIEW访问每个指令并创建一个等价的 LLVM表示。软件会激活多种优化扫描,最终,LLVM准时制(JIT)构架在内存中创建可执行的机器指令。现在LabVIEW可以使用LLVM来执行指令综合,跳变线程,聚合标量替代(scalar replacement of aggregates),条件扩展,尾端调用删除,循环不变代码移出,死码删除以及循环展开。

  DFIRLLVM协同工作

  DFIR是高级的IR具有并行性,而LLVM是底层IR,具有目标机器特性的认知,二者协同工作以优化开发者为处理器结构而编写的LabVIEW代码,它们能够在处理器上被执行。

  – Chris Wood

  Chris WoodNI公司LabVIEW方面的传感器软件工程师。他拥有德克萨斯A&M大学计算机工程专业的学士学位。

   – Craig Smith

  Craig SmithNI公司的首席软件工程师。他拥有德克萨斯A&M大学计算机科学专业的学士与硕士学位。

相关推荐

LabVIEW天下会广召天下英雄

NI  LabVIEW  2012-04-16

NI携手FIRST共同推出第二届FTC科技挑战赛

NI  FTC  LabVIEW  2012-03-14

NI与清华大学精密仪器与机械学系共建教学创新基地

NI  LabVIEW  2011-11-23

开发一款用于锥形球磨机的预防性维护监视系统

LabVIEW  传感器  2011-09-21

使用LabVIEW与PXI进行蓝光播放机视频和音频测试

蓝光播放机  LabVIEW  2011-09-13

NIWeek 2011展示NI如何加快工程效率

NI  LabVIEW  2011-09-09
在线研讨会
焦点