// RUN: %empty-directory(%t) // RUN: %target-swift-frontend %s -Xllvm -sil-disable-pass=simplification -emit-module -o %t/tmp.swiftmodule // RUN: %target-sil-opt -sil-print-types %t/tmp.swiftmodule | %FileCheck %s sil_stage canonical import Swift import Builtin // CHECK-NOT: sil_global hidden @hidden_global_unused sil_global hidden @hidden_global_unused : $Int // CHECK-NOT: sil_global @public_global_unused sil_global @public_global_unused : $Int // CHECK: sil_global @public_global_used sil_global @public_global_used : $Int // CHECK: sil_global [serialized] @initialized_global_object : $Int64 = { // CHECK-NEXT: %0 = integer_literal $Builtin.Int64, 27 // CHECK-NEXT: %1 = integer_literal $Builtin.Int64, 28 // CHECK-NEXT: %initval = object $GlobalObject (%0 : $Builtin.Int64, [tail_elems] %1 : $Builtin.Int64, %1 : $Builtin.Int64) // CHECK-NEXT: } sil_global [serialized] @initialized_global_object : $Int64 = { %0 = integer_literal $Builtin.Int64, 27 %1 = integer_literal $Builtin.Int64, 28 %initval = object $GlobalObject (%0 : $Builtin.Int64, [tail_elems] %1 : $Builtin.Int64, %1 : $Builtin.Int64) } // CHECK: sil_global [serialized] @serialized_global sil_global [serialized] @serialized_global : $Int sil [serialized] @uses_public_global : $@convention(thin) () -> () { bb0: %1 = global_addr @public_global_used : $*Int %2 = tuple () return %2 : $() } // CHECK: sil_global [serialized] @initialized_global_int : $Int64 = { // CHECK-NEXT: %0 = integer_literal $Builtin.Int64, 27 // CHECK-NEXT: %initval = struct $Int64 (%0 : $Builtin.Int64) // CHECK-NEXT: } sil_global [serialized] @initialized_global_int : $Int64 = { %0 = integer_literal $Builtin.Int64, 27 %initval = struct $Int64 (%0 : $Builtin.Int64) } class GlobalObject { @_hasStorage let e: Builtin.Int64 }