reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
; RUN: opt < %s -instcombine -S | FileCheck %s

; This test makes sure that we do not assume globals in address spaces other
; than 0 are able to be null.

@as0 = external global i32
@as1 = external addrspace(1) global i32

declare void @addrspace0(i32*)
declare void @addrspace1(i32 addrspace(1)*)

; CHECK: call void @addrspace0(i32* nonnull @as0)
; CHECK: call void @addrspace1(i32 addrspace(1)* @as1)

define void @test() {
  call void @addrspace0(i32* @as0)
  call void @addrspace1(i32 addrspace(1)* @as1)
  ret void
}