brintos

brintos / llvm-project-archived public Read only

0
0
Text · 870 B · 41b0c10 Raw
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