llvm-6502/lib/Transforms
Benjamin Kramer 98d6d2372f SimplifyCFG: If we have a PHI node that can evaluate to NULL and do a load or store to the address returned by the PHI node then we can consider this incoming value as dead and remove the edge pointing there, unless there are instructions that can affect control flow executed in between.
In theory this could be extended to other instructions, eg. division by zero, but it's likely that it will "miscompile" some code because people depend on div by zero not trapping. NULL pointer dereference usually leads to a crash so we should be on the safe side.

This shrinks the size of a Release clang by 16k on x86_64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138618 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26 01:22:29 +00:00
..
Hello Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet. 2010-10-07 00:31:16 +00:00
InstCombine When inserting new instructions, use getFirstInsertionPt instead of 2011-08-25 01:08:34 +00:00
Instrumentation When inserting new instructions, use getFirstInsertionPt instead of 2011-08-25 01:08:34 +00:00
IPO C API functions must be able to see their extern "C" definitions, or it will be impossible to call them from C. 2011-08-19 01:36:54 +00:00
Scalar LSR wants to split the landing pad's critical edge. Let it do it, but use the 2011-08-25 05:55:40 +00:00
Utils SimplifyCFG: If we have a PHI node that can evaluate to NULL and do a load or store to the address returned by the PHI node then we can consider this incoming value as dead and remove the edge pointing there, unless there are instructions that can affect control flow executed in between. 2011-08-26 01:22:29 +00:00
CMakeLists.txt Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Makefile Revert r100896 and around - this breaks the only mingw32 buildbot we have. 2010-04-15 19:51:42 +00:00