Idiom Recognition using LLVM

Dear All,

I’m trying to figure out a tool which can automatically recognize idioms in pseudo-codes written in C language. The idioms are widely-used and common patterns that exist in many computational applications. The idioms can be common memory access patterns or computational patterns.

My guess is tools like LLVM may be able to decode and list these idioms in the source code, but while I’m investigating it I couldn’t find any package in LLVM to recognize these idioms.

Does anyone aware of a package in LLVM that can do the above task for me? Or any other tools that can help me to recognize these idioms? Or any other study that reports these idioms in many different benchmarks and applications?

Thanks,
Saman