; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 4
; RUN: opt -S -passes=mergefunc -mergefunc-use-aliases < %s | FileCheck %s

@g1 = external unnamed_addr global i8
@g2 = external unnamed_addr global i8

;.
; CHECK: @g1 = external unnamed_addr global i8
; CHECK: @g2 = external unnamed_addr global i8
;.
define i1 @f1() unnamed_addr {
; CHECK-LABEL: define i1 @f1() unnamed_addr {
; CHECK-NEXT:    ret i1 icmp eq (ptr @g1, ptr @g2)
;
  ret i1 icmp eq (ptr @g1, ptr @g2)
}

define i1 @f2() unnamed_addr {
; CHECK-LABEL: define i1 @f2() unnamed_addr {
; CHECK-NEXT:    ret i1 icmp ne (ptr @g1, ptr @g2)
;
  ret i1 icmp ne (ptr @g1, ptr @g2)
}

define ptr @f3() unnamed_addr {
; CHECK-LABEL: define ptr @f3() unnamed_addr {
; CHECK-NEXT:    ret ptr getelementptr inbounds (i8, ptr @g1, i64 2)
;
  ret ptr getelementptr inbounds (i8, ptr @g1, i64 2)
}

define ptr @f4() unnamed_addr {
; CHECK-LABEL: define ptr @f4() unnamed_addr {
; CHECK-NEXT:    ret ptr getelementptr (i16, ptr @g1, i64 2)
;
  ret ptr getelementptr (i16, ptr @g1, i64 2)
}

define ptr @f5() unnamed_addr {
; CHECK-LABEL: define ptr @f5() unnamed_addr {
; CHECK-NEXT:    ret ptr getelementptr (i8, ptr @g1, i64 2)
;
  ret ptr getelementptr (i8, ptr @g1, i64 2)
}

define i64 @f6() unnamed_addr {
; CHECK-LABEL: define i64 @f6() unnamed_addr {
; CHECK-NEXT:    ret i64 add nuw (i64 ptrtoint (ptr @g1 to i64), i64 1)
;
  ret i64 add nuw (i64 ptrtoint (ptr @g1 to i64), i64 1)
}

define i64 @f7() unnamed_addr {
; CHECK-LABEL: define i64 @f7() unnamed_addr {
; CHECK-NEXT:    ret i64 add (i64 ptrtoint (ptr @g1 to i64), i64 1)
;
  ret i64 add (i64 ptrtoint (ptr @g1 to i64), i64 1)
}

define i64 @f8() unnamed_addr {
; CHECK-LABEL: define i64 @f8() unnamed_addr {
; CHECK-NEXT:    ret i64 sub (i64 ptrtoint (ptr @g1 to i64), i64 1)
;
  ret i64 sub (i64 ptrtoint (ptr @g1 to i64), i64 1)
}

define ptr @f10() unnamed_addr {
; CHECK-LABEL: define ptr @f10() unnamed_addr {
; CHECK-NEXT:    ret ptr getelementptr inrange(0, 4) ([4 x i32], ptr @g1, i64 0, i64 1)
;
  ret ptr getelementptr inrange(0, 4) ([4 x i32], ptr @g1, i64 0, i64 1)
}

define ptr @f11() unnamed_addr {
; CHECK-LABEL: define ptr @f11() unnamed_addr {
; CHECK-NEXT:    ret ptr getelementptr ([4 x i32], ptr @g1, i64 0, i64 1)
;
  ret ptr getelementptr ([4 x i32], ptr @g1, i64 0, i64 1)
}

define ptr @f12() unnamed_addr {
; CHECK-LABEL: define ptr @f12() unnamed_addr {
; CHECK-NEXT:    ret ptr getelementptr inrange(-4, 12) ([4 x i32], ptr @g1, i64 0, i64 1)
;
  ret ptr getelementptr inrange(-4, 12) ([4 x i32], ptr @g1, i64 0, i64 1)
}
