| ; RUN: llc -O0 %s -o - | FileCheck %s |
| ; RUN: llc -O0 %s -o - | FileCheck %s |
| ; RUN: llc < %s -stop-after=prologepilog | FileCheck %s --check-prefix=PEI |
| |
| target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128" |
| target triple = "i686-pc-linux" |
| |
| ; Function Attrs: noinline nounwind |
| define i32 @foo(i32 %i, i32 %j, i32 %k, i32 %l, i32 %m) #0 { |
| |
| ; CHECK-LABEL: foo: |
| ; CHECK: popl %ebp |
| ; CHECK-NEXT: .cfi_def_cfa %esp, 4 |
| ; CHECK-NEXT: retl |
| |
| ; PEI-LABEL: name: foo |
| ; PEI: $ebp = frame-destroy POP32r implicit-def $esp, implicit $esp |
| ; PEI-NEXT: frame-destroy CFI_INSTRUCTION def_cfa $esp, 4 |
| ; PEI-NEXT: RET 0, killed $eax |
| |
| entry: |
| %i.addr = alloca i32, align 4 |
| %j.addr = alloca i32, align 4 |
| %k.addr = alloca i32, align 4 |
| %l.addr = alloca i32, align 4 |
| %m.addr = alloca i32, align 4 |
| store i32 %i, ptr %i.addr, align 4 |
| store i32 %j, ptr %j.addr, align 4 |
| store i32 %k, ptr %k.addr, align 4 |
| store i32 %l, ptr %l.addr, align 4 |
| store i32 %m, ptr %m.addr, align 4 |
| ret i32 0 |
| } |
| |
| attributes #0 = { "frame-pointer"="all" } |
| |