<div dir="ltr">Dear All:<div><br></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px">I am working on Clang/LLVM and interested to know if there is a programmatic way to extract the CFG of a specific</span></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px">node in AST like a for loop? </span></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px"><br></span></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px"> I am aware of </span><code style="margin:0px;padding:1px 5px;border:0px;font-size:13px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif;white-space:pre-wrap;color:rgb(34,36,38);background-color:rgb(238,238,238)">-emit-llvm</code><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px">option, but it will apply on the whole TU.</span><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px"><br></span></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px"><br></span></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px">For example,</span></div><div><span style="color:rgb(34,36,38);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;line-height:19.5px">we could use  </span><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(0,0,0);font-size:15px;line-height:1.75em;white-space:pre-wrap;background-color:rgba(0,0,0,0.027451)">CFG</span><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:15px;line-height:1.75em;white-space:pre-wrap;color:rgb(102,102,0);background-color:rgba(0,0,0,0.027451)">::</span><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(0,0,0);font-size:15px;line-height:1.75em;white-space:pre-wrap;background-color:rgba(0,0,0,0.027451)">buildCFG to extract the source level CFG of a specific node.</span></div><div><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(0,0,0);font-size:15px;line-height:1.75em;white-space:pre-wrap;background-color:rgba(0,0,0,0.027451)">Is there a counterpart API to extract the LLVM IR level CFG of a specific node?</span></div><div><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(0,0,0);font-size:15px;line-height:1.75em;white-space:pre-wrap;background-color:rgba(0,0,0,0.027451)"><br></span></div><div><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(0,0,0);font-size:15px;line-height:1.75em;white-space:pre-wrap;background-color:rgba(0,0,0,0.027451)">Sincerely</span></div><div><span class="" style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(0,0,0);font-size:15px;line-height:1.75em;white-space:pre-wrap;background-color:rgba(0,0,0,0.027451)">xiaohui</span></div></div>