1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=hexagon < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; There should only be one packet: 3*9880d681SAndroid Build Coastguard Worker; { 4*9880d681SAndroid Build Coastguard Worker; jump free 5*9880d681SAndroid Build Coastguard Worker; r0 = memw(r0 + #-4) 6*9880d681SAndroid Build Coastguard Worker; } 7*9880d681SAndroid Build Coastguard Worker; 8*9880d681SAndroid Build Coastguard Worker; CHECK: { 9*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: { 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerdefine void @fred(i8* %p) nounwind { 12*9880d681SAndroid Build Coastguard Workerentry: 13*9880d681SAndroid Build Coastguard Worker %arrayidx = getelementptr inbounds i8, i8* %p, i32 -4 14*9880d681SAndroid Build Coastguard Worker %t0 = bitcast i8* %arrayidx to i8** 15*9880d681SAndroid Build Coastguard Worker %t1 = load i8*, i8** %t0, align 4 16*9880d681SAndroid Build Coastguard Worker tail call void @free(i8* %t1) 17*9880d681SAndroid Build Coastguard Worker ret void 18*9880d681SAndroid Build Coastguard Worker} 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 21*9880d681SAndroid Build Coastguard Workerdeclare void @free(i8* nocapture) nounwind 22*9880d681SAndroid Build Coastguard Worker 23