我有两个问题:
第1部分。
我正在实现公共子表达式消除。为此,我打算编写两个通行证。第一次传递( CSDetectPass )将检测公共子表达式。第二遍( CSEliminationPass )将消除这些冗余。我的检测通道准备就绪,现在我想从消除通道中访问它。
我该怎么做?
This解释了传递互动。但是我在实施这个问题时遇到了一些困难。
我需要知道如何连接这些传递以及如何在一些示例的帮助下访问第一遍传递的数据。
第2部分。
我想使用LLVM代码扫描输入程序两次。成功执行 runOnFunction()后,整个输入程序代码将被扫描一次。如果我想再次阅读每一个程序语句,我该怎么办?