[llvm] 44ce487 - [TableGen] Emit more helpful error messages on empty type set
Alex Richardson via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 31 01:33:22 PDT 2021
Author: Alex Richardson
Date: 2021-03-31T09:24:03+01:00
New Revision: 44ce487bfe8badc3e3718e7cc81c289540e6725d
URL: https://github.com/llvm/llvm-project/commit/44ce487bfe8badc3e3718e7cc81c289540e6725d
DIFF: https://github.com/llvm/llvm-project/commit/44ce487bfe8badc3e3718e7cc81c289540e6725d.diff
LOG: [TableGen] Emit more helpful error messages on empty type set
I have seen this error quite frequently in our out-of-tree CHERI backends
and the lack of location information sometimes makes it quite difficult
to track down the actual source of the error.
This patch changes the llvm_unreachable() to a PrintFatalError() so that
tablegen prints a stack of source locations.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D99468
Added:
Modified:
llvm/utils/TableGen/CodeGenDAGPatterns.cpp
Removed:
################################################################################
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
index 1b996f0200511..ce6e090ee584d 100644
--- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -846,7 +846,11 @@ TypeInfer::ValidateOnExit::~ValidateOnExit() {
"(use -print-records with llvm-tblgen to see all "
"expanded records).\n";
Infer.TP.dump();
- llvm_unreachable(nullptr);
+ dbgs() << "Generated from record:\n";
+ Infer.TP.getRecord()->dump();
+ PrintFatalError(Infer.TP.getRecord()->getLoc(),
+ "Type set is empty for each HW mode in '" +
+ Infer.TP.getRecord()->getName() + "'");
}
}
#endif
More information about the llvm-commits
mailing list