美文网首页
编译器笔记48-代码优化-数据流分析

编译器笔记48-代码优化-数据流分析

作者: 衣忌破 | 来源:发表于2020-03-12 00:00 被阅读0次

数据流分析(data-flow analysis)

  • 数据流分析
    一组用来获取程序执行路径上的数据流信息的技术

  • 数据流分析应用

  1. 到达-定值分析(Reaching-Definition Analysis)
  2. 活跃变量分析(Live-Variable Analysis)
  3. 可用表达式分析(Available-Expression Analysis)
  • 在每一种数据流分析应用中,都会把每个程序点和一个数据流值关联起来。

数据流分析模式

语句的数据流模式

IN[s]: 语句s之前的数据流值
OUT[s]: 语句s之后的数据流值

传递函数.png 语句之间数据流.png

基本块上的数据流模式

基本块上的数据流模式.png

相关文章

  • 编译器笔记48-代码优化-数据流分析

    数据流分析(data-flow analysis) 数据流分析一组用来获取程序执行路径上的数据流信息的技术 数据流...

  • 编译器前端和后端

    编译器粗略分为词法分析,语法分析,类型检查,中间代码生成,代码优化,目标代码生成,目标代码优化。把中间代码生成及之...

  • Flutter 前端编译器编译流程分析

    1. 前端编译器和后端编译器的区别 编译流程粗略分为词法分析、语法分析、类型检查、中间代码生成、代码优化、目标代码...

  • 编译器的工作过程

    编译器的工作过程划分为:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。 词法分析器的任务是把...

  • 编译原理概述

    编译器原理 词法分析器 语法分析器 语义分析器 中间代码生成 符号表 独立机器的代码优化器 代码生成器 依赖于机器...

  • iOS的性能优化

    1、ipa包体积优化 1.1 编译配置优化:编译器代码层面优化Optimize Level;Bitcode(较难...

  • 编译器优化部分代码

    我们简单写一些代码看编译器优化前后的对比。编译器没有优化时 在Build Setting 搜索optimizati...

  • 编译器想做什么

    编译器就程序员写的代码变成CPU能理解机器代码。编译器的指令重排指开启编译器优化后,在不影响代码行为的前提下,代码...

  • 程序员自我修养2:编译过程

    编译过程分为6步:扫描(词法分析)、语法分析、语义分析、源代码优化、代码生成、目标代码优化。 示例代码:array...

  • 代码文件编译生成过程完成的事情

    编译过程可分为6步:扫描(词法分析)、语法分析、语义分析、源代码优化、代码生成、目标代码优化。 词法分析:扫描器(...

网友评论

      本文标题:编译器笔记48-代码优化-数据流分析

      本文链接:https://www.haomeiwen.com/subject/hszkjhtx.html