<div dir="ltr">Hi,<br><br>I would like to pre-process the AST before I do actual analysis on it. For example I would like to normalize loops first.  I have three solutions in mind<br><br>1) I know that I can write the AST to a file after processing and read it again. But that will make the process complicated and slower<br>
2) I can add the code as separate functions in the ASTConsumer that I will use but that will limit the reusability of the loop normalization.<br>3) I can make loop normalization code in a StmtVisitor and call it when I reach function body. but that will make a separate traversal of the AST tree.<br>
4) Make a separate ASTConsumer. but in this case I need to enable ParseAST to handle multiple consumers (maybe by passing a vector of the ASTConsumers) and having ParseAST call them one after the other but that will require modifying the Clang builtin function ParseAST plus I am not sure if there might be other issues involved (Do I have to worry about the context? I am not changing the types)<br>
<br>Is option 4 a viable option? Do you have another option?<br><br>Thanks, <br>Moataz<br></div>