[LLVMdev] (no subject)

Umesh Kalappa umesh.kalappa0 at gmail.com
Thu Feb 2 00:07:49 PST 2012


Hi There ,

Again ,I'm newbie to LLVM  and please pardon me ..if you guys  feel that
,the below question is very basic :)

Here i go ,compiled the below sample with clang i.e *clang enum.c -S
-emit-llvm* and there respective file are

$ cat enum.c
int main()
{
 enum type{one=1,two,three} s;
 s = one;
 return s;
}

$ cat enum.s
; ModuleID = 'enum.c'
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32"
target triple = "i386-pc-cygwin"

define i32 @main() nounwind {
  %1 = alloca i32, align 4
  %s = alloca i32, align 4
  store i32 0, i32* %1
  store i32 1, i32* %s, align 4
  %2 = load i32* %s, align 4
  ret i32 %2
}

*Question :* Why there is  extra 4 bytes on stack i.e  *"%1 = alloca i32,
align 4"*  ???

Thanks
~Umesh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120202/e16ccd05/attachment.html>


More information about the llvm-dev mailing list