28 lines · plain
1; RUN: llc -stop-after block-placement -o - %s | FileCheck %s2 3target triple = "thumbv6m-none-none"4 5define ptr @foo(ptr readonly %p0) {6entry:7 %add.ptr = getelementptr inbounds i32, ptr %p0, i32 108 %arrayidx = getelementptr inbounds i32, ptr %p0, i32 139 %0 = load i32, ptr %arrayidx, align 410 %arrayidx1 = getelementptr inbounds i32, ptr %p0, i32 1211 %1 = load i32, ptr %arrayidx1, align 412 %add = add nsw i32 %1, %013 %arrayidx2 = getelementptr inbounds i32, ptr %p0, i32 1114 %2 = load i32, ptr %arrayidx2, align 415 %add3 = add nsw i32 %add, %216 %3 = load i32, ptr %add.ptr, align 417 %add5 = add nsw i32 %add3, %318 tail call void @g(i32 %add5)19 ret ptr %p020}21 22declare void @g(i32)23 24; CHECK-LABEL: name: foo25; CHECK: [[BASE:\$r[0-7]]], {{.*}} tADDi826; CHECK-NOT: [[BASE]] = tLDMIA_UPD {{.*}} [[BASE]]27; CHECK: tLDMIA killed [[BASE]], {{.*}} def [[BASE]]28