1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/lib/Transforms
Chandler Carruth 1221aba464 [PM] Teach the always inlining test case to be much more strict about
whether functions are removed, and fix the new PM's always inliner to
actually pass this test.

Without this, the new PM's always inliner leaves all the functions
kicking around which won't work out very well given the semantics of
always inline.

Doing this really highlights how frustrating the current alwaysinline
semantic contract is though -- why can we put it on *external*
functions, etc?

Also I've added a number of tricky and interesting test cases for
removing functions with the always inliner. There is one remaining case
not handled -- fully removing comdats -- and I've left a FIXME about
this.

llvm-svn: 290457
2016-12-23 23:33:35 +00:00
..
Coroutines Fix spelling mistakes in Transforms comments. NFC. 2016-11-20 13:19:49 +00:00
Hello
InstCombine Revert "[InstCombine] New opportunities for FoldAndOfICmp and FoldXorOfICmp" 2016-12-21 19:21:59 +00:00
Instrumentation [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
IPO [PM] Teach the always inlining test case to be much more strict about 2016-12-23 23:33:35 +00:00
ObjCARC [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Scalar [LICM] Plug a leak freeing the ASTs before clearing the map. 2016-12-23 15:02:35 +00:00
Utils Refactor the DIExpression fragment query interface (NFC) 2016-12-22 05:27:12 +00:00
Vectorize [LV] Sink tripcount query to where it's actually used. NFC. 2016-12-19 22:47:52 +00:00
CMakeLists.txt
LLVMBuild.txt