llvm-project/llvm/lib/Transforms/Scalar
Evan Cheng 249716e8ae Teach CodeGenPrep to look past bitcast when it's duplicating return instruction
into predecessor blocks to enable tail call optimization.

rdar://11958338

llvm-svn: 160894
2012-07-27 21:21:26 +00:00
..
ADCE.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
BasicBlockPlacement.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
CMakeLists.txt move the bounds checking pass to the instrumentation folder, where it belongs. I dunno why in the world I dropped it in the Scalar folder in the first place. 2012-07-20 22:39:33 +00:00
CodeGenPrepare.cpp Teach CodeGenPrep to look past bitcast when it's duplicating return instruction 2012-07-27 21:21:26 +00:00
ConstantProp.cpp Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetData 2011-12-01 21:29:16 +00:00
CorrelatedValuePropagation.cpp llvm::SwitchInst 2012-03-11 06:09:17 +00:00
DCE.cpp Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
DeadStoreElimination.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
EarlyCSE.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
GVN.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
GlobalMerge.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
IndVarSimplify.cpp indvars: drive by heuristics fix. 2012-07-18 04:35:13 +00:00
JumpThreading.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
LICM.cpp An instruction in a loop is not guaranteed to be executed just because the loop 2012-05-01 04:03:01 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
LoopDeletion.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
LoopIdiomRecognize.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
LoopInstSimplify.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
LoopRotation.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
LoopStrengthReduce.cpp Reapply r160340. LSR: Limit CollectSubexprs. 2012-07-17 05:30:37 +00:00
LoopUnrollPass.cpp LoopUnrollPass: Use variable "Threshold" instead of "CurrentThreshold" when 2012-04-04 11:44:08 +00:00
LoopUnswitch.cpp Do not pass an invalid domtree to SimplifyInstruction from 2012-05-20 01:32:09 +00:00
LowerAtomic.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
Makefile
MemCpyOptimizer.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
ObjCARC.cpp An objc_retain can serve as a may-use for a different pointer. 2012-07-23 19:27:31 +00:00
Reassociate.cpp Stop reassociate from looking through expressions of arbitrary complexity. This 2012-07-26 09:26:40 +00:00
Reg2Mem.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
SCCP.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
Scalar.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
ScalarReplAggregates.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
SimplifyCFGPass.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
SimplifyLibCalls.cpp do null checks for a few more Emit*() functions. 2012-07-26 17:10:46 +00:00
Sink.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00
TailRecursionElimination.cpp Clean whitespaces. 2012-07-24 10:51:42 +00:00