diff options
| author | Erich Keane <erich.keane@intel.com> | 2022-01-13 06:52:58 -0800 |
|---|---|---|
| committer | Erich Keane <erich.keane@intel.com> | 2022-01-13 06:54:08 -0800 |
| commit | b699e8b11aa92ca4fcade2616d4a4bbc1d3a717e (patch) | |
| tree | b4bddbc368566b818bb540e45d9e13db0692d006 /clang/lib/CodeGen/CodeGenModule.cpp | |
| parent | 0c6c588a9b9cd17c8eaa95b7ad8678bae1d7f057 (diff) | |
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.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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<FunctionDecl>(GD.getDecl()); assert(FD && "Not a FunctionDecl?"); + assert(FD->isCPUDispatchMultiVersion() && "Not a multiversion function?"); const auto *DD = FD->getAttr<CPUDispatchAttr>(); 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; |
