mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[SIL] Key consume addr checking off var_decl attr.
Previously, the lexical attribute on allock_stack instructions was used. This doesn't work for values without lexical lifetimes which are consumed, e.g. stdlib CoW types. Here, the new var_decl attribute on alloc_stack is keyed off of instead. This flag encodes exactly that a value corresponds to a source-level VarDecl, which is the condition under which checking needs to run.
This commit is contained in:
@@ -9,7 +9,7 @@ func main() {
|
||||
// CHECK-SIL-DAG: debug_value {{.*}}: $Int, let, name "x"
|
||||
// CHECK-DAG: DILocalVariable(name: "x"
|
||||
let x = 10
|
||||
// CHECK-SIL-DAG: alloc_stack $Int, var, name "y"
|
||||
// CHECK-SIL-DAG: alloc_stack [var_decl] $Int, var, name "y"
|
||||
// CHECK-DAG: DILocalVariable(name: "y"
|
||||
var y = 10
|
||||
// The expression x+y may become constant folded.
|
||||
|
||||
Reference in New Issue
Block a user