Compiler construction LLVM中是否存在MachineFunction CFG和IR Function CFG的一对一映射?

Compiler construction LLVM中是否存在MachineFunction CFG和IR Function CFG的一对一映射?,compiler-construction,llvm,llvm-ir,codegen,control-flow-graph,Compiler Construction,Llvm,Llvm Ir,Codegen,Control Flow Graph,您可以在LLVM IR级别和CodeGen级别拥有CFG。这是一对一的映射吗?我的意思是,在那些具有类似控制流的CFG中,是否有相同数量的(机器)基本块?我知道指令的数量可能会因为明显的原因而不同,但我想知道结构是否保持不变 这是一对一的映射吗?我的意思是,有相同数量的 (机器)具有类似控制流的CFG中的基本块 不,在基本块级别没有一对一映射。这样做的一个原因是不可能精确替换“PHI”节点。“SELECT”和“SELECT_CC”节点的生成重构了机器基本块表示

您可以在LLVM IR级别和CodeGen级别拥有CFG。这是一对一的映射吗?我的意思是,在那些具有类似控制流的CFG中,是否有相同数量的
(机器)基本块
?我知道指令的数量可能会因为明显的原因而不同,但我想知道结构是否保持不变

这是一对一的映射吗?我的意思是,有相同数量的 (机器)具有类似控制流的CFG中的基本块

不,在基本块级别没有一对一映射。这样做的一个原因是不可能精确替换“PHI”节点。“SELECT”和“SELECT_CC”节点的生成重构了机器基本块表示