[llvm-dev] data flow graph

151 views
Skip to first unread message

huyite via llvm-dev

unread,
Jun 16, 2016, 10:16:05 AM6/16/16
to llvm...@lists.llvm.org

Dear all,

      Please help me to generate DFG(Data flow graph) in LLVM.

 

Best regards,

    Huy

 

Mobile: +84942976091

 

John Criswell via llvm-dev

unread,
Jun 18, 2016, 2:24:58 PM6/18/16
to huyite, llvm...@lists.llvm.org
Dear Huyite,

Your question, as stated, is too broad to answer.  It would help if your question were more specific; what is it that you want to accomplish?  Are you interested in data flow within SSA virtual registers, or are you interested in data that is stored in memory (which is not in SSA form)?  Are you analyzing code at the LLVM IR level or at the MachineInstr (MI) or MC level?  Are you wanting to print a data-flow graph, or are you developing an analysis that needs to understand a program's data flow in some way?

Without a more specific question, I cannot give a useful answer.

Regards,

John Criswell
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell

huyite via llvm-dev

unread,
Jun 18, 2016, 2:38:33 PM6/18/16
to John Criswell, llvm...@lists.llvm.org

Dear professor John Criswell

      I would like to implement a new instruction scheduling algorithm so that I need the Data flow graph(DFG) is input of the algorithm.

 

Thanks

   Huy

John Criswell via llvm-dev

unread,
Jun 18, 2016, 2:51:40 PM6/18/16
to huyite, llvm...@lists.llvm.org
On 6/18/16 1:38 PM, huyite wrote:

Dear professor John Criswell

      I would like to implement a new instruction scheduling algorithm so that I need the Data flow graph(DFG) is input of the algorithm.


If I understand correctly, you need the data flow graph of the machine instructions, correct?  That would imply that you're analyzing the MachineInstr IR and that you need the data dependencies between machine instructions, correct?

I do not know of a data flow graph analysis at the MI level.  However, we have built a very basic reaching definitions analysis for registers at the MI level for x86 (it might work on other architectures, too, though I'm not sure).  We will be extending it to handle stack locations in the near future.  If this could would help you, please let me know.

Have you looked at LLVM's existing instruction scheduler to see how it handles data dependencies?

Regards,

John Criswell

huyite via llvm-dev

unread,
Jun 18, 2016, 3:12:41 PM6/18/16
to John Criswell, llvm...@lists.llvm.org

Yes, you understand me. I am phd student in university of technology HCM city in Viet Nam, I want to apply new instruction scheduling algorithm for Clustered VLIW architecture. At the moment, I try to find a tool to generate data flow graph(DFG) before implement new algorithm.

 

Thanks for support.

Reply all
Reply to author
Forward
0 new messages