LLVM后端优化Pass:别名分析

AliasAnalysis.html 中对别名分析进行了基本的介绍: Alias Analysis (又名 Pointer Analysis),用于确定两个指针是否指向内存中的同一对象,这里有很多不同的别名分析算法,可分为:流敏感 vs 流非敏感、上下文敏感 vs 上下文非敏感、域敏感 vs 域非敏感、基于一致性的 vs 基于子集的。 传统的别名分析用于给出

2024-09-02 · 4 min · zevorn

LLVM3.0 JIT 处理代码块重定向阶段对外部符号解析的 Bug

LLVM3.0 的 JIT 在 MinGW64 / MSCV64 上,进行代码块重定向阶段,处理超过32位地址范围(前后跳转2GB地址空间)的外部符号地址时,会将其强转为32位: 这会导致生成的指令,在执行时崩溃,一般表现为段错误。 解决办法: PS:这个问题似乎在 LLVM 3.1 上面也存在。

2024-05-22 · 1 min · zevorn