llvm-6502/lib/Transforms/Scalar
Dan Gohman 667d787c0a Incorporate the insertion point into the key of SCEVExpander's CSE map.
This helps it avoid reusing an instruction that doesn't dominate all
of the users, in cases where the original instruction was inserted
before all of the users were known.  This may result in redundant
expansions of sub-expressions that depend on loop-unpredictable values
in some cases, however this isn't very common, and it primarily impacts
IndVarSimplify, so GVN can be expected to clean these up.

This eliminates the need for IndVarSimplify's FixUsesBeforeDefs,
which fixes several bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74352 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-26 22:53:46 +00:00
..
ADCE.cpp Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
BasicBlockPlacement.cpp
CMakeLists.txt Fix linking of llvm-ld and lli with CMake, from Xerxes Rånby 2009-06-26 15:37:00 +00:00
CodeGenPrepare.cpp Fix old-style type names in comments. 2009-06-14 23:30:43 +00:00
CondPropagate.cpp
ConstantProp.cpp
DCE.cpp
DeadStoreElimination.cpp Rename PaddedSize to AllocSize, in the hope that this 2009-05-09 07:06:46 +00:00
GVN.cpp This fixes a bug introduced in 72661, which can 2009-06-17 20:48:23 +00:00
GVNPRE.cpp Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
IndVarSimplify.cpp Incorporate the insertion point into the key of SCEVExpander's CSE map. 2009-06-26 22:53:46 +00:00
InstructionCombining.cpp Generalize the zext(trunc(t) & C) instcombine to work even with 2009-06-18 16:30:21 +00:00
JumpThreading.cpp make jump threading handle lexically identical compare instructions 2009-06-19 16:27:56 +00:00
LICM.cpp
LoopDeletion.cpp SCEVHandle is no more! 2009-06-22 21:39:50 +00:00
LoopIndexSplit.cpp Support vector casts in more places, fixing a variety of assertion 2009-06-15 22:12:54 +00:00
LoopRotation.cpp Change this code to a form about which VC++ reportedly isn't unhappy. 2009-06-26 00:35:12 +00:00
LoopStrengthReduce.cpp Extend ScalarEvolution's multiple-exit support to compute exact 2009-06-24 01:18:18 +00:00
LoopUnroll.cpp
LoopUnswitch.cpp Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
Makefile
MemCpyOptimizer.cpp Rename PaddedSize to AllocSize, in the hope that this 2009-05-09 07:06:46 +00:00
PredicateSimplifier.cpp Constify this value. 2009-06-26 21:39:56 +00:00
Reassociate.cpp
Reg2Mem.cpp
Scalar.cpp
ScalarReplAggregates.cpp Use Type::getScalarType. 2009-06-16 00:20:26 +00:00
SCCP.cpp Don't crash on multiple return value with no obvious inserted value. 2009-06-06 23:13:08 +00:00
SimplifyCFGPass.cpp second half of fix for PR4366: don't zap store to null of 2009-06-12 21:01:07 +00:00
SimplifyHalfPowrLibCalls.cpp
SimplifyLibCalls.cpp part of PR4405: disable a contentious optimization for 2009-06-19 04:17:36 +00:00
TailDuplication.cpp Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
TailRecursionElimination.cpp Improve tail call elim to move loads above readonly calls 2009-06-19 04:22:16 +00:00