[CodeGenPrepare] Drop nsw flags in `optimizeLoadExt` (#118180)
[llvm-project.git] / polly / test / ScopInfo / inter-error-bb-dependence.ll
blob761fcbbe3435efe9b352f4e6fbb096cb8c44d181
1 ; RUN: opt %loadNPMPolly -pass-remarks-analysis="polly-scops" '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 > /dev/null | FileCheck %s
3 ; Error statements (%bb33) do not require their uses to be verified.
4 ; In this case it uses %tmp32 from %bb31 which is not available because
5 ; %bb31 is an error statement as well.
7 target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
9 declare noalias ptr @widget()
11 declare void @quux()
13 define void @func(i32 %tmp3, i32 %tmp7, i32 %tmp17, i32 %tmp26, i32 %tmp19) {
14 bb:
15   br label %bb2
17 bb2:                                              ; preds = %bb
18   %tmp4 = icmp eq i32 %tmp3, 0
19   br i1 %tmp4, label %bb5, label %bb16
21 bb5:                                              ; preds = %bb2
22   %tmp8 = icmp eq i32 %tmp7, 0
23   br i1 %tmp8, label %bb16, label %bb36
25 bb16:                                             ; preds = %bb5, %bb2
26   %tmp18 = icmp eq i32 %tmp17, 0
27   %tmp20 = icmp eq i32 %tmp19, 0
28   %tmp21 = or i1 %tmp18, %tmp20
29   br i1 %tmp21, label %bb31, label %bb25
31 bb25:                                             ; preds = %bb25, %bb16
32   %tmp27 = icmp eq i32 %tmp26, 0
33   br i1 %tmp27, label %bb31, label %bb25
35 bb31:                                             ; preds = %bb25, %bb16
36   %tmp32 = call noalias ptr @widget()
37   br label %bb33
39 bb33:                                             ; preds = %bb31
40   call void @quux()
41   %tmp34 = icmp eq ptr %tmp32, null
42   br label %bb36
44 bb36:                                             ; preds = %bb33, %bb5
45   ret void
49 ; CHECK:      SCoP begins here.
50 ; CHECK-NEXT: Low complexity assumption:       {  : false }
51 ; CHECK-NEXT: SCoP ends here but was dismissed.