diff --git a/test/IRGen/copy_value_destroy_value.sil b/test/IRGen/copy_value_destroy_value.sil deleted file mode 100644 index 5df22fb27bc21..0000000000000 --- a/test/IRGen/copy_value_destroy_value.sil +++ /dev/null @@ -1,48 +0,0 @@ -// SWIFT_ENABLE_TENSORFLOW -// NOTE(TF-11): Added explicit `-enable-large-loadable-types` flag. -// RUN: %target-swift-frontend -parse-sil -emit-ir -enable-large-loadable-types %s | %FileCheck %s -// REQUIRES: OS=macosx - -// Make sure that we are using type lowering and that we are handling the return -// value correctly. - -sil_stage canonical - -import Builtin - -struct Foo { - var t1 : Builtin.Int32 - var c1 : Builtin.NativeObject - var t2 : Builtin.Int32 - var c2 : Builtin.NativeObject - var t3 : Builtin.Int32 -} - -// CHECK: define{{( protected)?}} swiftcc void @non_trivial( -// CHECK: [[GEP1:%.*]] = getelementptr inbounds %T019copy_value_destroy_B03FooV, %T019copy_value_destroy_B03FooV* %1, i32 0, i32 2 -// CHECK-NEXT: [[VAL1:%.*]] = load %swift.refcounted*, %swift.refcounted** [[GEP1]], align 8 -// CHECK: [[GEP2:%.*]] = getelementptr inbounds %T019copy_value_destroy_B03FooV, %T019copy_value_destroy_B03FooV* %1, i32 0, i32 5 -// CHECK-NEXT: [[VAL2:%.*]] = load %swift.refcounted*, %swift.refcounted** [[GEP2]], align 8 -// CHECK: call %swift.refcounted* @swift_retain(%swift.refcounted* returned [[VAL1]]) -// CHECK: call %swift.refcounted* @swift_retain(%swift.refcounted* returned [[VAL2]]) -// CHECK: call void @swift_release(%swift.refcounted* [[VAL1]]) -// CHECK: call void @swift_release(%swift.refcounted* [[VAL2]]) -sil [ossa] @non_trivial : $@convention(thin) (@guaranteed Foo) -> () { -bb0(%0 : @guaranteed $Foo): - %1 = copy_value %0 : $Foo - destroy_value %1 : $Foo - %2 = tuple() - return %2 : $() -} - -// CHECK: define{{( protected)?}} swiftcc void @non_trivial_unowned( -// CHECK: call %swift.refcounted* @swift_unownedRetainStrong(%swift.refcounted* returned %0) -// CHECK: call void @swift_release(%swift.refcounted* %0) -sil [ossa] @non_trivial_unowned : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () { -bb0(%0 : @guaranteed $Builtin.NativeObject): - %1 = ref_to_unowned %0 : $Builtin.NativeObject to $@sil_unowned Builtin.NativeObject - %2 = copy_unowned_value %1 : $@sil_unowned Builtin.NativeObject - destroy_value %2 : $Builtin.NativeObject - %9999 = tuple() - return %9999 : $() -} diff --git a/test/SILOptimizer/OSLogConstantEvaluableTest.swift b/test/SILOptimizer/OSLogConstantEvaluableTest.swift index 0f8b88f3e355c..b6491f18506d8 100644 --- a/test/SILOptimizer/OSLogConstantEvaluableTest.swift +++ b/test/SILOptimizer/OSLogConstantEvaluableTest.swift @@ -10,9 +10,6 @@ // // REQUIRES: OS=macosx || OS=ios || OS=tvos || OS=watchos -// TODO(TF-799): Re-enable test after SR-11336 is fixed. -// XFAIL: * - // Test that the functions defined in the OSLogPrototype overlay annotated as // constant evaluable are so (with the constexpr-limit defined above). // This test is meant to catch regressions in the OSLog overlay implementation diff --git a/test/SILOptimizer/OSLogPrototypeCompileTest.swift b/test/SILOptimizer/OSLogPrototypeCompileTest.swift index fde045984c4be..c5c0b2e428e81 100644 --- a/test/SILOptimizer/OSLogPrototypeCompileTest.swift +++ b/test/SILOptimizer/OSLogPrototypeCompileTest.swift @@ -7,6 +7,10 @@ // whether specific compile-time constants such as the format string, // the size of the byte buffer etc. are literals after the mandatory pipeline. +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + import OSLogPrototype if #available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *) { diff --git a/test/SILOptimizer/constant_evaluable_subset_test.swift b/test/SILOptimizer/constant_evaluable_subset_test.swift index b519485f1206e..12132fef53743 100644 --- a/test/SILOptimizer/constant_evaluable_subset_test.swift +++ b/test/SILOptimizer/constant_evaluable_subset_test.swift @@ -18,6 +18,7 @@ // // RUN: %FileCheck %s < %t/error-output-mandatory +// SWIFT_ENABLE_TENSORFLOW // TODO(TF-799): Re-enable test after SR-11336 is fixed. // XFAIL: * diff --git a/test/SILOptimizer/constant_propagation_diagnostics.swift b/test/SILOptimizer/constant_propagation_diagnostics.swift index de433d7a5a44c..e62498a46f860 100644 --- a/test/SILOptimizer/constant_propagation_diagnostics.swift +++ b/test/SILOptimizer/constant_propagation_diagnostics.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -emit-sil -sdk %S/../SILGen/Inputs %s -o /dev/null -verify // RUN: %target-swift-frontend -enable-ownership-stripping-after-serialization -emit-sil -sdk %S/../SILGen/Inputs %s -o /dev/null -verify +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + // enum with raw values that are too big are not diagnosed enum EnumWithTooLargeElements : UInt8 { case negativeOne = -1 // expected-error 2 {{negative integer '-1' overflows when stored into unsigned type 'UInt8'}} diff --git a/test/SILOptimizer/definite_init_diagnostics.swift b/test/SILOptimizer/definite_init_diagnostics.swift index a563afdd18a74..8db86c0d440ba 100644 --- a/test/SILOptimizer/definite_init_diagnostics.swift +++ b/test/SILOptimizer/definite_init_diagnostics.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -emit-sil -primary-file %s -o /dev/null -verify // RUN: %target-swift-frontend -emit-sil -enable-ownership-stripping-after-serialization -primary-file %s -o /dev/null -verify +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + import Swift func markUsed(_ t: T) {} diff --git a/test/SILOptimizer/definite_init_diagnostics_objc.swift b/test/SILOptimizer/definite_init_diagnostics_objc.swift index b1ecf92999b6e..02c53017b956d 100644 --- a/test/SILOptimizer/definite_init_diagnostics_objc.swift +++ b/test/SILOptimizer/definite_init_diagnostics_objc.swift @@ -2,6 +2,10 @@ // RUN: %target-swift-frontend -emit-sil -sdk %S/../SILGen/Inputs %s -I %S/../SILGen/Inputs -enable-source-import -parse-stdlib -o /dev/null -verify -enable-ownership-stripping-after-serialization // REQUIRES: objc_interop +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + import Swift import gizmo diff --git a/test/SILOptimizer/definite_init_failable_initializers_diagnostics.swift b/test/SILOptimizer/definite_init_failable_initializers_diagnostics.swift index 125458ed212f6..573b9c57e391b 100644 --- a/test/SILOptimizer/definite_init_failable_initializers_diagnostics.swift +++ b/test/SILOptimizer/definite_init_failable_initializers_diagnostics.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -emit-sil -disable-objc-attr-requires-foundation-module -verify %s // RUN: %target-swift-frontend -emit-sil -disable-objc-attr-requires-foundation-module -verify %s -enable-ownership-stripping-after-serialization +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + // High-level tests that DI rejects certain invalid idioms for early // return from initializers. diff --git a/test/SILOptimizer/diagnostic_constant_propagation.swift b/test/SILOptimizer/diagnostic_constant_propagation.swift index db43c6cb63e48..4e556f4f3b5b2 100644 --- a/test/SILOptimizer/diagnostic_constant_propagation.swift +++ b/test/SILOptimizer/diagnostic_constant_propagation.swift @@ -9,6 +9,7 @@ // References: , // +// SWIFT_ENABLE_TENSORFLOW // TODO(TF-799): Re-enable RUN lines after SR-11336 is fixed. // XFAIL: * diff --git a/test/SILOptimizer/diagnostic_constant_propagation_int_arch64.swift b/test/SILOptimizer/diagnostic_constant_propagation_int_arch64.swift index 38104f2455167..c55e1058508a2 100644 --- a/test/SILOptimizer/diagnostic_constant_propagation_int_arch64.swift +++ b/test/SILOptimizer/diagnostic_constant_propagation_int_arch64.swift @@ -13,6 +13,10 @@ // // FIXME: A false negative that happens only in REPL +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + import StdlibUnittest func testArithmeticOverflow_Int_64bit() { diff --git a/test/SILOptimizer/exclusivity_static_diagnostics.swift b/test/SILOptimizer/exclusivity_static_diagnostics.swift index 96afff273e1a5..0a2b177b7b1d9 100644 --- a/test/SILOptimizer/exclusivity_static_diagnostics.swift +++ b/test/SILOptimizer/exclusivity_static_diagnostics.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -enforce-exclusivity=checked -swift-version 4 -emit-sil -primary-file %s -o /dev/null -verify // RUN: %target-swift-frontend -enforce-exclusivity=checked -swift-version 4 -emit-sil -primary-file %s -o /dev/null -verify -enable-ownership-stripping-after-serialization +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + import Swift func takesTwoInouts(_ p1: inout T, _ p2: inout T) { } diff --git a/test/SILOptimizer/exclusivity_static_diagnostics_objc.swift b/test/SILOptimizer/exclusivity_static_diagnostics_objc.swift index a2403ab2d67c9..a896756bb3c0d 100644 --- a/test/SILOptimizer/exclusivity_static_diagnostics_objc.swift +++ b/test/SILOptimizer/exclusivity_static_diagnostics_objc.swift @@ -2,6 +2,10 @@ // RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -import-objc-header %S/Inputs/optional_closure_bridging.h -enforce-exclusivity=checked -swift-version 4 -emit-sil -primary-file %s -o /dev/null -verify -enable-ownership-stripping-after-serialization // REQUIRES: objc_interop +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + import Foundation class SomeClass { diff --git a/test/SILOptimizer/generalized_accessors.swift b/test/SILOptimizer/generalized_accessors.swift index a0faa6159d7a8..36c7715bf61a0 100644 --- a/test/SILOptimizer/generalized_accessors.swift +++ b/test/SILOptimizer/generalized_accessors.swift @@ -3,6 +3,10 @@ // // Tests for yield-once diagnostics emitted for generalized accessors. +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + struct TestNoYield { var computed: Int { _read { diff --git a/test/SILOptimizer/infinite_recursion.swift b/test/SILOptimizer/infinite_recursion.swift index 00c1bd94b0178..cf07919694c3f 100644 --- a/test/SILOptimizer/infinite_recursion.swift +++ b/test/SILOptimizer/infinite_recursion.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -emit-sil -primary-file %s -o /dev/null -verify // RUN: %target-swift-frontend -emit-sil -primary-file %s -o /dev/null -verify -enable-ownership-stripping-after-serialization +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + func a() { // expected-warning {{all paths through this function will call itself}} a() } diff --git a/test/SILOptimizer/invalid_escaping_captures.swift b/test/SILOptimizer/invalid_escaping_captures.swift index ae9ceb780ce3b..96883ea5e4cda 100644 --- a/test/SILOptimizer/invalid_escaping_captures.swift +++ b/test/SILOptimizer/invalid_escaping_captures.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -emit-sil %s -verify // RUN: %target-swift-frontend -emit-sil %s -verify -enable-ownership-stripping-after-serialization +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + func takesEscaping(_: @escaping () -> ()) {} func takesNonEscaping(_ fn: () -> ()) { fn() } diff --git a/test/SILOptimizer/mandatory_inlining.swift b/test/SILOptimizer/mandatory_inlining.swift index 7867ce7baee4f..3409e42aad096 100644 --- a/test/SILOptimizer/mandatory_inlining.swift +++ b/test/SILOptimizer/mandatory_inlining.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -sil-verify-all -primary-file %s -emit-sil -o - -verify | %FileCheck %s // RUN: %target-swift-frontend -sil-verify-all -primary-file %s -emit-sil -o - -verify -enable-ownership-stripping-after-serialization +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + // These tests are deliberately shallow, because I do not want to depend on the // specifics of SIL generation, which might change for reasons unrelated to this // pass diff --git a/test/SILOptimizer/noescape_param_exclusivity.swift b/test/SILOptimizer/noescape_param_exclusivity.swift index ad7833937f279..9357626c9d540 100644 --- a/test/SILOptimizer/noescape_param_exclusivity.swift +++ b/test/SILOptimizer/noescape_param_exclusivity.swift @@ -1,6 +1,10 @@ // RUN: %target-swift-frontend -emit-sil %s -verify // RUN: %target-swift-frontend -emit-sil %s -verify -enable-ownership-stripping-after-serialization +// SWIFT_ENABLE_TENSORFLOW +// TODO(TF-799): Re-enable test after SR-11336 is fixed. +// XFAIL: * + func test0(a: (() -> ()) -> (), b: () -> ()) { a(b) // expected-error {{passing a non-escaping function parameter 'b' to a call to a non-escaping function parameter can allow re-entrant modification of a variable}} } diff --git a/test/SILOptimizer/pound_assert.swift b/test/SILOptimizer/pound_assert.swift index 5e8a32ea7ed26..a8ea5137bdfd2 100644 --- a/test/SILOptimizer/pound_assert.swift +++ b/test/SILOptimizer/pound_assert.swift @@ -1,8 +1,10 @@ // RUN: %target-swift-frontend -enable-experimental-static-assert -emit-sil %s -verify +// RUN: %target-swift-frontend -enable-experimental-static-assert -enable-ownership-stripping-after-serialization -emit-sil %s -verify +// REQUIRES: asserts + // SWIFT_ENABLE_TENSORFLOW // TODO(TF-799): Re-enable RUN line after SR-11336 is fixed. -// UN: %target-swift-frontend -enable-experimental-static-assert -enable-ownership-stripping-after-serialization -emit-sil %s -verify -// REQUIRES: asserts +// XFAIL: * //===----------------------------------------------------------------------===// // Basic function calls and control flow diff --git a/unittests/libInMemoryFrontend/InMemoryFrontendTests.cpp b/unittests/libInMemoryFrontend/InMemoryFrontendTests.cpp index 7d09d65cbfe67..3b0219cf8bed1 100644 --- a/unittests/libInMemoryFrontend/InMemoryFrontendTests.cpp +++ b/unittests/libInMemoryFrontend/InMemoryFrontendTests.cpp @@ -15,13 +15,9 @@ class StreamDiagConsumer : public DiagnosticConsumer { public: StreamDiagConsumer(llvm::raw_ostream &OS) : OS(OS) {} - void - handleDiagnostic(SourceManager &SM, SourceLoc Loc, DiagnosticKind Kind, - StringRef FormatString, - ArrayRef FormatArgs, - const DiagnosticInfo &Info, - const SourceLoc bufferIndirectlyCausingDiagnostic) override { - switch (Kind) { + void handleDiagnostic(SourceManager &SM, + const DiagnosticInfo &Info) override { + switch (Info.Kind) { case DiagnosticKind::Error: OS << "error: "; break; @@ -35,7 +31,8 @@ class StreamDiagConsumer : public DiagnosticConsumer { OS << "remark: "; break; } - DiagnosticEngine::formatDiagnosticText(OS, FormatString, FormatArgs); + DiagnosticEngine::formatDiagnosticText(OS, Info.FormatString, + Info.FormatArgs); } };