102 lines · plain
1; RUN: llc < %s -mtriple=arm-linux-gnueabi2; PR12793 4 %struct.CUMULATIVE_ARGS = type { i32, i32, i32, i32, i32, i32 }5 %struct.arm_stack_offsets = type { i32, i32, i32, i32, i32 }6 %struct.eh_status = type opaque7 %struct.emit_status = type { i32, i32, ptr, ptr, ptr, i32, %struct.location_t, i32, ptr, ptr }8 %struct.expr_status = type { i32, i32, i32, ptr, ptr, ptr }9 %struct.function = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, i32, ptr, %struct.CUMULATIVE_ARGS, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i32, i64, ptr, ptr, ptr, ptr, ptr, i32, ptr, i32, i32, ptr, ptr, i32, i32, i32, ptr, i32, i32, i8, i8, ptr, ptr, i32, i32, i32, i32, %struct.location_t, ptr, ptr, i8, i8, i8 }10 %struct.initial_value_struct = type opaque11 %struct.lang_decl = type opaque12 %struct.language_function = type opaque13 %struct.location_t = type { ptr, i32 }14 %struct.machine_function = type { ptr, i32, i32, i32, %struct.arm_stack_offsets, i32, i32, i32, [14 x ptr] }15 %struct.rtvec_def = type { i32, [1 x ptr] }16 %struct.rtx_def = type { i16, i8, i8, %struct.u }17 %struct.sequence_stack = type { ptr, ptr, ptr }18 %struct.temp_slot = type opaque19 %struct.tree_common = type { ptr, ptr, ptr, i8, i8, i8, i8, i8 }20 %struct.tree_decl = type { %struct.tree_common, %struct.location_t, i32, ptr, i8, i8, i8, i8, i8, i8, i8, i8, i32, %struct.tree_decl_u1, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, %struct.tree_decl_u2, ptr, ptr, i64, ptr }21 %struct.tree_decl_u1 = type { i64 }22 %struct.tree_decl_u2 = type { ptr }23 %struct.tree_node = type { %struct.tree_decl }24 %struct.u = type { [1 x i64] }25 %struct.var_refs_queue = type { ptr, i32, i32, ptr }26 %struct.varasm_status = type opaque27 %struct.varray_head_tag = type { i32, i32, i32, ptr, %struct.u }28 %union.tree_ann_d = type opaque29@str469 = external global [42 x i8] ; <ptr> [#uses=0]30@__FUNCTION__.24265 = external global [19 x i8] ; <ptr> [#uses=0]31 32declare void @fancy_abort()33 34define fastcc void @fold_builtin_bitop() {35entry:36 br i1 false, label %cond_true105, label %UnifiedReturnBlock37 38cond_true105: ; preds = %entry39 br i1 false, label %cond_true134, label %UnifiedReturnBlock40 41cond_true134: ; preds = %cond_true10542 switch i32 0, label %bb479 [43 i32 378, label %bb31344 i32 380, label %bb31345 i32 381, label %bb31346 i32 383, label %bb36647 i32 385, label %bb36648 i32 386, label %bb36649 i32 403, label %bb25050 i32 405, label %bb25051 i32 406, label %bb25052 i32 434, label %bb46453 i32 436, label %bb46454 i32 437, label %bb46455 i32 438, label %bb44156 i32 440, label %bb44157 i32 441, label %bb44158 ]59 60bb250: ; preds = %cond_true134, %cond_true134, %cond_true13461 ret void62 63bb313: ; preds = %cond_true134, %cond_true134, %cond_true13464 ret void65 66bb366: ; preds = %cond_true134, %cond_true134, %cond_true13467 ret void68 69bb441: ; preds = %cond_true134, %cond_true134, %cond_true13470 ret void71 72bb457: ; preds = %bb464, %bb45773 %tmp459 = add i64 0, 1 ; <i64> [#uses=1]74 br i1 false, label %bb474.preheader, label %bb45775 76bb464: ; preds = %cond_true134, %cond_true134, %cond_true13477 br i1 false, label %bb474.preheader, label %bb45778 79bb474.preheader: ; preds = %bb464, %bb45780 %result.5.ph = phi i64 [ 0, %bb464 ], [ %tmp459, %bb457 ] ; <i64> [#uses=1]81 br label %bb47482 83bb467: ; preds = %bb47484 %indvar.next586 = add i64 %indvar585, 1 ; <i64> [#uses=1]85 br label %bb47486 87bb474: ; preds = %bb467, %bb474.preheader88 %indvar585 = phi i64 [ 0, %bb474.preheader ], [ %indvar.next586, %bb467 ] ; <i64> [#uses=2]89 br i1 false, label %bb476, label %bb46790 91bb476: ; preds = %bb47492 %result.5 = add i64 %indvar585, %result.5.ph ; <i64> [#uses=0]93 ret void94 95bb479: ; preds = %cond_true13496 tail call void @fancy_abort( )97 unreachable98 99UnifiedReturnBlock: ; preds = %cond_true105, %entry100 ret void101}102