How to analyze a linux kenel system call function's read and write data type?

Hi all,
I want to use llvm to analyze the dependency between the system call fuction( defined like sys_**() ) by analyze its read and write data type. I’m a new in using llvm to statically analyze the C souce code. I have learned how to write Pass and searched some materials for a month, but didn’t know exactly how to do it. I have some troubles, it’s very kind of you to give me some help, materials or code demo.

  1. Is it right firstly to recognize the sys_*() fuction? How to recognize it?
  2. Is it right secondly to use llvm::type class to analyze the data type? How to do what I want?

Best Regards

Yang Ou