LLVM Use Def Analysis

Dear LLVM Developers,

I am a student at TU Darmstadt and I am currently working with LLVM in a project to extract data dependencies from a program.

Since I want to use a use-def chain but didn't find a corresponding Pass in LLVM, I would like to ask you, if there is an existing LLVM-Pass for use-def analysis.

I am looking forward to hearing from you.

Best regards,
Pascal Hefter

Hi Pascal,

could you elaborate on "use-def analysis" a bit?
If it helps, an llvm::Value does know both users and operands.


If by "use-def" chain you mean classical def-use analysis, you don't
need it in LLVM, as LLVM IR is in SSA form. The dependencies are
explicitly expressed in the IR itself.

If my "data dependence" you mean loop dependence analysis then there are
a couple of different implementations available.


Pascal Dominik Hefter via llvm-dev <llvm-dev@lists.llvm.org> writes: