Предположим, у меня есть в моем CFG (среди прочего) два основных блока A и B, с ребром от A до B. Мне нужно сделать следующее:
- получить набор S из живогозначения через этот край (это может быть избыточное приближение, т. е. оно может содержать значения, которые больше не являются живыми)
- сопоставить каждое из них с другим значением (S-> S ')
- replace -в B и его преемниках - все случаи использования значений в S с сопоставленными значениями (S ')
Предоставляет ли LLVM простой способ сделать первые и третьи пункты (потому что я не могу показатьсячтобы можно было его найти)?Если нет, есть ли у вас какие-либо предложения о том, как это сделать?
note: перекрестно помещен в список рассылки LLVM