Mangling: noescape functions will be trivial and no longer compatible with escape function types.

Mangle escapeness as part of the type.

Part of:
SR-5441
rdar://36116691
This commit is contained in:
Arnold Schwaighofer
2018-01-11 09:25:36 -08:00
parent 63fe8c49b0
commit d981bb1d96
83 changed files with 359 additions and 246 deletions

View File

@@ -33,7 +33,7 @@ public func mangle(s: [UnicodeScalar]) -> [UnicodeScalar] {
// which shares the storage with the expression in the switch statement. Make
// sure we emit a dbg.value once per basic block.
// CHECK: define {{.*}}@"$S11patternvars6mangle1sSayAA13UnicodeScalarVGAF_tFA2EcfU_"
// CHECK: define {{.*}}@"$S11patternvars6mangle1sSayAA13UnicodeScalarVGAF_tFA2EXEfU_"
// CHECK: %[[VAL:[0-9]+]] = call swiftcc i32 @"$S11patternvars13UnicodeScalarV5values6UInt32Vvg"(i32 %0)
// CHECK-NEXT: call void @llvm.dbg.value(metadata i32 %[[VAL]]
// CHECK: ; <label>