llvm-project/llvm/test/Transforms
Nick Lewycky dd1d3df524 A dead malloc, a free(NULL) and a free(undef) are all trivially dead
instructions.

This doesn't introduce any optimizations we weren't doing before (except
potentially due to pass ordering issues), now passes will eliminate them sooner
as part of their own cleanups.

llvm-svn: 142787
2011-10-24 04:35:36 +00:00
..
ADCE Try to eliminate the use of the 'unwind' instruction. 2011-09-02 22:41:11 +00:00
ArgumentPromotion fix PR8932, a case where arg promotion could infinitely promote. 2011-01-16 08:09:24 +00:00
BlockPlacement
BranchFolding
CodeExtractor Update this test to the new EH model. 2011-09-20 22:29:43 +00:00
CodeGenPrepare Roll r127459 back in: 2011-03-11 21:52:04 +00:00
ConstProp Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
ConstantMerge Teach the ConstantMerge pass about alignment. Fixes PR10514! 2011-07-27 19:47:34 +00:00
CorrelatedValuePropagation Test for lazy value info's ability to prove the absense of NULLs in pointers. 2011-01-16 21:57:20 +00:00
DeadArgElim Update some tests to the new EH scheme. 2011-09-01 00:58:03 +00:00
DeadStoreElimination A dead malloc, a free(NULL) and a free(undef) are all trivially dead 2011-10-24 04:35:36 +00:00
EarlyCSE Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
FunctionAttrs Update some tests to the new EH scheme. 2011-09-01 00:58:03 +00:00
GVN Teach GVN to also propagate switch cases. For example, in this code 2011-10-07 08:29:06 +00:00
GlobalDCE
GlobalOpt Refactor code from inlining and globalopt that checks whether a function definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. 2011-10-20 05:23:42 +00:00
IPConstantProp Update some tests to the new EH scheme. 2011-09-01 00:58:03 +00:00
IndVarSimplify Removed colons from some target datalayout strings in test, since they don't match the required format. 2011-10-12 22:24:17 +00:00
Inline Remap blockaddress correctly when inlining a function. Fixes PR10162. 2011-10-21 20:45:19 +00:00
InstCombine Extend instcombine's shufflevector simplification to handle more cases where the input and output vectors have different sizes. Patch by Xiaoyi Guo. 2011-10-21 19:06:29 +00:00
InstSimplify InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the original value if types don't match. 2011-09-05 18:16:19 +00:00
Internalize Add test for r127138. 2011-03-07 21:28:14 +00:00
JumpThreading Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
LCSSA Try to eliminate the use of the 'unwind' instruction. 2011-09-02 22:41:11 +00:00
LICM Atomic load/store support in LICM. 2011-08-15 20:52:09 +00:00
LoopDeletion Remove the old tail duplication pass. It is not used and is unable to update 2011-08-30 23:03:45 +00:00
LoopIdiom Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. 2011-09-27 20:39:19 +00:00
LoopRotate remove asmparser support for the old getresult instruction, which has been subsumed by extractvalue. 2011-06-17 06:57:15 +00:00
LoopSimplify Removed colons from some target datalayout strings in test, since they don't match the required format. 2011-10-12 22:24:17 +00:00
LoopStrengthReduce Fix SCEVExpander assert during LSR: "argument of incompatible type". 2011-10-15 06:19:55 +00:00
LoopUnroll Unit test for r140919, loop unroll heuristics. 2011-10-04 00:07:02 +00:00
LoopUnswitch Split the landing pad basic block with the correct function. Also merge the 2011-09-27 00:59:31 +00:00
LowerAtomic Convert more tests over to the new atomic instructions. 2011-09-26 20:27:49 +00:00
LowerExpectIntrinsic Introduce "expect" intrinsic instructions. 2011-07-06 18:22:43 +00:00
LowerInvoke
LowerSwitch
Mem2Reg Add the returns_twice attribute to LLVM. 2011-10-03 14:45:37 +00:00
MemCpyOpt Oops! Fix test I forgot to submit as part of r142735. 2011-10-22 22:07:31 +00:00
MergeFunc When removing a function from the function set and adding it to deferred, we 2011-02-09 06:32:02 +00:00
ObjCARC Teach the ARC optimizer about the !clang.arc.copy_on_escape metadata 2011-10-17 22:53:25 +00:00
PhaseOrdering Add file. 2011-08-19 21:21:20 +00:00
PruneEH Update more tests to the new EH scheme. 2011-08-31 21:04:11 +00:00
Reassociate Remove empty test. 2011-08-02 02:47:45 +00:00
SCCP Make sure IPSCCP never marks a tracked call as overdefined in SCCPSolver::ResolvedUndefsIn. If we do, we can end up in a situation where a function is resolved to return a constant, but the caller is marked overdefined, which confuses the code later. 2011-09-20 23:28:51 +00:00
ScalarRepl The element insertion code in scalar replacement doesn't handle incorrect 2011-10-23 07:02:10 +00:00
SimplifyCFG Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
SimplifyLibCalls "@string = constant i8 0" is a value i8* string of length zero. Analyze that 2011-10-20 00:34:35 +00:00
Sink Fix test; sorry for any inconvenience. 2011-09-01 21:25:42 +00:00
StripSymbols fix PR10286, a problem with the .ll printer handling block addresses that are out-of-scope. 2011-08-03 06:15:41 +00:00
TailCallElim Correct over-zealous removal of hack. 2011-10-17 18:43:40 +00:00
TailDup Remove the old tail duplication pass. It is not used and is unable to update 2011-08-30 23:03:45 +00:00