Skip to content

Commit a431eb5

Browse files
committed
remove use of RTTI
1 parent e0f3b63 commit a431eb5

File tree

3 files changed

+5
-22
lines changed

3 files changed

+5
-22
lines changed

mlir/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,7 @@ endif()
204204

205205
#-------------------------------------------------------------------------------
206206
# MLIR Pattern Catalog Generator Configuration
207-
# Requires:
208-
# RTTI to be enabled (set with -DLLVM_ENABLE_RTTI=ON)
207+
#
209208
# When enabled, causes all rewriter patterns to dump their type names and the
210209
# names of affected operations, which can be used to build a search index
211210
# mapping operations to patterns.
@@ -217,7 +216,6 @@ set(MLIR_ENABLE_CATALOG_GENERATOR 0 CACHE BOOL
217216
if (MLIR_ENABLE_CATALOG_GENERATOR)
218217
message(STATUS "Enabling MLIR pattern catalog generator")
219218
add_definitions(-DMLIR_ENABLE_CATALOG_GENERATOR)
220-
add_definitions(-DLLVM_ENABLE_RTTI)
221219
endif()
222220

223221
set(CMAKE_INCLUDE_CURRENT_DIR ON)

mlir/include/mlir/IR/PatternMatch.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,8 @@ class RewriterBase : public OpBuilder {
476476
};
477477

478478
struct CatalogingListener : public RewriterBase::ForwardingListener {
479-
CatalogingListener(OpBuilder::Listener *listener,
480-
const std::string &patternName, raw_ostream &os,
481-
std::mutex &writeMutex)
479+
CatalogingListener(OpBuilder::Listener *listener, StringRef patternName,
480+
raw_ostream &os, std::mutex &writeMutex)
482481
: RewriterBase::ForwardingListener(listener), patternName(patternName),
483482
os(os), writeMutex(writeMutex) {}
484483

@@ -544,7 +543,7 @@ class RewriterBase : public OpBuilder {
544543
}
545544

546545
private:
547-
const std::string &patternName;
546+
StringRef patternName;
548547
raw_ostream &os;
549548
std::mutex &writeMutex;
550549
};

mlir/lib/Rewrite/PatternApplicator.cpp

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#ifdef MLIR_ENABLE_CATALOG_GENERATOR
1919
#include "llvm/Support/FileSystem.h"
2020
#include "llvm/Support/raw_ostream.h"
21-
#include <cxxabi.h>
2221
#include <mutex>
2322
#endif
2423

@@ -232,22 +231,9 @@ LogicalResult PatternApplicator::matchAndRewrite(
232231

233232
#ifdef MLIR_ENABLE_CATALOG_GENERATOR
234233
OpBuilder::Listener *oldListener = rewriter.getListener();
235-
int status;
236-
const char *mangledPatternName = typeid(*pattern).name();
237-
char *demangled = abi::__cxa_demangle(mangledPatternName, nullptr,
238-
nullptr, &status);
239-
std::string demangledPatternName;
240-
if (status == 0 && demangled) {
241-
demangledPatternName = demangled;
242-
free(demangled);
243-
} else {
244-
// Fallback in case demangling fails.
245-
demangledPatternName = mangledPatternName;
246-
}
247-
248234
RewriterBase::CatalogingListener *catalogingListener =
249235
new RewriterBase::CatalogingListener(
250-
oldListener, demangledPatternName, catalogOs,
236+
oldListener, pattern->getDebugName(), catalogOs,
251237
catalogWriteMutex);
252238
rewriter.setListener(catalogingListener);
253239
#endif

0 commit comments

Comments
 (0)