1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2 ; RUN: opt < %s -passes=newgvn -S | FileCheck %s
4 @img_width = external global i16 ; <ptr> [#uses=2]
6 define i32 @smpUMHEXBipredIntegerPelBlockMotionSearch(ptr %cur_pic, i16 signext %ref, i32 %list, i32 %pic_pix_x, i32 %pic_pix_y, i32 %blocktype, i16 signext %pred_mv_x1, i16 signext %pred_mv_y1, i16 signext %pred_mv_x2, i16 signext %pred_mv_y2, ptr %mv_x, ptr %mv_y, ptr %s_mv_x, ptr %s_mv_y, i32 %search_range, i32 %min_mcost, i32 %lambda_factor) {
7 ; CHECK-LABEL: define i32 @smpUMHEXBipredIntegerPelBlockMotionSearch(
8 ; CHECK-SAME: ptr [[CUR_PIC:%.*]], i16 signext [[REF:%.*]], i32 [[LIST:%.*]], i32 [[PIC_PIX_X:%.*]], i32 [[PIC_PIX_Y:%.*]], i32 [[BLOCKTYPE:%.*]], i16 signext [[PRED_MV_X1:%.*]], i16 signext [[PRED_MV_Y1:%.*]], i16 signext [[PRED_MV_X2:%.*]], i16 signext [[PRED_MV_Y2:%.*]], ptr [[MV_X:%.*]], ptr [[MV_Y:%.*]], ptr [[S_MV_X:%.*]], ptr [[S_MV_Y:%.*]], i32 [[SEARCH_RANGE:%.*]], i32 [[MIN_MCOST:%.*]], i32 [[LAMBDA_FACTOR:%.*]]) {
9 ; CHECK-NEXT: cond_next143:
10 ; CHECK-NEXT: store i16 0, ptr @img_width, align 2
11 ; CHECK-NEXT: br i1 false, label [[COND_NEXT449:%.*]], label [[COND_FALSE434:%.*]]
12 ; CHECK: cond_false434:
13 ; CHECK-NEXT: br label [[COND_NEXT449]]
14 ; CHECK: cond_next449:
15 ; CHECK-NEXT: br i1 false, label [[COND_NEXT698:%.*]], label [[COND_FALSE470:%.*]]
16 ; CHECK: cond_false470:
17 ; CHECK-NEXT: br label [[COND_NEXT698]]
18 ; CHECK: cond_next698:
19 ; CHECK-NEXT: ret i32 0
21 cond_next143: ; preds = %entry
22 store i16 0, ptr @img_width, align 2
23 br i1 false, label %cond_next449, label %cond_false434
25 cond_false434: ; preds = %cond_true415
26 br label %cond_next449
28 cond_next449: ; preds = %cond_false434, %cond_true415
29 br i1 false, label %cond_next698, label %cond_false470
31 cond_false470: ; preds = %cond_next449
32 br label %cond_next698
34 cond_next698: ; preds = %cond_true492
35 %tmp701 = load i16, ptr @img_width, align 2 ; <i16> [#uses=0]