11ff9fb78SNikita Popov; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 4 21ff9fb78SNikita Popov; RUN: opt -S -passes=mergefunc -mergefunc-use-aliases < %s | FileCheck %s 31ff9fb78SNikita Popov 41ff9fb78SNikita Popov@g1 = external unnamed_addr global i8 51ff9fb78SNikita Popov@g2 = external unnamed_addr global i8 61ff9fb78SNikita Popov 71ff9fb78SNikita Popov;. 81ff9fb78SNikita Popov; CHECK: @g1 = external unnamed_addr global i8 91ff9fb78SNikita Popov; CHECK: @g2 = external unnamed_addr global i8 101ff9fb78SNikita Popov;. 111ff9fb78SNikita Popovdefine ptr @f3() unnamed_addr { 121ff9fb78SNikita Popov; CHECK-LABEL: define ptr @f3() unnamed_addr { 13836e71a4SNikita Popov; CHECK-NEXT: ret ptr getelementptr inbounds (i8, ptr @g1, i64 2) 141ff9fb78SNikita Popov; 15836e71a4SNikita Popov ret ptr getelementptr inbounds (i8, ptr @g1, i64 2) 161ff9fb78SNikita Popov} 171ff9fb78SNikita Popov 181ff9fb78SNikita Popovdefine ptr @f4() unnamed_addr { 198b8f2ef0SNikita Popov; CHECK-LABEL: define ptr @f4() unnamed_addr { 208b8f2ef0SNikita Popov; CHECK-NEXT: ret ptr getelementptr (i16, ptr @g1, i64 2) 218b8f2ef0SNikita Popov; 22836e71a4SNikita Popov ret ptr getelementptr (i16, ptr @g1, i64 2) 231ff9fb78SNikita Popov} 241ff9fb78SNikita Popov 251ff9fb78SNikita Popovdefine ptr @f5() unnamed_addr { 268b8f2ef0SNikita Popov; CHECK-LABEL: define ptr @f5() unnamed_addr { 278b8f2ef0SNikita Popov; CHECK-NEXT: ret ptr getelementptr (i8, ptr @g1, i64 2) 288b8f2ef0SNikita Popov; 29836e71a4SNikita Popov ret ptr getelementptr (i8, ptr @g1, i64 2) 301ff9fb78SNikita Popov} 311ff9fb78SNikita Popov 321ff9fb78SNikita Popovdefine i64 @f6() unnamed_addr { 331ff9fb78SNikita Popov; CHECK-LABEL: define i64 @f6() unnamed_addr { 341ff9fb78SNikita Popov; CHECK-NEXT: ret i64 add nuw (i64 ptrtoint (ptr @g1 to i64), i64 1) 351ff9fb78SNikita Popov; 361ff9fb78SNikita Popov ret i64 add nuw (i64 ptrtoint (ptr @g1 to i64), i64 1) 371ff9fb78SNikita Popov} 381ff9fb78SNikita Popov 391ff9fb78SNikita Popovdefine i64 @f7() unnamed_addr { 408b8f2ef0SNikita Popov; CHECK-LABEL: define i64 @f7() unnamed_addr { 418b8f2ef0SNikita Popov; CHECK-NEXT: ret i64 add (i64 ptrtoint (ptr @g1 to i64), i64 1) 428b8f2ef0SNikita Popov; 431ff9fb78SNikita Popov ret i64 add (i64 ptrtoint (ptr @g1 to i64), i64 1) 441ff9fb78SNikita Popov} 453dd2db08SNikita Popov 463dd2db08SNikita Popovdefine i64 @f8() unnamed_addr { 478b8f2ef0SNikita Popov; CHECK-LABEL: define i64 @f8() unnamed_addr { 488b8f2ef0SNikita Popov; CHECK-NEXT: ret i64 sub (i64 ptrtoint (ptr @g1 to i64), i64 1) 498b8f2ef0SNikita Popov; 503dd2db08SNikita Popov ret i64 sub (i64 ptrtoint (ptr @g1 to i64), i64 1) 513dd2db08SNikita Popov} 528b8f2ef0SNikita Popov 538b8f2ef0SNikita Popovdefine ptr @f10() unnamed_addr { 548b8f2ef0SNikita Popov; CHECK-LABEL: define ptr @f10() unnamed_addr { 55*0f46e31cSNikita Popov; CHECK-NEXT: ret ptr getelementptr inrange(0, 4) ([4 x i32], ptr @g1, i64 0, i64 1) 568b8f2ef0SNikita Popov; 57*0f46e31cSNikita Popov ret ptr getelementptr inrange(0, 4) ([4 x i32], ptr @g1, i64 0, i64 1) 588b8f2ef0SNikita Popov} 598b8f2ef0SNikita Popov 608b8f2ef0SNikita Popovdefine ptr @f11() unnamed_addr { 618b8f2ef0SNikita Popov; CHECK-LABEL: define ptr @f11() unnamed_addr { 628b8f2ef0SNikita Popov; CHECK-NEXT: ret ptr getelementptr ([4 x i32], ptr @g1, i64 0, i64 1) 638b8f2ef0SNikita Popov; 648b8f2ef0SNikita Popov ret ptr getelementptr ([4 x i32], ptr @g1, i64 0, i64 1) 658b8f2ef0SNikita Popov} 668b8f2ef0SNikita Popov 678b8f2ef0SNikita Popovdefine ptr @f12() unnamed_addr { 688b8f2ef0SNikita Popov; CHECK-LABEL: define ptr @f12() unnamed_addr { 69*0f46e31cSNikita Popov; CHECK-NEXT: ret ptr getelementptr inrange(-4, 12) ([4 x i32], ptr @g1, i64 0, i64 1) 708b8f2ef0SNikita Popov; 71*0f46e31cSNikita Popov ret ptr getelementptr inrange(-4, 12) ([4 x i32], ptr @g1, i64 0, i64 1) 728b8f2ef0SNikita Popov} 73