1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-linux-gnueabihf %s -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; Check that new water is created by splitting the basic block right after the 4*9880d681SAndroid Build Coastguard Worker; load instruction. Previously, new water was created before the load 5*9880d681SAndroid Build Coastguard Worker; instruction, which caused the pass to fail to converge. 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine void @test(i1 %tst) { 8*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test: 9*9880d681SAndroid Build Coastguard Worker; CHECK: vldr {{s[0-9]+}}, [[CONST:\.LCPI[0-9]+_[0-9]+]] 10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: b.w [[CONTINUE:\.LBB[0-9]+_[0-9]+]] 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker; CHECK: [[CONST]]: 13*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .long 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker; CHECK: [[CONTINUE]]: 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerentry: 18*9880d681SAndroid Build Coastguard Worker call i32 @llvm.arm.space(i32 2000, i32 undef) 19*9880d681SAndroid Build Coastguard Worker br i1 %tst, label %true, label %false 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workertrue: 22*9880d681SAndroid Build Coastguard Worker %val = phi float [12345.0, %entry], [undef, %false] 23*9880d681SAndroid Build Coastguard Worker call void @bar(float %val) 24*9880d681SAndroid Build Coastguard Worker ret void 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerfalse: 27*9880d681SAndroid Build Coastguard Worker br label %true 28*9880d681SAndroid Build Coastguard Worker} 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdeclare void @bar(float) 31*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.arm.space(i32, i32) 32