summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorErich Keane <erich.keane@intel.com>2022-01-13 06:52:58 -0800
committerErich Keane <erich.keane@intel.com>2022-01-13 06:54:08 -0800
commitb699e8b11aa92ca4fcade2616d4a4bbc1d3a717e (patch)
treeb4bddbc368566b818bb540e45d9e13db0692d006 /clang/lib/CodeGen/CodeGenModule.cpp
parent0c6c588a9b9cd17c8eaa95b7ad8678bae1d7f057 (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.cpp3
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;