感覺可以用 PHINode 來分析 hardware Architecture 中的 Critical Fan-in Nodes. 透過 LLVM 產生的 IR code 中.會 Check alive-In alive-Out 的彼此關係. 除非有 feedback or loop 的 case 下,才會產生 PHINode, 這也表示在 PHINode 的 Fan-In > 1,於是我們可以得到 max path delay(paths) & min path delay(paths). 之後就可以針對這兩條 path 做 setup/hold time check.來 balance timing root tree...避免real time 時的 timing check error.小弟還沒驗證過拉,只是個從 LLVM 移植來的想法罷了.XD
entry:
...
for.body:
%indvar = phi i32 [ 0, %entry ], [ %indvar.next, %for.body ]
...
%indvar.next = add i32 %indvar, 1
...
PS: 不小心 goole 到 control flow graph 的 lib. 有興趣的人可以玩玩看.
The Machine-SUIF Control Flow Graph Library
沒有留言:
張貼留言