1/* 2 * Copyright 2016, NICTA 3 * 4 * This software may be distributed and modified according to the terms of 5 * the GNU General Public License version 2. Note that NO WARRANTY is provided. 6 * See "LICENSE_GPLv2.txt" for details. 7 * 8 * @TAG(NICTA_GPL) 9 */ 10 11#include "pass_middle-size-example.h" 12 13static inline t4 foo(t3 a1) 14{ 15 t2* r2 = a1.p1; 16 bool_t r3 = a1.p2; 17 bool_t r4 = (*r2).b; 18 t4 r5; 19 20 if (r3.boolean) { 21 t2* r6 = r2; 22 23 (*r6).b = r3; 24 25 t2* r7 = r6; 26 t1* r8 = (*r7).a; 27 u32 r9 = (*r8).a2; 28 u8 r10 = 0U; 29 u32 r11 = (u32) r10; 30 t1* r12 = r8; 31 32 (*r12).a2 = r11; 33 34 t1* r13 = r12; 35 36 r5 = (t4) {.p1 = r7, .p2 = r13, .p3 = r4, .p4 = r9}; 37 } else { 38 bool_t r14 = (bool_t) {.boolean = 1U}; 39 t2* r15 = r2; 40 41 (*r15).b = r14; 42 43 t2* r16 = r15; 44 t1* r17 = (*r16).a; 45 u8 r18 = 0U; 46 u32 r19 = (u32) r18; 47 t1* r20 = r17; 48 49 (*r20).a1 = r19; 50 51 t1* r21 = r20; 52 t2* r22 = r16; 53 54 (*r22).a = r21; 55 56 t2* r23 = r22; 57 t1* r24 = (*r23).a; 58 u32 r25 = (*r24).a2; 59 u8 r26 = 0U; 60 u32 r27 = (u32) r26; 61 t1* r28 = r24; 62 63 (*r28).a2 = r27; 64 65 t1* r29 = r28; 66 67 r5 = (t4) {.p1 = r23, .p2 = r29, .p3 = r4, .p4 = r25}; 68 } 69 70 t4 r30 = r5; 71 72 return r30; 73} 74 75 76