brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · dc695f5 Raw
53 lines · plain
1; RUN: llc -verify-machineinstrs %s -o - | FileCheck %s2target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"3target triple = "thumbv7m-unknown-unknown-eabi"4 5declare dso_local i32 @t(i32) local_unnamed_addr #06 7define dso_local i32 @f(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {8entry:9  %mul = mul nsw i32 %a, 310  %add = add nsw i32 %mul, 111  %sub = add nsw i32 %b, -112  %div = sdiv i32 %add, %sub13  %sub1 = sub nsw i32 %a, %c14  %div2 = sdiv i32 %div, %sub115  %mul3 = mul nsw i32 %div2, %b16  %add4 = add nsw i32 %mul3, 117  %call = tail call i32 @t(i32 %add4) #018  ret i32 %call19}20; CHECK-LABEL: f:21; CHECK:       str  lr, [sp, #-8]!22; CHECK-NEXT:  bl   OUTLINED_FUNCTION_023; CHECK-NEXT:  ldr  lr, [sp], #824; CHECK-NEXT:  adds r0, #125; CHECK-NEXT:  b    t26 27define dso_local i32 @g(i32 %a, i32 %b, i32 %c) local_unnamed_addr #0 {28entry:29  %mul = mul nsw i32 %a, 330  %add = add nsw i32 %mul, 131  %sub = add nsw i32 %b, -132  %div = sdiv i32 %add, %sub33  %sub1 = sub nsw i32 %a, %c34  %div2 = sdiv i32 %div, %sub135  %mul3 = mul nsw i32 %div2, %b36  %add4 = add nsw i32 %mul3, 337  %call = tail call i32 @t(i32 %add4) #038  ret i32 %call39}40 41; CHECK-LABEL: g:42; CHECK:       str  lr, [sp, #-8]!43; CHECK-NEXT:  bl   OUTLINED_FUNCTION_044; CHECK-NEXT:  ldr  lr, [sp], #845; CHECK-NEXT:  adds r0, #346; CHECK-NEXT:  b    t47 48; CHECK-LABEL: OUTLINED_FUNCTION_0:49; CHECK-NOT:   lr50; CHECK:       bx lr51 52attributes #0 = { minsize nounwind optsize }53