68 lines · plain
1; RUN: opt < %s -passes=gvn | llvm-dis2; PR42563target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"4target triple = "i386-pc-linux-gnu"5 %llvm.dbg.anchor.type = type { i32, i32 }6 %struct.cset = type { ptr, i8, i8, i32, ptr }7 %struct.lmat = type { ptr, i32, ptr, ptr, ptr, ptr, ptr, ptr, i32, ptr, ptr, ptr, ptr, ptr }8 %struct.re_guts = type { ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, i32, i32, i32, i32, [1 x i8] }9 10define ptr @lbackref(ptr %m, ptr %start, ptr %stop, i32 %startst, i32 %stopst, i32 %lev, i32 %rec) nounwind {11entry:12 br label %bb6313 14bb: ; preds = %bb6315 switch i32 0, label %bb62 [16 i32 268435456, label %bb217 i32 805306368, label %bb918 i32 -1610612736, label %bb5119 ]20 21bb2: ; preds = %bb22 br label %bb6223 24bb9: ; preds = %bb25 %0 = load i8, ptr %sp.1, align 1 ; <i8> [#uses=0]26 br label %bb6227 28bb51: ; preds = %bb29 %1 = load i8, ptr %sp.1, align 1 ; <i8> [#uses=0]30 ret ptr null31 32bb62: ; preds = %bb9, %bb2, %bb33 br label %bb6334 35bb63: ; preds = %bb84, %bb69, %bb62, %entry36 %sp.1 = phi ptr [ null, %bb62 ], [ %sp.1.lcssa, %bb84 ], [ %start, %entry ], [ %sp.1.lcssa, %bb69 ] ; <ptr> [#uses=3]37 br i1 false, label %bb, label %bb6538 39bb65: ; preds = %bb6340 %sp.1.lcssa = phi ptr [ %sp.1, %bb63 ] ; <ptr> [#uses=4]41 br i1 false, label %bb66, label %bb6942 43bb66: ; preds = %bb6544 ret ptr null45 46bb69: ; preds = %bb6547 switch i32 0, label %bb108.loopexit2.loopexit.loopexit [48 i32 1342177280, label %bb6349 i32 1476395008, label %bb8450 i32 1879048192, label %bb10451 i32 2013265920, label %bb9352 ]53 54bb84: ; preds = %bb6955 %2 = tail call ptr @lbackref(ptr %m, ptr %sp.1.lcssa, ptr %stop, i32 0, i32 %stopst, i32 0, i32 0) nounwind ; <ptr> [#uses=0]56 br label %bb6357 58bb93: ; preds = %bb6959 ret ptr null60 61bb104: ; preds = %bb6962 %sp.1.lcssa.lcssa33 = phi ptr [ %sp.1.lcssa, %bb69 ] ; <ptr> [#uses=0]63 unreachable64 65bb108.loopexit2.loopexit.loopexit: ; preds = %bb6966 ret ptr null67}68