llvm-6502/lib/Transforms/InstCombine
David Majnemer c671375e8e InstCombine: Remove infinite loop caused by FoldOpIntoPhi
FoldOpIntoPhi could create an infinite loop if the PHI could potentially
reach a BB it was considering inserting instructions into.  The
instructions it would insert would eventually lead to other combines
firing which would, again, lead to FoldOpIntoPhi firing.

The solution is to handicap FoldOpIntoPhi so that it doesn't attempt to
insert instructions that the PHI might reach.

This fixes PR21377.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221187 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-03 21:55:12 +00:00
..
CMakeLists.txt
InstCombine.h Clean up assume intrinsic pattern matching, no need to check that the argument is a value. 2014-10-25 18:09:01 +00:00
InstCombineAddSub.cpp InstCombine: Combine (X | Y) - X to (~X & Y) 2014-11-03 05:53:55 +00:00
InstCombineAndOrXor.cpp InstCombine: Turn (x != 0 & x <u C) into the canonical range check form (x-1 <u C-1) 2014-10-12 14:02:34 +00:00
InstCombineCalls.cpp IR: MDNode => Value: Instruction::getMetadata() 2014-11-01 00:10:31 +00:00
InstCombineCasts.cpp InstCombine: Fix a combine assuming that icmp operands were integers 2014-10-27 05:47:49 +00:00
InstCombineCompares.cpp InstCombine: Don't assume that m_ZExt matches an Instruction 2014-11-01 23:46:05 +00:00
InstCombineLoadStoreAlloca.cpp IR: MDNode => Value: Instruction::getAllMetadata() 2014-11-01 00:26:42 +00:00
InstCombineMulDivRem.cpp InstCombine: Don't miscompile X % ((Pow2 << A) >>u B) 2014-10-14 20:28:40 +00:00
InstCombinePHI.cpp Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.) 2014-09-07 18:57:58 +00:00
InstCombineSelect.cpp Untabify and whitespace cleanups. 2014-10-28 11:53:30 +00:00
InstCombineShifts.cpp Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.) 2014-09-07 18:57:58 +00:00
InstCombineSimplifyDemanded.cpp Add additional patterns for @llvm.assume in ValueTracking 2014-09-07 19:21:07 +00:00
InstCombineVectorOps.cpp fixed some typos 2014-07-07 22:13:58 +00:00
InstCombineWorklist.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
InstructionCombining.cpp InstCombine: Remove infinite loop caused by FoldOpIntoPhi 2014-11-03 21:55:12 +00:00
LLVMBuild.txt
Makefile