用于回溯变量的使用和依赖性的算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于回溯变量的使用和依赖性的算法相关的知识,希望对你有一定的参考价值。

我正在扩展LLVM用于实验。因此,我想跟踪变量用法及其依赖项。

例如,在找到由两个操作数的比较引起的条件分支之后,我想回溯该变量的所有用法并确定其所有依赖性(哪些变量用于计算条件的操作数)。对我来说,这似乎是某种递归回溯操作。

是否有专门针对该问题的特殊算法?

答案

你想要什么被称为“达到定义”。这些是对值“到达”感兴趣的语句或表达式的变量的赋值(或副作用)。

有关如何计算它们的更多讨论和算法(以及任何经典编译器教科书),请参阅https://en.wikipedia.org/wiki/Reaching_definition

我希望LLVM有一些内置的机器来帮助计算它。我不是LLVM专家,所以我错了。

以上是关于用于回溯变量的使用和依赖性的算法的主要内容,如果未能解决你的问题,请参考以下文章

递归和回溯求解8皇后问题

递归回溯算法期间变量未更改

纠正用于回溯图着色算法的 Java 递归代码

R语言使用DALEX包的model_profile函数对h2o包生成的多个算法模型的连续变量进行分析使用偏依赖图(Partial Dependence Plots)解释连续特征和目标值y的关系

R语言使用DALEX包的model_profile函数对h2o包生成的多个算法模型的连续变量进行分析使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标值y的关系

day26 回溯算法的部分总结