1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib
Philip Reames c6126d1689 Move ownership of GCStrategy objects to LLVMContext
Note: This change ended up being slightly more controversial than expected.  Chandler has tentatively okayed this for the moment, but I may be revisiting this in the near future after we settle some high level questions.

Rather than have the GCStrategy object owned by the GCModuleInfo - which is an immutable analysis pass used mainly by gc.root - have it be owned by the LLVMContext. This simplifies the ownership logic (i.e. can you have two instances of the same strategy at once?), but more importantly, allows us to access the GCStrategy in the middle end optimizer. To this end, I add an accessor through Function which becomes the canonical way to get at a GCStrategy instance.

In the near future, this will allows me to move some of the checks from http://reviews.llvm.org/D6808 into the Verifier itself, and to introduce optimization legality predicates for some of the recent additions to InstCombine. (These will follow as separate changes.)

Differential Revision: http://reviews.llvm.org/D6811

llvm-svn: 226311
2015-01-16 20:07:33 +00:00
..
Analysis [PM] Port TargetLibraryInfo to the new pass manager, provided by the 2015-01-15 11:39:46 +00:00
AsmParser IR: Allow 16-bits for column info 2015-01-16 17:33:08 +00:00
Bitcode Revert r226242 - Revert Revert Don't create new comdats in CodeGen 2015-01-16 08:38:45 +00:00
CodeGen Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
DebugInfo [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ExecutionEngine Fixing pedantic build warnings. 2015-01-15 21:50:53 +00:00
IR Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
IRReader
LineEditor
Linker Use the DiagnosticHandler to print diagnostics when reading bitcode. 2015-01-10 00:07:30 +00:00
LTO Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
MC Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Object This should fix the build bot clang-cmake-armv7-a15-full failing on 2015-01-16 00:27:31 +00:00
Option [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ProfileData Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Support [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
TableGen Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
Target [Hexagon] Removing old duplicate atomic load/store patterns. 2015-01-16 19:53:35 +00:00
Transforms Fix Reassociate handling of constant in presence of undef float 2015-01-16 03:00:58 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile