llvm-6502/lib/Transforms/Scalar
Chris Lattner 78f7a25f98 prevent jump threading from merging blocks when their address is
taken (and used!).  This prevents merging the blocks (invalidating
the block addresses) in a case like this:

#define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })

void foo() {
  printf("%p\n", _THIS_IP_);
  printf("%p\n", _THIS_IP_);
  printf("%p\n", _THIS_IP_);
}

which fixes PR4151.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-18 04:43:06 +00:00
..
ADCE.cpp
BasicBlockPlacement.cpp
CMakeLists.txt
CodeGenPrepare.cpp fix rdar://8878965, a regression I introduced with the recent 2011-01-18 20:53:04 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp Give GetUnderlyingObject a TargetData, to keep it in sync 2011-01-24 18:53:32 +00:00
EarlyCSE.cpp
GEPSplitter.cpp
GVN.cpp Give GetUnderlyingObject a TargetData, to keep it in sync 2011-01-24 18:53:32 +00:00
IndVarSimplify.cpp reduce indentation. Print <nuw> and <nsw> when dumping SCEV AddRec's 2011-01-09 02:16:18 +00:00
JumpThreading.cpp prevent jump threading from merging blocks when their address is 2011-02-18 04:43:06 +00:00
LICM.cpp Generalize LoadAndStorePromoter a bit and switch LICM 2011-01-15 00:12:35 +00:00
LoopDeletion.cpp Remove code for updating dominance frontiers and some outdated references to 2011-01-18 04:11:31 +00:00
LoopIdiomRecognize.cpp Spelling fix: consequtive -> consecutive. 2011-02-15 09:23:02 +00:00
LoopInstSimplify.cpp LoopInstSimplify preserves ScalarEvolution. 2011-02-11 06:08:25 +00:00
LoopRotation.cpp Do not hoist @llvm.dbg.value. Here, @llvm.dbg.value is "referring" a value that is modified inside loop. 2011-02-14 23:03:23 +00:00
LoopStrengthReduce.cpp If we can't avoid running loop-simplify twice for now, at least avoid running 2011-02-10 23:53:14 +00:00
LoopUnrollPass.cpp Remove dead code, that I apparently wrote a while back. We seem to be doing well enough 2011-01-17 22:39:54 +00:00
LoopUnswitch.cpp Make LoopUnswitch preserve ScalarEvolution by just forgetting everything about 2011-02-11 06:08:28 +00:00
LowerAtomic.cpp
Makefile
MemCpyOptimizer.cpp Spelling fix: consequtive -> consecutive. 2011-02-15 09:23:02 +00:00
Reassociate.cpp fix PR9215, preventing -reassociate from clearing nsw/nuw when 2011-02-17 01:29:24 +00:00
Reg2Mem.cpp
Scalar.cpp Remove outdated references to dominance frontiers. 2011-01-18 03:53:26 +00:00
ScalarReplAggregates.cpp convert ConstantVector::get to use ArrayRef. 2011-02-15 00:14:00 +00:00
SCCP.cpp SCCP doesn't actually preserve the CFG. It will delete and insert terminator 2011-01-21 08:38:09 +00:00
SimplifyCFGPass.cpp
SimplifyHalfPowrLibCalls.cpp
SimplifyLibCalls.cpp SimplifyLibCalls: Add missing legalize check on various printf to puts and 2011-02-12 18:19:57 +00:00
Sink.cpp
TailDuplication.cpp
TailRecursionElimination.cpp Unbreak the MSVC build. 2011-01-29 20:06:16 +00:00