Files
swift-mirror/test/SILOptimizer/no_opt.swift
Emil Pedersen d149ac2728 [DebugInfo] Rewrite integer literal salvage using debug basic block
Instead of using an op_constu/consts in the DIExpr, the integer literal
salvage now uses a debug basic block using a typed integer_literal.

This also has the effect of supporting integer literals bigger than
64 bits (such as an Int128 being salvaged) correctly.

Assisted-by: Claude
2026-05-13 16:29:18 +01:00

28 lines
502 B
Swift

// RUN: %target-swift-frontend -O -emit-sil -Xllvm -sil-print-transform-blocks=false %s | %FileCheck %s
func bar(_ x : Int) { }
// CHECK-LABEL: $s6no_opt4foo1yyF
// CHECK-NOT: integer_literal
// CHECK: return
public func foo1() {
bar(1)
bar(2)
bar(3)
bar(4)
}
// CHECK-LABEL: $s6no_opt4foo2yyF
// CHECK: integer_literal
// CHECK: integer_literal
// CHECK: integer_literal
// CHECK: integer_literal
// CHECK: return
@_optimize(none)
public func foo2() {
bar(1)
bar(2)
bar(3)
bar(4)
}