; RUN: llc -mtriple=arm-eabi %s -o - | FileCheck %s

	%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, %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, %struct.shape_edge_t* null, i32 %edge.230.0.sum6970		; <%struct.shape_edge_t*> [#uses=1]
	%tmp11.i5 = getelementptr %struct.shape_edge_t, %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
}

; CHECK-NOT: str{{.*}}!

