; This test is lowered from C code that does some simple aritmetic
; with struct members.

; REQUIRES: allow_dump
; RUN: %p2i -i %s --args --verbose inst -threads=0 | FileCheck %s

define internal i32 @compute_important_function(i32 %v1, i32 %v2) {
entry:
  %__2 = inttoptr i32 %v1 to i32*
  %_v0 = load i32* %__2, align 1

; CHECK:        entry:
; CHECK-NEXT:       %_v0 = load i32* {{.*}}, align 1

  %__4 = inttoptr i32 %v2 to i32*
  %_v1 = load i32* %__4, align 1
  %gep = add i32 %v2, 12
  %__7 = inttoptr i32 %gep to i32*
  %_v2 = load i32* %__7, align 1
  %mul = mul i32 %_v2, %_v1
  %gep6 = add i32 %v1, 4
  %__11 = inttoptr i32 %gep6 to i32*
  %_v3 = load i32* %__11, align 1
  %gep8 = add i32 %v2, 8
  %__14 = inttoptr i32 %gep8 to i32*
  %_v4 = load i32* %__14, align 1
  %gep10 = add i32 %v2, 4
  %__17 = inttoptr i32 %gep10 to i32*
  %_v5 = load i32* %__17, align 1
  %mul3 = mul i32 %_v5, %_v4
  %gep12 = add i32 %v1, 8
  %__21 = inttoptr i32 %gep12 to i32*
  %_v6 = load i32* %__21, align 1
  %mul7 = mul i32 %_v6, %_v3
  %mul9 = mul i32 %mul7, %_v6
  %gep14 = add i32 %v1, 12
  %__26 = inttoptr i32 %gep14 to i32*
  %_v7 = load i32* %__26, align 1
  %mul11 = mul i32 %mul9, %_v7
  %add4.neg = add i32 %mul, %_v0
  %add = sub i32 %add4.neg, %_v3
  %sub = sub i32 %add, %mul3
  %sub12 = sub i32 %sub, %mul11
  ret i32 %sub12

; CHECK:        %sub12 = sub i32 %sub, %mul11
; CHECK-NEXT:       ret i32 %sub12
}
