Posts
roy's blog
Cancel

为什么要设计SIL 上图是传统的基于LLVM的编译器流程,比如C、C++以及Objective-C。代码分析主要是基于CFG(AST级别),CFG全称Control Flow Graph(函数流程控制图),是在clang这一层,但是这有很多缺点。 缺点: 源码和LLVM IR之间的巨大抽象差距不适用于源码级分析 CFG缺乏保真度 CFG不是在hot path上,hot...

SwiftSyntax是基于libSyntax构建的Swift库,利用它可以分析,生成和转换Swift代码。现在已经有一些基于它开源的库,比如SwiftRewriter针对代码进行自动格式化(其中包括基于代码规范进行简单的代码优化)。 Swift 编译器 Swift编译器分为前端和后端,LLVM架构下的都是如此(Objective-C编译器的前端是Clang,后端是也是LLVM),下图是...

之前做过App的启动优化,遇到了+load优化的问题,后来想一想除了initializers代替+load还有没有什么好的方法,然后就搜到了运用编译属性__attribute__优化,于是查找了很多文章,系统的整理了下__attribute__。本文大部分内容来自引用的文章,如果想看更多更详细内容可以查看引用文章。 __attribute__ 介绍 __attribute__是一个编译属性,...

Recent Update

    Trending Tags

    Trending Tags