Skip to content

Commit 635adbf

Browse files
committed
---
yaml --- r: 286463 b: refs/heads/master-next c: 34cda75 h: refs/heads/master i: 286461: cab2f8c 286459: a7abb58 286455: c3036fb 286447: 3506566 286431: f17517a 286399: 0c16860 286335: 0e8f1fe 286207: 3c96a08
1 parent 160568a commit 635adbf

40 files changed

+248
-208
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: a67ffadd758dfc7a0f10a8afde063b8864663208
3-
refs/heads/master-next: 4fac0b31c831e1473f1c5f5410b6d784cf439ff1
3+
refs/heads/master-next: 34cda753463f00af29a2726d8c41873a4c808c83
44
refs/tags/osx-passed: b6b74147ef8a386f532cf9357a1bde006e552c54
55
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-a: 6bb18e013c2284f2b45f5f84f2df2887dc0f7dea
66
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-b: 66d897bfcf64a82cb9a87f5e663d889189d06d07

branches/master-next/include/swift/LLVMPasses/Passes.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,14 @@ namespace swift {
3030
const llvm::PreservedAnalyses &) { return false; }
3131

3232
using AAResultBase::getModRefInfo;
33-
llvm::ModRefInfo getModRefInfo(llvm::ImmutableCallSite CS,
34-
const llvm::MemoryLocation &Loc);
33+
llvm::ModRefInfo getModRefInfo(const llvm::CallBase *Call,
34+
const llvm::MemoryLocation &Loc) {
35+
llvm::AAQueryInfo AAQI;
36+
return getModRefInfo(Call, Loc, AAQI);
37+
}
38+
llvm::ModRefInfo getModRefInfo(const llvm::CallBase *Call,
39+
const llvm::MemoryLocation &Loc,
40+
llvm::AAQueryInfo &AAQI);
3541
};
3642

3743
class SwiftAAWrapperPass : public llvm::ImmutablePass {

branches/master-next/lib/Basic/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ macro(find_first_existing_vc_file out_var path)
3030
)
3131
endmacro()
3232

33-
set(get_svn_script "${LLVM_MAIN_SRC_DIR}/cmake/modules/GetSVN.cmake")
33+
set(generate_vcs_version_script "${LLVM_MAIN_SRC_DIR}/cmake/modules/GenerateVersionFromVCS.cmake")
3434

3535
function(generate_revision_inc revision_inc_var name dir)
3636
find_first_existing_vc_file(dep_file "${dir}")
@@ -39,12 +39,12 @@ function(generate_revision_inc revision_inc_var name dir)
3939
string(TOUPPER ${name} upper_name)
4040
if(DEFINED dep_file)
4141
add_custom_command(OUTPUT "${revision_inc}"
42-
DEPENDS "${dep_file}" "${get_svn_script}"
42+
DEPENDS "${dep_file}" "${generate_vcs_version_script}"
4343
COMMAND
44-
${CMAKE_COMMAND} "-DFIRST_SOURCE_DIR=${dir}"
45-
"-DFIRST_NAME=${upper_name}"
44+
${CMAKE_COMMAND} "-DNAMES=${upper_name}"
45+
"-D${upper_name}_SOURCE_DIR=${dir}"
4646
"-DHEADER_FILE=${revision_inc}"
47-
-P "${get_svn_script}")
47+
-P "${generate_vcs_version_script}")
4848
else()
4949
# Generate an empty Revision.inc file if we are not using git or SVN.
5050
file(WRITE "${revision_inc}" "")

