Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / Mips / micromips-load-effective-address.ll
blob5215c3a519989f7472a6272fd435b3457853084e
1 ; RUN: llc %s -march=mipsel -mattr=micromips -filetype=asm \
2 ; RUN: -relocation-model=pic -O3 -o - | FileCheck %s
4 define i32 @sum(ptr %x, ptr %y) nounwind uwtable {
5 entry:
6   %x.addr = alloca ptr, align 8
7   %y.addr = alloca ptr, align 8
8   store ptr %x, ptr %x.addr, align 8
9   store ptr %y, ptr %y.addr, align 8
10   %0 = load ptr, ptr %x.addr, align 8
11   %1 = load i32, ptr %0, align 4
12   %2 = load ptr, ptr %y.addr, align 8
13   %3 = load i32, ptr %2, align 4
14   %add = add nsw i32 %1, %3
15   ret i32 %add
18 define i32 @main() nounwind uwtable {
19 entry:
20   %retval = alloca i32, align 4
21   %x = alloca i32, align 4
22   %y = alloca i32, align 4
23   store i32 0, ptr %retval
24   %call = call i32 @sum(ptr %x, ptr %y)
25   ret i32 %call
28 ; CHECK: addiu ${{[0-9]+}}, $sp, {{[0-9]+}}
29 ; CHECK: addiu ${{[0-9]+}}, $sp, {{[0-9]+}}