[LLVMdev] clang with -emit-llvm
Benjamin Kramer
benny.kra at gmail.com
Tue Jan 1 12:13:25 PST 2013
On 01.01.2013, at 21:04, Somenath Chakraborty <some.chak at gmail.com> wrote:
> Hello,
>
> I have just started using llvm. I was trying to debug how clang generates IR for very simple C testcases (few assignments and if-condsitions).
> To get a hold on the basic functions, I put some break points on following functions but debugger didn't stop:
>
> llvm::BasicBlock::Create
> llvm::BinaryOperator::CreateAdd (design has binary op)
> llvm::Value::Value
> llvm::BranchInst::Create (design has if/else)
> ...
> and quite a few
>
> The command line I used :
>
> clang -S test.c -emit-llvm -o -
>
> Here I could see the entire LLVM code generated and shown in stdout. I am almost sure that I have missed something very basic. Can anyone please help me in setting proper breakpoints so that I can debug through the entire IR generation phase.
Clang executes itself in a child process to do the actual work. To get working breakpoints you can either tell your debugger to follow child processes, e.g. "set follow-fork-mode child" in GDB, or run clang with the -### argument and use the command line that begins with -cc1 for debugging.
- Ben
More information about the llvm-dev
mailing list