mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This does not enable it by default. Use either of the flags: ``` -enable-copy-propagation -enable-copy-propagation=always ``` to enable it in -Onone. The previous frontend flag `-enable-copy-propagation=true` has been renamed to `-enable-copy-propagation=optimizing`, which is currently default. rdar://107610971
104 lines
3.2 KiB
Swift
104 lines
3.2 KiB
Swift
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPUNSPEC-DHUNSPEC %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-destroy-hoisting=false \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPUNSPEC-DHOFF %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-destroy-hoisting=true \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPUNSPEC-DHON %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-copy-propagation=false \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPOFF-DHUNSPEC %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-copy-propagation=false \
|
|
// RUN: -enable-destroy-hoisting=false \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPOFF-DHOFF %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-copy-propagation=false \
|
|
// RUN: -enable-destroy-hoisting=true \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPOFF-DHON %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-copy-propagation=optimizing \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPON-DHUNSPEC %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-copy-propagation=optimizing \
|
|
// RUN: -enable-destroy-hoisting=false \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPON-DHOFF %s
|
|
|
|
// RUN: %target-swift-frontend %s \
|
|
// RUN: -O \
|
|
// RUN: -enable-copy-propagation=optimizing \
|
|
// RUN: -enable-destroy-hoisting=true \
|
|
// RUN: -Xllvm -sil-print-pass-name \
|
|
// RUN: -emit-ir \
|
|
// RUN: -o /dev/null \
|
|
// RUN: 2>&1 | %FileCheck -check-prefix CHECK-CPON-DHON %s
|
|
|
|
// CHECK-CPUNSPEC-DHUNSPEC: copy-propagation
|
|
// CHECK-CPUNSPEC-DHUNSPEC: destroy-addr-hoisting
|
|
|
|
// CHECK-CPUNSPEC-DHOFF: copy-propagation
|
|
// CHECK-CPUNSPEC-DHOFF-NOT: destroy-addr-hoisting
|
|
|
|
// CHECK-CPUNSPEC-DHON: copy-propagation
|
|
// CHECK-CPUNSPEC-DHON: destroy-addr-hoisting
|
|
|
|
// CHECK-CPOFF-DHUNSPEC-NOT: copy-propagation
|
|
// CHECK-CPOFF-DHUNSPEC-NOT: destroy-addr-hoisting
|
|
|
|
// CHECK-CPOFF-DHOFF-NOT: copy-propagation
|
|
// CHECK-CPOFF-DHOFF-NOT: destroy-addr-hoisting
|
|
|
|
// CHECK-CPOFF-DHON-NOT: copy-propagation
|
|
// CHECK-CPOFF-DHON: destroy-addr-hoisting
|
|
|
|
// CHECK-CPON-DHUNSPEC: copy-propagation
|
|
// CHECK-CPON-DHUNSPEC: destroy-addr-hoisting
|
|
|
|
// CHECK-CPON-DHOFF: copy-propagation
|
|
// CHECK-CPON-DHOFF-NOT: destroy-addr-hoisting
|
|
|
|
// CHECK-CPON-DHON: copy-propagation
|
|
// CHECK-CPON-DHON: destroy-addr-hoisting
|
|
|
|
func foo() {}
|