Skip to content

Commit a1a91db

Browse files
authored
Update ActivityAnalysis.cpp (rust-lang#681)
The `@_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEET_PFiPT0_mPKS8_P13__va_list_tagEmSB_z` one seems strange to me, but based on my libstdc++ usage probably ok. How about generally getting (slowly) rid of this list by calling `std::string llvm::demangle(const std::string &MangledName)` in `llvm/Demangle/Demangle.h` for every function missing a definition? If it succeeds we can still match the beginning, but using the demangled name it should end up in a shorter comparison list and we should miss less functions. I didn't run into a single fn which I couldn't demangle with llvm-c++filt, so I guess it's valid to still panic then.
1 parent 2f01442 commit a1a91db

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

enzyme/Enzyme/ActivityAnalysis.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ const char *KnownInactiveFunctionsStartingWith[] = {
8686
"_ZNSt7__cxx1112basic_string",
8787
"_ZNSt7__cxx1118basic_string",
8888
"_ZNKSt7__cxx1112basic_string",
89+
"_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_string",
8990
// filebuf
9091
"_ZNSt12__basic_file",
9192
"_ZNSt15basic_streambufIcSt11char_traits",
@@ -98,6 +99,7 @@ const char *KnownInactiveFunctionsStartingWith[] = {
9899
// ostream generic <<
99100
"_ZNSo5writeEPKcl",
100101
"_ZNSt19basic_ostringstreamIcSt11char_traits",
102+
"_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istream",
101103
"_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostream",
102104
"_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traits",
103105
"_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traits",

0 commit comments

Comments
 (0)