1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib/Transforms
Jingyue Wu 30a21f9ce5 [SROA] Fold a PHI node if all its incoming values are the same
Summary:
Fixes PR20425.

During slice building, if all of the incoming values of a PHI node are the same, replace the PHI node with the common value. This simplification makes alloca's used by PHI nodes easier to promote.

Test Plan: Added three more tests in phi-and-select.ll

Reviewers: nlewycky, eliben, meheff, chandlerc

Reviewed By: chandlerc

Subscribers: zinovy.nis, hfinkel, baldrick, llvm-commits

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

llvm-svn: 216299
2014-08-22 22:45:57 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine InstCombine: Don't unconditionally preserve 'nuw' when shrinking constants 2014-08-22 17:11:04 +00:00
Instrumentation [dfsan] Fix non-determinism bug in non-zero label check annotator. 2014-08-22 01:18:18 +00:00
IPO Move some logic to populateLTOPassManager. 2014-08-21 20:03:44 +00:00
ObjCARC Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size. 2014-08-21 05:55:13 +00:00
Scalar [SROA] Fold a PHI node if all its incoming values are the same 2014-08-22 22:45:57 +00:00
Utils Use DILexicalBlockFile, rather than DILexicalBlock, to track discriminator changes to ensure discriminator changes don't introduce new DWARF DW_TAG_lexical_blocks. 2014-08-21 22:45:21 +00:00
Vectorize fix: SLPVectorizer crashes for unreachable blocks containing not schedulable instructions. 2014-08-22 01:18:39 +00:00
CMakeLists.txt
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile