Files
swift-mirror/test/SILOptimizer/disable-copy-propagation-frontend-flag.swift
Kavon Farvardin 4a943d464d sil: provide ability to run CopyPropagation in -Onone
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
2025-09-19 16:23:19 -07:00

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() {}