; RUN: llc < %s -march=x86

define i32 @unique(i8* %full, i32 %p, i32 %len, i32 %mode, i32 %verbos, i32 %flags) {
entry:
	br i1 false, label %cond_true15, label %cond_next107

cond_true15:		; preds = %entry
	br i1 false, label %bb98.preheader, label %bb

bb:		; preds = %cond_true15
	ret i32 0

bb98.preheader:		; preds = %cond_true15
	br i1 false, label %bb103, label %bb69.outer

bb76.split:		; preds = %bb69.outer.split.split, %bb69.us208
	br i1 false, label %bb103, label %bb69.outer

bb69.outer:		; preds = %bb76.split, %bb98.preheader
	%from.0.reg2mem.0.ph.rec = phi i32 [ %tmp75.rec, %bb76.split ], [ 0, %bb98.preheader ]		; <i32> [#uses=1]
	%tmp75.rec = add i32 %from.0.reg2mem.0.ph.rec, 1		; <i32> [#uses=2]
	%tmp75 = getelementptr i8, i8* null, i32 %tmp75.rec		; <i8*> [#uses=6]
	br i1 false, label %bb69.us208, label %bb69.outer.split.split

bb69.us208:		; preds = %bb69.outer
	switch i32 0, label %bb76.split [
		 i32 47, label %bb89
		 i32 58, label %bb89
		 i32 92, label %bb89
	]

bb69.outer.split.split:		; preds = %bb69.outer
	switch i8 0, label %bb76.split [
		 i8 47, label %bb89
		 i8 58, label %bb89
		 i8 92, label %bb89
	]

bb89:		; preds = %bb69.outer.split.split, %bb69.outer.split.split, %bb69.outer.split.split, %bb69.us208, %bb69.us208, %bb69.us208
	%tmp75.lcssa189 = phi i8* [ %tmp75, %bb69.us208 ], [ %tmp75, %bb69.us208 ], [ %tmp75, %bb69.us208 ], [ %tmp75, %bb69.outer.split.split ], [ %tmp75, %bb69.outer.split.split ], [ %tmp75, %bb69.outer.split.split ]		; <i8*> [#uses=0]
	ret i32 0

bb103:		; preds = %bb76.split, %bb98.preheader
	ret i32 0

cond_next107:		; preds = %entry
	ret i32 0
}
