[PATCH] D142431: [extract_symbols.py] Filter out more symbols for MSVC

Sylvestre Ledru via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 26 12:28:41 PST 2023


This revision was automatically updated to reflect the committed changes.
Closed by commit rG1b9fbc81ff15: [extract_symbols.py] Filter out more symbols for MSVC (authored by glandium, committed by sylvestre.ledru).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142431/new/

https://reviews.llvm.org/D142431

Files:
  llvm/utils/extract_symbols.py


Index: llvm/utils/extract_symbols.py
===================================================================
--- llvm/utils/extract_symbols.py
+++ llvm/utils/extract_symbols.py
@@ -141,7 +141,10 @@
             # Remove calling convention decoration from names
             match = re.match('[_@]([^@]+)', symbol)
             if match:
-                return match.group(1)
+                symbol = match.group(1)
+        # Discard floating point/SIMD constants.
+        if symbol.startswith(("__xmm@", "__ymm@", "__real@")):
+            return None
         return symbol
     # Function template instantiations start with ?$; keep the instantiations of
     # clang::Type::getAs, as some of them are explipict specializations that are
@@ -165,6 +168,9 @@
     # namespace doesn't exist outside of that translation unit.
     elif re.search('\?A(0x\w+)?@', symbol):
         return None
+    # Skip X86GenMnemonicTables functions, they are not exposed from llvm/include/.
+    elif re.match('\?is[A-Z0-9]*@X86 at llvm', symbol):
+        return None
     # Keep mangled llvm:: and clang:: function symbols. How we detect these is a
     # bit of a mess and imprecise, but that avoids having to completely demangle
     # the symbol name. The outermost namespace is at the end of the identifier


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142431.492542.patch
Type: text/x-patch
Size: 1294 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230126/bc957661/attachment.bin>


More information about the llvm-commits mailing list