|  | ; RUN: opt < %s -S -passes=globalopt,instcombine | FileCheck %s | 
|  | ;; check that global opt turns integers that only hold 0 or 1 into bools. | 
|  |  | 
|  | @G = internal addrspace(1) global i32 0 | 
|  | ; CHECK: @G | 
|  | ; CHECK: addrspace(1) | 
|  | ; CHECK: global i1 false | 
|  |  | 
|  | define void @set1() { | 
|  | store i32 0, ptr addrspace(1) @G | 
|  | ; CHECK: store i1 false | 
|  | ret void | 
|  | } | 
|  |  | 
|  | define void @set2() { | 
|  | store i32 1, ptr addrspace(1) @G | 
|  | ; CHECK: store i1 true | 
|  | ret void | 
|  | } | 
|  |  | 
|  | define i1 @get() { | 
|  | ; CHECK-LABEL: @get( | 
|  | %A = load i32, ptr addrspace(1) @G | 
|  | %C = icmp slt i32 %A, 2 | 
|  | ret i1 %C | 
|  | ; CHECK: ret i1 true | 
|  | } | 
|  |  |