1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 06:22:56 +02:00
llvm-mirror/lib
Chandler Carruth 2835bf79f7 [LPM] Stop using the string based preservation API. It is an
abomination.

For starters, this API is incredibly slow. In order to lookup the name
of a pass it must take a memory fence to acquire a pointer to the
managed static pass registry, and then potentially acquire locks while
it consults this registry for information about what passes exist by
that name. This stops the world of LLVMs in your process no matter
how little they cared about the result.

To make this more joyful, you'll note that we are preserving many passes
which *do not exist* any more, or are not even analyses which one might
wish to have be preserved. This means we do all the work only to say
"nope" with no error to the user.

String-based APIs are a *bad idea*. String-based APIs that cannot
produce any meaningful error are an even worse idea. =/

I have a patch that simply removes this API completely, but I'm hesitant
to commit it as I don't really want to perniciously break out-of-tree
users of the old pass manager. I'd rather they just have to migrate to
the new one at some point. If others disagree and would like me to kill
it with fire, just say the word. =]

llvm-svn: 227294
2015-01-28 04:57:56 +00:00
..
Analysis Move EH personality type classification to Analysis/LibCallSemantics.h 2015-01-28 01:17:38 +00:00
AsmParser AsmParser: PARSE_MD_FIELD() => ParseMDField(), NFC 2015-01-20 02:42:29 +00:00
Bitcode [Bitcode] Diagnose errors instead of asserting from bad input 2015-01-24 04:15:05 +00:00
CodeGen [LPM] Stop using the string based preservation API. It is an 2015-01-28 04:57:56 +00:00
DebugInfo [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ExecutionEngine Revert r227247 and r227228: "Add weak symbol support to RuntimeDyld". 2015-01-28 01:30:37 +00:00
Fuzzer [fuzzer] properly enable asan's coverage feedback 2015-01-27 22:19:55 +00:00
IR Revert GCStrategy ownership changes 2015-01-26 18:26:35 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LineEditor
Linker [llvm link] Destroy ConstantArrays in LLVMContext if they are not used. 2015-01-20 19:24:59 +00:00
LTO Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
MC Store the passed in CPU name string so that it can be accessed later. 2015-01-26 17:33:30 +00:00
Object dd the option, -link-opt-hints to llvm-objdump used with -macho to print the 2015-01-27 21:28:24 +00:00
Option [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ProfileData llvm-cov: Only combine segments if they overlap exactly 2015-01-24 20:58:52 +00:00
Support [mips] Use __clear_cache builtin instead of cacheflush() 2015-01-27 23:30:18 +00:00
TableGen Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Target [LPM] Stop using the string based preservation API. It is an 2015-01-28 04:57:56 +00:00
Transforms [LPM] Stop using the string based preservation API. It is an 2015-01-28 04:57:56 +00:00
CMakeLists.txt Add a Fuzzer library 2015-01-27 22:08:41 +00:00
LLVMBuild.txt
Makefile