llvm/llvm/test/Transforms/InferAddressSpaces/optnone-func-unchanged.ll

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3
; RUN: opt -assume-default-is-flat-addrspace -S -passes=infer-address-spaces < %s 2>&1 | FileCheck %s

@g = addrspace(1) global i32 0, align 4

define ptr @f2() {
; CHECK-LABEL: define ptr @f2() {
; CHECK-NEXT:  entry:
; CHECK-NEXT:    [[X2:%.*]] = addrspacecast ptr addrspace(1) @g to ptr
; CHECK-NEXT:    ret ptr [[X2]]
;
entry:
  %x1 = addrspacecast ptr addrspacecast (ptr addrspace(1) @g to ptr) to ptr addrspace(1)
  %x2 = addrspacecast ptr addrspace(1) %x1 to ptr
  ret ptr %x2
}

define ptr @f3() #0 {
; CHECK-LABEL: define ptr @f3(
; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT:  entry:
; CHECK-NEXT:    [[X1:%.*]] = addrspacecast ptr addrspacecast (ptr addrspace(1) @g to ptr) to ptr addrspace(1)
; CHECK-NEXT:    [[X2:%.*]] = addrspacecast ptr addrspace(1) [[X1]] to ptr
; CHECK-NEXT:    ret ptr [[X2]]
;
entry:
  %x1 = addrspacecast ptr addrspacecast (ptr addrspace(1) @g to ptr) to ptr addrspace(1)
  %x2 = addrspacecast ptr addrspace(1) %x1 to ptr
  ret ptr %x2
}

attributes #0 = { noinline optnone }