llvm-6502/lib/Transforms/Scalar
Chris Lattner eede65ce6c Don't infininitely thread branches when a threaded edge
goes back to the block, e.g.:

  Threading edge through bool from 'bb37.us.thread3829' to 'bb37.us' with cost: 1, across block:

bb37.us:		; preds = %bb37.us.thread3829, %bb37.us, %bb33
	%D1361.1.us = phi i32 [ %tmp36, %bb33 ], [ %D1361.1.us, %bb37.us ], [ 0, %bb37.us.thread3829 ]		; <i32> [#uses=2]
	%tmp39.us = icmp eq i32 %D1361.1.us, 0		; <i1> [#uses=1]
	br i1 %tmp39.us, label %bb37.us, label %bb42.us



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50251 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 04:12:29 +00:00
..
ADCE.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
BasicBlockPlacement.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
CodeGenPrepare.cpp silence a warning when assertions are disabled. 2008-04-06 21:44:08 +00:00
CondPropagate.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ConstantProp.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
DCE.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
DeadStoreElimination.cpp Be more precise when eliminating pointers bue to memcpy's. This allows more 2008-02-04 04:53:00 +00:00
GCSE.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
GVN.cpp Remove unneeded #include's. 2008-04-21 07:47:38 +00:00
GVNPRE.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
IndVarSimplify.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
InstructionCombining.cpp Rewrite previous patch to suit Chris's preference. 2008-04-23 18:34:37 +00:00
JumpThreading.cpp Don't infininitely thread branches when a threaded edge 2008-04-25 04:12:29 +00:00
LICM.cpp Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
LoopIndexSplit.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
LoopRotation.cpp Revert r49614. As Dan pointed out, some of these aren't correct. 2008-04-14 17:38:21 +00:00
LoopStrengthReduce.cpp Minor whitespace and comment cleanups. 2008-04-14 18:26:16 +00:00
LoopUnroll.cpp Revert r49614. As Dan pointed out, some of these aren't correct. 2008-04-14 17:38:21 +00:00
LoopUnswitch.cpp fit some more code in 80 cols. 2008-04-21 00:25:49 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
MemCpyOptimizer.cpp Refactor memcpyopt based on Chris' suggestions. Consolidate several functions 2008-04-21 07:45:10 +00:00
PredicateSimplifier.cpp Remove unnecessary <sstream> includes. 2008-04-14 20:40:47 +00:00
Reassociate.cpp Don't include <map> in Pass.h, which doesn't need it. This requires 2008-03-21 23:51:57 +00:00
Reg2Mem.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Scalar.cpp C and Objective Caml bindings for mem2reg and reg2mem. 2008-03-20 17:16:03 +00:00
ScalarReplAggregates.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
SCCP.cpp code restructuring, not functionality change. 2008-04-24 00:21:50 +00:00
SimplifyCFG.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00
TailDuplication.cpp replace a slow and verbose version of Instruction::isUsedOutsideOfBlock with 2008-04-20 22:18:22 +00:00
TailRecursionElimination.cpp API changes for class Use size reduction, wave 1. 2008-04-06 20:25:17 +00:00