huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
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
}