zpu: simple fn with stack slots compile
commit0c220395a657c566532175d3c80cc5d7024c8849
authorØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 22 Nov 2010 19:51:57 +0000 (22 20:51 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 22 Nov 2010 20:30:13 +0000 (22 21:30 +0100)
tree1fb40e56e552599b70063dec423f4dda24493f85
parent29eadaf8948c68b9f72259f5e6a6ea31901f63fc
zpu: simple fn with stack slots compile

This bears some remote resemblance to what I'm after....

clang   -ccc-host-triple zpu-none-none test3.c -S

int b;
int c;
void foo(void)
{
  int d = b;
  int e = c;
  int f;
  f = d + e;
  c = f;
}

=>

.file "test3.c"
.text
.globl foo
.align 2
.type foo,@function
load b %r0
storestackslot %r0 12, %sp
load c %r0
storestackslot %r0 16, %sp
loadstackslot 12, %sp %r1
add %r0 %r1 %r0
storestackslot %r0 20, %sp
storereg %r0 c
$tmp0:
.size foo, ($tmp0)-foo

.type b,@object
.comm b,4,4
.type c,@object
.comm c,4,4
lib/Target/ZPU/AsmPrinter/ZPUAsmPrinter.cpp
lib/Target/ZPU/ZPUISelDAGToDAG.cpp
lib/Target/ZPU/ZPUInstrInfo.td
lib/Target/ZPU/ZPURegisterInfo.cpp
lib/Target/ZPU/ZPURegisterInfo.h