llvm-project/llvm/test/Transforms
Krzysztof Parzyszek 8271be9a1d Do not remove implicit defs in BranchFolder
Branch folder removes implicit defs if they are the only non-branching
instructions in a block, and the branches do not use the defined registers.
The problem is that in some cases these implicit defs are required for
the liveness information to be correct.

Differential Revision: https://reviews.llvm.org/D25478

llvm-svn: 284036
2016-10-12 19:50:57 +00:00
..
ADCE
AddDiscriminators Do not assign new discriminator for all intrinsics. 2016-08-05 17:56:49 +00:00
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand
BBVectorize [ValueTracking] An improvement to IR ValueTracking on Non-negative Integers 2016-10-12 16:18:43 +00:00
BDCE
BranchFolding
CodeExtractor CodeExtractor : Add ability to preserve profile data. 2016-08-02 02:15:45 +00:00
CodeGenPrepare
ConstProp Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
ConstantHoisting This implements a more optimal algorithm for selecting a base constant in 2016-07-14 07:44:20 +00:00
ConstantMerge
Coroutines [coroutines] Store an address of destroy OR cleanup part in the coroutine frame. 2016-10-08 00:22:50 +00:00
CorrelatedValuePropagation [CVP] Convert an AShr to a LShr if 1st operand is known to be nonnegative. 2016-10-12 13:41:38 +00:00
CountingFunctionInserter Add a counter-function insertion pass 2016-09-01 09:42:39 +00:00
CrossDSOCFI [PM] Port CrossDSOCFI to the new pass manager. 2016-07-09 03:25:35 +00:00
DCE
DeadArgElim DeadArgElim: Don't mark swifterror arguments as unused 2016-09-21 15:29:08 +00:00
DeadStoreElimination [DSE] Don't remove stores made live by a call which unwinds. 2016-08-12 01:09:53 +00:00
EarlyCSE [EarlyCSE] Optionally use MemorySSA. NFC. 2016-08-31 19:24:10 +00:00
EliminateAvailableExternally
Float2Int [PM] Port float2int to the new pass manager 2016-06-24 23:32:02 +00:00
ForcedFunctionAttrs
FunctionAttrs [FunctionAttrs] Don't try to infer returned if it is already on an argument 2016-09-12 16:04:59 +00:00
FunctionImport [thinlto] Don't decay threshold for hot callsites 2016-09-30 03:01:17 +00:00
GCOVProfiling DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
GVN [ValueTracking] Fix crash in GetPointerBaseWithConstantOffset() 2016-10-07 14:23:29 +00:00
GVNHoist GVN-hoist: fix store past load dependence analysis (PR30216, PR30499) 2016-10-12 02:23:39 +00:00
GlobalDCE
GlobalMerge Teach llvm::StripDebugInfo() about global variable !dbg attachments. 2016-10-10 17:53:33 +00:00
GlobalOpt [GlobalOpt] Dead Eliminate declarations 2016-09-15 20:26:27 +00:00
GuardWidening
IPConstantProp
IRCE [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
IndVarSimplify Wisely choose sext or zext when widening IV. 2016-09-28 23:39:39 +00:00
InferFunctionAttrs [InferAttributes] Don't access parameters that don't exist. 2016-09-20 23:10:31 +00:00
Inline [OptRemarks] Remove non-printable chars from function name 2016-10-08 04:47:20 +00:00
InstCombine [InstCombine] Fix constexpr issue in select combining 2016-10-12 10:20:15 +00:00
InstMerge [PM] Port MergedLoadStoreMotion to the new pass manager, take two. 2016-06-17 19:10:09 +00:00
InstSimplify [InstSimplify] allow or-of-icmps folds with vector splat constants 2016-09-28 14:27:21 +00:00
Internalize
JumpThreading Jump threading: avoid trying to split edge into landingpad block (PR27840) 2016-10-03 18:18:04 +00:00
LCSSA Revert "Revert r275883 and r275891. They seem to cause PR28608." 2016-07-20 01:55:27 +00:00
LICM New pass manager for LICM. 2016-07-12 22:37:48 +00:00
LoadCombine [LoadCombine] Combine Loads formed from GEPS with negative indexes 2016-06-19 06:14:56 +00:00
LoadStoreVectorizer Add handling of !invariant.load to PropagateMetadata. 2016-09-11 01:39:08 +00:00
LoopDataPrefetch [PM] Port LoopDataPrefetch AArch64 tests to new pass manager 2016-08-22 12:59:58 +00:00
LoopDeletion [PM] Port Dead Loop Deletion Pass to the new PM 2016-07-14 18:28:29 +00:00
LoopDistribute [BPI] Add new LazyBPI analysis 2016-07-28 23:31:12 +00:00
LoopIdiom Target independent codesize heuristics for Loop Idiom Recognition 2016-08-11 18:28:33 +00:00
LoopInterchange [LoopInterchange] Track all dependencies, not just anti dependencies. 2016-09-21 19:16:47 +00:00
LoopLoadElim [LLE] Don't hoist conditionally executed loads 2016-06-28 04:02:47 +00:00
LoopReroll [LoopReroll] Reroll loops with unordered atomic memory accesses 2016-07-19 00:23:54 +00:00
LoopRotate
LoopSimplify [LoopSimplify] Rebuild LCSSA for the inner loop after separating nested loops. 2016-08-09 22:44:56 +00:00
LoopSimplifyCFG
LoopStrengthReduce Do not remove implicit defs in BranchFolder 2016-10-12 19:50:57 +00:00
LoopUnroll Revert test change in r282894 as it's broken in some platforms. 2016-09-30 19:25:23 +00:00
LoopUnswitch [LoopUnswitch] Unswitch on conditions feeding into guards 2016-06-26 05:10:45 +00:00
LoopVectorize [LV] Don't mark multi-use branch conditions uniform 2016-10-07 15:20:13 +00:00
LoopVersioning
LoopVersioningLICM [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
LowerAtomic
LowerExpectIntrinsic [Profile] handle select instruction in 'expect' lowering 2016-09-02 22:03:40 +00:00
LowerGuardIntrinsic [PM] Port LowerGuardIntrinsic to the new PM. 2016-07-28 22:08:41 +00:00
LowerInvoke [PM] Port LowerInvoke to the new pass manager 2016-08-12 17:28:27 +00:00
LowerSwitch
LowerTypeTests Revert r277556. Add -lowertypetests-bitsets-level to control bitsets generation 2016-09-27 00:29:53 +00:00
Mem2Reg
MemCpyOpt [MemCpy] Add comments for r279769 2016-08-25 21:03:46 +00:00
MergeFunc
MetaRenamer
NameAnonGlobals [ThinLTO] Ensure anonymous globals renamed even at -O0 2016-09-17 20:40:16 +00:00
NaryReassociate [PM] Port NaryReassociate to the new PM 2016-07-21 22:28:52 +00:00
ObjCARC [ObjCARC] Traverse chain downwards to replace uses of argument passed to 2016-09-13 23:43:11 +00:00
PGOProfile [PGO] Create weak alias for the renamed Comdat function 2016-10-06 20:38:13 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PlaceSafepoints [PlaceSafepoints] Don't call undef in test case; NFC 2016-06-25 01:40:54 +00:00
PreISelIntrinsicLowering [PM] Port PreISelIntrinsicLowering to the new PM 2016-06-24 20:13:42 +00:00
PruneEH [PruneEH] Be correct in the face IPO 2016-10-03 19:35:30 +00:00
Reassociate [Reassociate] Add test for PR28367. 2016-08-18 13:22:37 +00:00
Reg2Mem
RewriteStatepointsForGC [RS4GC] Strengthen coverage: add more tests 2016-10-07 20:34:00 +00:00
SCCP [SCCP] Don't delete side-effecting instructions 2016-08-24 18:10:21 +00:00
SLPVectorizer [SLPVectorizer][X86] Add 512-bit sitofp/uitofp tests 2016-10-10 14:28:06 +00:00
SROA Fix revision 281960 2016-09-22 07:56:23 +00:00
SafeStack [safestack] Fix assertion failure in stack coloring. 2016-09-16 22:04:10 +00:00
SampleProfile Change the basic block weight calculation algorithm to use max instead of voting. 2016-09-21 16:26:51 +00:00
Scalarizer Scalarizer: Support scalarizing intrinsics 2016-07-25 20:02:54 +00:00
SeparateConstOffsetFromGEP [NVPTX] Enable the load-store vectorizer on nvptx. 2016-07-20 22:11:36 +00:00
SimplifyCFG [SimplifyCFG] Don't create PHI nodes for constant bundle operands 2016-10-12 18:15:33 +00:00
Sink Add a testcase for r275581 2016-07-19 17:52:41 +00:00
SpeculativeExecution [PM] Port SpeculativeExecution to the new PM 2016-08-01 21:48:33 +00:00
StraightLineStrengthReduce [SLSR] Call getPointerSizeInBits with the correct address space. 2016-07-11 18:13:28 +00:00
StripDeadPrototypes
StripSymbols DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
StructurizeCFG StructurizeCFG: Fix inverting constantexpr conditions 2016-07-15 22:13:16 +00:00
TailCallElim [PM] Port TailCallElim 2016-07-06 23:48:41 +00:00
Util Revert "Add -strip-nonlinetable-debuginfo capability" 2016-10-06 18:30:26 +00:00
WholeProgramDevirt WholeProgramDevirt: generate more detailed and accurate remarks. 2016-08-11 19:09:02 +00:00