mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Like everything else, there are several caveats: no generic params, no attributes, and (for now) no arguments. Pattern support is coming next. Swift SVN r5701
87 lines
3.0 KiB
Swift
87 lines
3.0 KiB
Swift
// RUN: rm -rf %t
|
|
// RUN: mkdir %t
|
|
// RUN: %swift -emit-module -o %t/def_func.swiftmodule %S/Inputs/def_func.swift
|
|
// RUN: llvm-bcanalyzer %t/def_func.swiftmodule | FileCheck %s
|
|
// RUN: %swift -emit-llvm -I=%t %s | FileCheck %s -check-prefix=LLVM
|
|
|
|
import def_func
|
|
|
|
// LLVM: define {{.*}} @top_level_code() {
|
|
// LLVM: [[VAL:%.*]] = call i64 @_T8def_func7getZeroFT_Bi64_()
|
|
// LLVM: store i64 [[VAL]], i64* @_T8function3rawBi64_, align 8
|
|
// LLVM: }
|
|
var raw = getZero()
|
|
|
|
// Check that 'raw' is a Builtin.Int64
|
|
var cooked = Int64(raw)
|
|
|
|
// CHECK: # Toplevel Blocks: 6
|
|
|
|
// CHECK: Block ID #0 (BLOCKINFO_BLOCK):
|
|
// CHECK-NEXT: Num Instances: 1
|
|
|
|
// CHECK: Block ID #8 (CONTROL_BLOCK):
|
|
// CHECK-NEXT: Num Instances: 1
|
|
// CHECK-NEXT: Total Size:
|
|
// CHECK-NEXT: Percent of file:
|
|
// CHECK-NEXT: Num SubBlocks: 0
|
|
// CHECK-NEXT: Num Abbrevs: 1
|
|
// CHECK-NEXT: Num Records: 1
|
|
// CHECK-NEXT: Percent Abbrevs: 100.0000%
|
|
|
|
// CHECK: Block ID #9 (INPUT_BLOCK):
|
|
// CHECK-NEXT: Num Instances: 1
|
|
// CHECK-NEXT: Total Size:
|
|
// CHECK-NEXT: Percent of file:
|
|
// CHECK-NEXT: Num SubBlocks: 0
|
|
// CHECK-NEXT: Num Abbrevs: 1
|
|
// CHECK-NEXT: Num Records: 1
|
|
// CHECK-NEXT: Percent Abbrevs: 100.0000%
|
|
// CHECK: Count # Bits %% Abv Record Kind
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 SOURCE_FILE
|
|
|
|
// CHECK: Block ID #10 (DECLS_AND_TYPES_BLOCK):
|
|
// CHECK-NEXT: Num Instances: 1
|
|
// CHECK-NEXT: Total Size:
|
|
// CHECK-NEXT: Percent of file:
|
|
// CHECK-NEXT: Num SubBlocks: 0
|
|
// CHECK-NEXT: Num Abbrevs:
|
|
// CHECK-NEXT: Num Records:
|
|
// CHECK-NEXT: Percent Abbrevs: 100.0000%
|
|
|
|
// CHECK: Count # Bits %% Abv Record Kind
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 FUNC_DECL
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 FUNCTION_TYPE
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 IDENTIFIER_TYPE
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 TUPLE_TYPE
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 BUILTIN_TYPE
|
|
|
|
// CHECK: Block ID #11 (IDENTIFIER_DATA_BLOCK):
|
|
// CHECK-NEXT: Num Instances: 1
|
|
// CHECK-NEXT: Total Size:
|
|
// CHECK-NEXT: Percent of file:
|
|
// CHECK-NEXT: Num SubBlocks: 0
|
|
// CHECK-NEXT: Num Abbrevs: 1
|
|
// CHECK-NEXT: Num Records: 1
|
|
// CHECK-NEXT: Percent Abbrevs: 100.0000%
|
|
// CHECK: Count # Bits %% Abv Record Kind
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 IDENTIFIER_DATA
|
|
|
|
// CHECK: Block ID #12 (INDEX_BLOCK):
|
|
// CHECK-NEXT: Num Instances: 1
|
|
// CHECK-NEXT: Total Size:
|
|
// CHECK-NEXT: Percent of file:
|
|
// CHECK-NEXT: Num SubBlocks: 0
|
|
// CHECK-NEXT: Num Abbrevs: 2
|
|
// CHECK-NEXT: Num Records: 4
|
|
// CHECK-NEXT: Percent Abbrevs: 100.0000%
|
|
|
|
// CHECK: Count # Bits %% Abv Record Kind
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 TOP_LEVEL_DECLS
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 IDENTIFIER_OFFSETS
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 DECL_OFFSETS
|
|
// CHECK-NEXT: 1 {{[0-9]+}} 100.00 TYPE_OFFSETS
|
|
|
|
// CHECK-NOT: FALL_BACK_TO_TRANSLATION_UNIT
|
|
|