From b699e8b11aa92ca4fcade2616d4a4bbc1d3a717e Mon Sep 17 00:00:00 2001 From: Erich Keane Date: Thu, 13 Jan 2022 06:52:58 -0800 Subject: Add another assert to cpu-dispatch emission to help track down a tough to repro error. As mentioned yesterday, I've got a problem that I can only reproduce on Godbolt (none of the build configs on my local machine!), so this is at least somewhat usable until I figure out a cause. --- clang/lib/CodeGen/CodeGenModule.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CodeGenModule.cpp') diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index d824cb398050..42dfce32ed13 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -3479,6 +3479,7 @@ void CodeGenModule::emitMultiVersionFunctions() { void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { const auto *FD = cast(GD.getDecl()); assert(FD && "Not a FunctionDecl?"); + assert(FD->isCPUDispatchMultiVersion() && "Not a multiversion function?"); const auto *DD = FD->getAttr(); assert(DD && "Not a cpu_dispatch Function?"); llvm::Type *DeclTy = getTypes().ConvertType(FD->getType()); @@ -3498,7 +3499,7 @@ void CodeGenModule::emitCPUDispatchDefinition(GlobalDecl GD) { Context.getTargetAddressSpace(FD->getType())), false); assert(ResolverName.endswith(".resolver") && - "CPUDispatch IFunc resolver doesn't end with .resolver?"); + "CPUDispatch IFunc resolver doesn't end with .resolver??"); } else { ResolverType = DeclTy; -- cgit v1.2.3