; RUN: llvm-as < %s | llc -march=arm | not grep {str.*\\!}

	%struct.shape_edge_t = type { %struct.shape_edge_t*, %struct.shape_edge_t*, i32, i32, i32, i32 }
	%struct.shape_path_t = type { %struct.shape_edge_t*, %struct.shape_edge_t*, i32, i32, i32, i32, i32, i32 }
	%struct.shape_pool_t = type { i8* (%struct.shape_pool_t*, i8*, i32)*, i8* (%struct.shape_pool_t*, i32)*, void (%struct.shape_pool_t*, i8*)* }

define %struct.shape_path_t* @shape_path_alloc(%struct.shape_pool_t* %pool, i32* %shape) {
entry:
	br i1 false, label %cond_false, label %bb45

bb45:		; preds = %entry
	ret %struct.shape_path_t* null

cond_false:		; preds = %entry
	br i1 false, label %bb140, label %bb174

bb140:		; preds = %bb140, %cond_false
	%indvar = phi i32 [ 0, %cond_false ], [ %indvar.next, %bb140 ]		; <i32> [#uses=2]
	%edge.230.0.rec = shl i32 %indvar, 1		; <i32> [#uses=3]
	%edge.230.0 = getelementptr %struct.shape_edge_t* null, i32 %edge.230.0.rec		; <%struct.shape_edge_t*> [#uses=1]
	%edge.230.0.sum6970 = or i32 %edge.230.0.rec, 1		; <i32> [#uses=2]
	%tmp154 = getelementptr %struct.shape_edge_t* null, i32 %edge.230.0.sum6970		; <%struct.shape_edge_t*> [#uses=1]
	%tmp11.i5 = getelementptr %struct.shape_edge_t* null, i32 %edge.230.0.sum6970, i32 0		; <%struct.shape_edge_t**> [#uses=1]
	store %struct.shape_edge_t* %edge.230.0, %struct.shape_edge_t** %tmp11.i5
	store %struct.shape_edge_t* %tmp154, %struct.shape_edge_t** null
	%tmp16254.0.rec = add i32 %edge.230.0.rec, 2		; <i32> [#uses=1]
	%xp.350.sum = add i32 0, %tmp16254.0.rec		; <i32> [#uses=1]
	%tmp168 = icmp slt i32 %xp.350.sum, 0		; <i1> [#uses=1]
	%indvar.next = add i32 %indvar, 1		; <i32> [#uses=1]
	br i1 %tmp168, label %bb140, label %bb174

bb174:		; preds = %bb140, %cond_false
	ret %struct.shape_path_t* null
}
