|  | ; 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, i32* %__2, align 1 | 
|  |  | 
|  | ; CHECK:        entry: | 
|  | ; CHECK-NEXT:       %_v0 = load i32, i32* {{.*}}, align 1 | 
|  |  | 
|  | %__4 = inttoptr i32 %v2 to i32* | 
|  | %_v1 = load i32, i32* %__4, align 1 | 
|  | %gep = add i32 %v2, 12 | 
|  | %__7 = inttoptr i32 %gep to i32* | 
|  | %_v2 = load i32, i32* %__7, align 1 | 
|  | %mul = mul i32 %_v2, %_v1 | 
|  | %gep6 = add i32 %v1, 4 | 
|  | %__11 = inttoptr i32 %gep6 to i32* | 
|  | %_v3 = load i32, i32* %__11, align 1 | 
|  | %gep8 = add i32 %v2, 8 | 
|  | %__14 = inttoptr i32 %gep8 to i32* | 
|  | %_v4 = load i32, i32* %__14, align 1 | 
|  | %gep10 = add i32 %v2, 4 | 
|  | %__17 = inttoptr i32 %gep10 to i32* | 
|  | %_v5 = load i32, i32* %__17, align 1 | 
|  | %mul3 = mul i32 %_v5, %_v4 | 
|  | %gep12 = add i32 %v1, 8 | 
|  | %__21 = inttoptr i32 %gep12 to i32* | 
|  | %_v6 = load i32, 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, 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 | 
|  | } |