Files
swift-mirror/test/SILOptimizer/pass_printer.swift
Erik Eckstein 58c46dc025 PassManager: add an option -sil-print-pass-md5 to print MD5 hashes of SIL after each pass
With this option an MD5 hash of the SIL is printed after each function or module pass - if the pass has changed the SIL.
This is useful for finding non-determinisms in the optimizer.
2026-01-23 19:20:20 +01:00

14 lines
1.1 KiB
Swift

// RUN: %target-swift-frontend -Xllvm -sil-print-before=definite-init -emit-sil %s -o /dev/null 2>&1 | %FileCheck --check-prefix=BEFORE %s
// RUN: %target-swift-frontend -Xllvm -sil-print-after=definite-init -emit-sil %s -o /dev/null 2>&1 | %FileCheck --check-prefix=AFTER %s
// RUN: %target-swift-frontend -Xllvm -sil-disable-pass=definite-init -Xllvm -sil-print-pass-name -emit-sil %s -o /dev/null 2>&1 | %FileCheck --check-prefix=DISABLE %s
// RUN: %target-swift-frontend -Xllvm -sil-print-pass-md5 -emit-sil %s -o /dev/null 2>&1 | %FileCheck --check-prefix=MD5 %s
// BEFORE: SIL function before #{{[0-9]+}}, stage Mandatory Diagnostic Passes + Enabling Optimization Passes, pass {{[0-9]+}}: DefiniteInitialization (definite-init)
// AFTER: SIL function after #{{[0-9]+}}, stage Mandatory Diagnostic Passes + Enabling Optimization Passes, pass {{[0-9]+}}: DefiniteInitialization (definite-init)
// DISABLE: (Disabled) #{{[0-9]+}}, stage Mandatory Diagnostic Passes + Enabling Optimization Passes, pass {{[0-9]+}}: DefiniteInitialization (definite-init)
// MD5: Initial SILGen Passes MD5 =
// MD5: {{MD5 #[0-9]+, stage .*, pass [0-9]+:.* = }}
func foo() {}