Skip to content

Commit 85d6e9a

Browse files
committed
remove use of RTTI
1 parent 7335db1 commit 85d6e9a

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
@@ -206,8 +206,7 @@ endif()
206206

207207
#-------------------------------------------------------------------------------
208208
# MLIR Pattern Catalog Generator Configuration
209-
# Requires:
210-
# RTTI to be enabled (set with -DLLVM_ENABLE_RTTI=ON)
209+
#
211210
# When enabled, causes all rewriter patterns to dump their type names and the
212211
# names of affected operations, which can be used to build a search index
213212
# mapping operations to patterns.
@@ -219,7 +218,6 @@ set(MLIR_ENABLE_CATALOG_GENERATOR 0 CACHE BOOL
219218
if (MLIR_ENABLE_CATALOG_GENERATOR)
220219
message(STATUS "Enabling MLIR pattern catalog generator")
221220
add_definitions(-DMLIR_ENABLE_CATALOG_GENERATOR)
222-
add_definitions(-DLLVM_ENABLE_RTTI)
223221
endif()
224222

225223
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)