branches/master-next/lib/Basic/Platform.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ StringRef swift::getPlatformNameForTriple(const llvm::Triple &triple) {
122122
case llvm::Triple::Ananas:
123123
case llvm::Triple::CloudABI:
124124
case llvm::Triple::DragonFly:
125+
case llvm::Triple::Emscripten:
125126
case llvm::Triple::Fuchsia:
126127
case llvm::Triple::KFreeBSD:
127128
case llvm::Triple::Lv2:
@@ -142,6 +143,7 @@ StringRef swift::getPlatformNameForTriple(const llvm::Triple &triple) {
142143
case llvm::Triple::AMDPAL:
143144
case llvm::Triple::HermitCore:
144145
case llvm::Triple::Hurd:
146+
case llvm::Triple::WASI:
145147
return "";
146148
case llvm::Triple::Darwin:
147149
case llvm::Triple::MacOSX:

branches/master-next/lib/ClangImporter/ClangImporter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,16 +1010,17 @@ ClangImporter::create(ASTContext &ctx,
10101010

10111011
// Set up the file manager.
10121012
{
1013+
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS;
10131014
if (!ctx.SearchPathOpts.VFSOverlayFiles.empty()) {
10141015
// If the clang instance has overlays it means the user has provided
10151016
// -ivfsoverlay options and swift -vfsoverlay options. We're going to
10161017
// clobber their file system with our own, so warn about it.
10171018
if (!instance.getHeaderSearchOpts().VFSOverlayFiles.empty()) {
10181019
ctx.Diags.diagnose(SourceLoc(), diag::clang_vfs_overlay_is_ignored);
10191020
}
1020-
instance.setVirtualFileSystem(ctx.SourceMgr.getFileSystem());
1021+
VFS = ctx.SourceMgr.getFileSystem();
10211022
}
1022-
instance.createFileManager();
1023+
instance.createFileManager(std::move(VFS));
10231024
}
10241025

10251026
// Don't stop emitting messages if we ever can't load a module.
@@ -1033,8 +1034,7 @@ ClangImporter::create(ASTContext &ctx,
10331034
clangDiags.setSeverity(clang::diag::err_module_not_built,
10341035
clang::diag::Severity::Error,
10351036
clang::SourceLocation());
1036-
clangDiags.setSuppressAfterFatalError(
1037-
!ctx.Diags.getShowDiagnosticsAfterFatalError());
1037+
clangDiags.setFatalsAsError(ctx.Diags.getShowDiagnosticsAfterFatalError());
10381038

10391039

10401040
// Create the associated action.

branches/master-next/lib/ClangImporter/ImportDecl.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8103,6 +8103,7 @@ ClangImporter::Implementation::createConstant(Identifier name, DeclContext *dc,
81038103
case clang::APValue::Array:
81048104
case clang::APValue::ComplexFloat:
81058105
case clang::APValue::ComplexInt:
8106+
case clang::APValue::FixedPoint:
81068107
case clang::APValue::LValue:
81078108
case clang::APValue::MemberPointer:
81088109
case clang::APValue::Struct:

branches/master-next/lib/IRGen/GenCall.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1609,7 +1609,7 @@ llvm::CallSite CallEmission::emitCallSite() {
16091609
{ opaqueCallee });
16101610
opaqueCallee =
16111611
IGF.Builder.CreateBitCast(opaqueCallee, origCallee->getType());
1612-
call->setCalledFunction(opaqueCallee);
1612+
call->setCalledFunction(fn.getFunctionType(), opaqueCallee);
16131613

16141614
// Reset the insert point to after the call.
16151615
IGF.Builder.SetInsertPoint(call->getParent());

branches/master-next/lib/IRGen/GenClass.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1999,6 +1999,7 @@ namespace {
19991999
case llvm::Triple::MachO:
20002000
var->setSection("__DATA, __objc_const");
20012001
break;
2002+
case llvm::Triple::XCOFF:
20022003
case llvm::Triple::COFF:
20032004
var->setSection(".data");
20042005
break;

branches/master-next/lib/IRGen/GenDecl.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
#include "llvm/IR/GlobalAlias.h"
4242
#include "llvm/IR/InlineAsm.h"
4343
#include "llvm/IR/Module.h"
44-
#include "llvm/IR/TypeBuilder.h"
4544
#include "llvm/IR/Value.h"
4645
#include "llvm/Support/Compiler.h"
4746
#include "llvm/Support/ConvertUTF.h"
@@ -877,6 +876,7 @@ std::string IRGenModule::GetObjCSectionName(StringRef Section,
877876
: ("__DATA," + Section + "," + MachOAttributes).str();
878877
case llvm::Triple::ELF:
879878
return Section.substr(2).str();
879+
case llvm::Triple::XCOFF:
880880
case llvm::Triple::COFF:
881881
return ("." + Section.substr(2) + "$B").str();
882882
case llvm::Triple::Wasm:
@@ -908,6 +908,7 @@ void IRGenModule::SetCStringLiteralSection(llvm::GlobalVariable *GV,
908908
}
909909
case llvm::Triple::ELF:
910910
return;
911+
case llvm::Triple::XCOFF:
911912
case llvm::Triple::COFF:
912913
return;
913914
case llvm::Triple::Wasm:
@@ -1309,6 +1310,7 @@ static std::string getDynamicReplacementSection(IRGenModule &IGM) {
13091310
case llvm::Triple::Wasm:
13101311
sectionName = "swift5_replace";
13111312
break;
1313+
case llvm::Triple::XCOFF:
13121314
case llvm::Triple::COFF:
13131315
sectionName = ".sw5repl$B";
13141316
break;
@@ -2884,6 +2886,7 @@ llvm::Constant *IRGenModule::emitSwiftProtocols() {
28842886
case llvm::Triple::Wasm:
28852887
sectionName = "swift5_protocols";
28862888
break;
2889+
case llvm::Triple::XCOFF:
28872890
case llvm::Triple::COFF:
28882891
sectionName = ".sw5prt$B";
28892892
break;
@@ -2944,6 +2947,7 @@ llvm::Constant *IRGenModule::emitProtocolConformances() {
29442947
case llvm::Triple::Wasm:
29452948
sectionName = "swift5_protocol_conformances";
29462949
break;
2950+
case llvm::Triple::XCOFF:
29472951
case llvm::Triple::COFF:
29482952
sectionName = ".sw5prtc$B";
29492953
break;
@@ -2969,6 +2973,7 @@ llvm::Constant *IRGenModule::emitTypeMetadataRecords() {
29692973
case llvm::Triple::Wasm:
29702974
sectionName = "swift5_type_metadata";
29712975
break;
2976+
case llvm::Triple::XCOFF:
29722977
case llvm::Triple::COFF:
29732978
sectionName = ".sw5tymd$B";
29742979
break;
@@ -3037,6 +3042,7 @@ llvm::Constant *IRGenModule::emitFieldDescriptors() {
30373042
case llvm::Triple::Wasm:
30383043
sectionName = "swift5_fieldmd";
30393044
break;
3045+
case llvm::Triple::XCOFF:
30403046
case llvm::Triple::COFF:
30413047
sectionName = ".sw5flmd$B";
30423048
break;
@@ -4305,7 +4311,10 @@ IRGenModule::getOrCreateHelperFunction(StringRef fnName, llvm::Type *resultTy,
43054311
llvm::FunctionType *fnTy =
43064312
llvm::FunctionType::get(resultTy, paramTys, false);
43074313

4308-
llvm::Constant *fn = Module.getOrInsertFunction(fnName, fnTy);
4314+
llvm::Constant *fn =
4315+
cast<llvm::Function>(Module.getOrInsertFunction(fnName, fnTy)
4316+
.getCallee()
4317+
->stripPointerCasts());
43094318

43104319
if (llvm::Function *def = shouldDefineHelper(*this, fn, setIsNoInline)) {
43114320
IRGenFunction IGF(*this, def);

branches/master-next/lib/IRGen/GenExistential.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -842,8 +842,11 @@ class OpaqueExistentialTypeInfo final :
842842
// Use copy-on-write existentials?
843843
auto fn = getAssignBoxedOpaqueExistentialBufferFunction(
844844
IGF.IGM, getLayout(), objPtrTy);
845-
auto call =
846-
IGF.Builder.CreateCall(fn, {dest.getAddress(), src.getAddress()});
845+
auto destAddress = IGF.Builder.CreateBitCast(
846+
dest.getAddress(), cast<llvm::Function>(fn)->arg_begin()[0].getType());
847+
auto srcAddress = IGF.Builder.CreateBitCast(
848+
src.getAddress(), cast<llvm::Function>(fn)->arg_begin()[1].getType());
849+
auto call = IGF.Builder.CreateCall(fn, {destAddress, srcAddress});
847850
call->setCallingConv(IGF.IGM.DefaultCC);
848851
call->setDoesNotThrow();
849852
return;
@@ -903,7 +906,10 @@ class OpaqueExistentialTypeInfo final :
903906
// Use copy-on-write existentials?
904907
auto fn = getDestroyBoxedOpaqueExistentialBufferFunction(
905908
IGF.IGM, getLayout(), addr.getAddress()->getType());
906-
auto call = IGF.Builder.CreateCall(fn, {addr.getAddress()});
909+
auto call = IGF.Builder.CreateCall(
910+
fn, {IGF.Builder.CreateBitCast(
911+
addr.getAddress(),
912+
cast<llvm::Function>(fn)->arg_begin()->getType())});
907913
call->setCallingConv(IGF.IGM.DefaultCC);
908914
call->setDoesNotThrow();
909915
return;
@@ -2045,8 +2051,11 @@ Address irgen::emitAllocateBoxedOpaqueExistentialBuffer(
20452051
/// Call a function to handle the non-fixed case.
20462052
auto *allocateFun = getAllocateBoxedOpaqueExistentialBufferFunction(
20472053
IGF.IGM, existLayout, existentialContainer.getAddress()->getType());
2048-
auto *call =
2049-
IGF.Builder.CreateCall(allocateFun, {existentialContainer.getAddress()});
2054+
auto *call = IGF.Builder.CreateCall(
2055+
allocateFun,
2056+
{IGF.Builder.CreateBitCast(
2057+
existentialContainer.getAddress(),
2058+
cast<llvm::Function>(allocateFun)->arg_begin()->getType())});
20502059
call->setCallingConv(IGF.IGM.DefaultCC);
20512060
call->setDoesNotThrow();
20522061
auto addressOfValue = IGF.Builder.CreateBitCast(call, valuePointerType);

branches/master-next/lib/IRGen/GenKeyPath.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -902,7 +902,7 @@ emitKeyPathComponent(IRGenModule &IGM,
902902
fnName.append("keypath_get_selector_");
903903
fnName.append(selectorName);
904904
auto fn = cast<llvm::Function>(
905-
IGM.Module.getOrInsertFunction(fnName, fnTy));
905+
IGM.Module.getOrInsertFunction(fnName, fnTy).getCallee());
906906
if (fn->empty()) {
907907
fn->setLinkage(llvm::Function::PrivateLinkage);
908908
IRGenFunction subIGF(IGM, fn);

branches/master-next/lib/IRGen/GenMeta.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ void IRGenModule::setTrueConstGlobal(llvm::GlobalVariable *var) {
115115
case llvm::Triple::ELF:
116116
var->setSection(".rodata");
117117
break;
118+
case llvm::Triple::XCOFF:
118119
case llvm::Triple::COFF:
119120
var->setSection(".rdata");
120121
break;

branches/master-next/lib/IRGen/GenReflection.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,7 @@ static std::string getReflectionSectionName(IRGenModule &IGM,
930930
switch (IGM.TargetInfo.OutputObjectFormat) {
931931
case llvm::Triple::UnknownObjectFormat:
932932
llvm_unreachable("unknown object format");
933+
case llvm::Triple::XCOFF:
933934
case llvm::Triple::COFF:
934935
assert(FourCC.size() <= 4 &&
935936
"COFF section name length must be <= 8 characters");

branches/master-next/lib/IRGen/IRGen.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
#include "llvm/Transforms/IPO/AlwaysInliner.h"
7171
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
7272
#include "llvm/Transforms/Instrumentation.h"
73+
#include "llvm/Transforms/Instrumentation/AddressSanitizer.h"
74+
#include "llvm/Transforms/Instrumentation/ThreadSanitizer.h"
7375
#include "llvm/Transforms/ObjCARC.h"
7476

7577
#include <thread>
@@ -125,12 +127,12 @@ static void addSwiftMergeFunctionsPass(const PassManagerBuilder &Builder,
125127
static void addAddressSanitizerPasses(const PassManagerBuilder &Builder,
126128
legacy::PassManagerBase &PM) {
127129
PM.add(createAddressSanitizerFunctionPass());
128-
PM.add(createAddressSanitizerModulePass());
130+
PM.add(createModuleAddressSanitizerLegacyPassPass());
129131
}
130132

131133
static void addThreadSanitizerPass(const PassManagerBuilder &Builder,
132134
legacy::PassManagerBase &PM) {
133-
PM.add(createThreadSanitizerPass());
135+
PM.add(createThreadSanitizerLegacyPassPass());
134136
}
135137

136138
static void addSanitizerCoveragePass(const PassManagerBuilder &Builder,
@@ -1224,6 +1226,7 @@ swift::createSwiftModuleObjectFile(SILModule &SILMod, StringRef Buffer,
12241226
switch (IGM.TargetInfo.OutputObjectFormat) {
12251227
case llvm::Triple::UnknownObjectFormat:
12261228
llvm_unreachable("unknown object format");
1229+
case llvm::Triple::XCOFF:
12271230
case llvm::Triple::COFF:
12281231
Section = COFFASTSectionName;
12291232
break;

branches/master-next/lib/IRGen/IRGenModule.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,8 @@ llvm::Constant *swift::getRuntimeFn(llvm::Module &Module,
599599
{argTypes.begin(), argTypes.end()},
600600
/*isVararg*/ false);
601601

602-
cache = Module.getOrInsertFunction(name, fnTy);
602+
cache =
603+
cast<llvm::Function>(Module.getOrInsertFunction(name, fnTy).getCallee());
603604

604605
// Add any function attributes and set the calling convention.
605606
if (auto fn = dyn_cast<llvm::Function>(cache)) {
@@ -983,8 +984,9 @@ void IRGenModule::addLinkLibrary(const LinkLibrary &linkLib) {
983984
if (linkLib.shouldForceLoad()) {
984985
llvm::SmallString<64> buf;
985986
encodeForceLoadSymbolName(buf, linkLib.getName());
986-
auto ForceImportThunk =
987-
Module.getOrInsertFunction(buf, llvm::FunctionType::get(VoidTy, false));
987+
auto ForceImportThunk = cast<llvm::Function>(
988+
Module.getOrInsertFunction(buf, llvm::FunctionType::get(VoidTy, false))
989+
.getCallee());
988990

989991
const IRLinkage IRL =
990992
llvm::Triple(Module.getTargetTriple()).isOSBinFormatCOFF()

branches/master-next/lib/LLVMPasses/ARCEntryPointBuilder.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,9 +251,10 @@ class ARCEntryPointBuilder {
251251
auto AttrList = AttributeList::get(M.getContext(), 1, Attribute::NoCapture);
252252
AttrList = AttrList.addAttribute(
253253
M.getContext(), AttributeList::FunctionIndex, Attribute::NoUnwind);
254-
CheckUnowned = M.getOrInsertFunction("swift_checkUnowned", AttrList,
255-
Type::getVoidTy(M.getContext()),
256-
ObjectPtrTy);
254+
CheckUnowned = cast<llvm::Function>(
255+
M.getOrInsertFunction("swift_checkUnowned", AttrList,
256+
Type::getVoidTy(M.getContext()), ObjectPtrTy)
257+
.getCallee());
257258
if (llvm::Triple(M.getTargetTriple()).isOSBinFormatCOFF() &&
258259
!llvm::Triple(M.getTargetTriple()).isOSCygMing())
259260
if (auto *F = llvm::dyn_cast<llvm::Function>(CheckUnowned.get()))

branches/master-next/lib/LLVMPasses/LLVMSwiftAA.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ static ModRefInfo getConservativeModRefForKind(const llvm::Instruction &I) {
3232
llvm_unreachable("Not a valid Instruction.");
3333
}
3434

35-
ModRefInfo SwiftAAResult::getModRefInfo(llvm::ImmutableCallSite CS,
36-
const llvm::MemoryLocation &Loc) {
35+
ModRefInfo SwiftAAResult::getModRefInfo(const llvm::CallBase *Call,
36+
const llvm::MemoryLocation &Loc,
37+
llvm::AAQueryInfo &AAQI) {
3738
// We know at compile time that certain entry points do not modify any
3839
// compiler-visible state ever. Quickly check if we have one of those
3940
// instructions and return if so.
40-
if (ModRefInfo::NoModRef ==
41-
getConservativeModRefForKind(*CS.getInstruction()))
41+
if (ModRefInfo::NoModRef == getConservativeModRefForKind(*Call))
4242
return ModRefInfo::NoModRef;
4343

4444
// Otherwise, delegate to the rest of the AA ModRefInfo machinery.
45-
return AAResultBase::getModRefInfo(CS, Loc);
45+
return AAResultBase::getModRefInfo(Call, Loc, AAQI);
4646
}
4747

4848
//===----------------------------------------------------------------------===//

branches/master-next/test/DebugInfo/dbgvalue-insertpt.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ for i in 0 ..< 3 {
99
// CHECK: %[[LD:[0-9]+]] = load i{{32|64}}, i{{32|64}}*
1010
// CHECK: br i1 {{%.*}}, label %[[FAIL:.*]], label %[[SUCCESS:.*]],
1111
//
12-
// CHECK: ; <label>:[[SUCCESS]]:
12+
// CHECK: [[SUCCESS]]:
1313
// CHECK: br label %[[NEXT_BB:.*]],
1414
//
15-
// CHECK: ; <label>:[[NEXT_BB]]:
15+
// CHECK: [[NEXT_BB]]:
1616
// CHECK: %[[PHI_VAL:.*]] = phi i{{32|64}} [ %[[LD]], %[[SUCCESS]] ]
1717
// CHECK: store i{{32|64}} %[[PHI_VAL]], i{{32|64}}* %i.debug
1818
// CHECK: ![[I]] = !DILocalVariable(name: "i",

branches/master-next/test/DebugInfo/linetable-cleanups.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func main() {
1919
markUsed("Done with the for loop")
2020
// CHECK: call {{.*}}void @"$s4main8markUsedyyxlF"
2121
// CHECK: br label
22-
// CHECK: <label>:
22+
// CHECK: {{[0-9]+}}:
2323
// CHECK: call %Ts16IndexingIteratorVySaySiGG* @"$ss16IndexingIteratorVySaySiGGWOh"(%Ts16IndexingIteratorVySaySiGG* %{{.*}}), !dbg ![[LOOPHEADER_LOC:.*]]
2424
// CHECK: call {{.*}}void @"$s4main8markUsedyyxlF"
2525
// The cleanups should share the line number with the ret stmt.

branches/master-next/test/DebugInfo/linetable-codeview.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func foo() {
6262
// CHECK: br label %[[RETLABEL:[0-9]+]], !dbg ![[CASE:[0-9]+]]
6363
// CHECK: call { i64, i1 } @llvm.sadd.with.overflow.i64{{.*}}
6464
// CHECK: br label %[[RETLABEL]], !dbg ![[DEFAULTCLEANUP:[0-9]+]]
65-
// CHECK: ; <label>:[[RETLABEL]]:
65+
// CHECK: [[RETLABEL]]:
6666
// CHECK-NEXT: ret void
6767

6868
// func foo()

0 commit comments

Comments
 (0)