Hi,
I'm a newbie in LLVM environment.

I'm trying to generate the LLVM IR of a c file using clang. The command line argument I'm passing is as :
"clang -O0 -S -emit-llvm test.c -c -o test.ll"

It is generating the LLVM IR properly but I'm not getting the variable names. e.g,

for the c file :
#include <stdio.h>

int main()
{
    int x;
    int y;
    x = 2;
    y =4;
    int z = x*y;

    if(x==y)
    {
        z = x*y;
        return z;
    } else
    {
        z = x+y;
    }
    printf("z = %d", z);
    return 0;
}


the corresponding llvm IR is :

; Function Attrs: nounwind uwtable
define i32 @main() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  store i32 0, i32* %1, align 4
  store i32 2, i32* %2, align 4
  store i32 4, i32* %3, align 4
  %5 = load i32, i32* %2, align 4
  %6 = load i32, i32* %3, align 4
  %7 = mul nsw i32 %5, %6
  store i32 %7, i32* %4, align 4
  %8 = load i32, i32* %2, align 4
  %9 = load i32, i32* %3, align 4
  %10 = icmp eq i32 %8, %9
  br i1 %10, label %11, label %16

; <label>:11:                                     ; preds = %0
  %12 = load i32, i32* %2, align 4
  %13 = load i32, i32* %3, align 4
  %14 = mul nsw i32 %12, %13
  store i32 %14, i32* %4, align 4
  %15 = load i32, i32* %4, align 4
  store i32 %15, i32* %1, align 4
  br label %21

; <label>:16:                                     ; preds = %0
  %17 = load i32, i32* %2, align 4
  %18 = load i32, i32* %3, align 4
  %19 = add nsw i32 %17, %18
  store i32 %19, i32* %4, align 4
  br label %20

; <label>:20:                                     ; preds = %16
  store i32 0, i32* %1, align 4
  br label %21

; <label>:21:                                     ; preds = %20, %11
  %22 = load i32, i32* %1, align 4
  ret i32 %22
}


I wanted to get the variables in their original name i.e, x,y,z instead of %1,%2,%3, etc.
Is it possible to do so?

Thanks.
_______________________________________________
cfe-users mailing list
cfe-users@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users

Reply via email to