1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/Transforms
Craig Topper f15c02fe65 [InstCombine] Teach foldSelectICmpAndOr to handle vector splats
This was pretty close to working already. While I was here I went ahead and passed the ICmpInst pointer from the caller instead of doing a dyn_cast that can never fail.

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

llvm-svn: 311960
2017-08-29 00:13:49 +00:00
..
ADCE [ADCE][Dominators] Reapply: Teach ADCE to preserve dominators 2017-08-22 16:30:21 +00:00
AddDiscriminators
AlignmentFromAssumptions
ArgumentPromotion [ArgPromotion] Preserve alignment of byval argument in new alloca 2017-08-04 17:09:11 +00:00
AtomicExpand
BDCE [BDCE] Don't check demanded bits on unsized types 2017-08-16 16:09:22 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare [CGP] Fix the rematerialization of gc.relocates 2017-08-17 05:48:30 +00:00
ConstantHoisting [ConstantHoisting] Remove dupliate logic in constant hoisting 2017-07-10 20:45:34 +00:00
ConstantMerge
ConstProp
Coroutines [coroutines] Add support for symmetric control transfer (musttail on coro.resumes followed by a suspend) 2017-08-25 02:25:10 +00:00
CorrelatedValuePropagation [LVI] Constant-propagate a zero extension of the switch condition value through case edges 2017-08-03 21:11:30 +00:00
CountingFunctionInserter
CrossDSOCFI
DCE Add strictfp attribute to prevent unwanted optimizations of libm calls 2017-08-14 21:15:13 +00:00
DeadArgElim Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
DeadStoreElimination Revert r310055, it caused PR34074. 2017-08-04 20:40:38 +00:00
EarlyCSE [EarlyCSE] Handle calls with no MemorySSA info. 2017-07-14 20:13:21 +00:00
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs
FunctionImport Fix bot failures by requiring x86 target 2017-08-19 19:15:04 +00:00
GCOVProfiling [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
GlobalDCE
GlobalMerge Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
GlobalOpt Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
GlobalSplit
GuardWidening
GVN Keep Optimization Remark Yaml in NewPM 2017-08-20 01:30:45 +00:00
GVNHoist
GVNSink
IndVarSimplify [SCEV/IndVars] Always compute loop exiting values if the backedge count is 0 2017-08-01 22:37:58 +00:00
InferAddressSpaces [InferAddressSpaces] Fix assertion about null pointer 2017-07-07 02:40:13 +00:00
InferFunctionAttrs
Inline Move accurate-sample-profile into the function attribute. 2017-08-24 21:37:04 +00:00
InstCombine [InstCombine] Teach foldSelectICmpAndOr to handle vector splats 2017-08-29 00:13:49 +00:00
InstMerge
InstNamer
InstSimplify [InstSimplify] Teach decomposeBitTestICmp to handle non-canonical compares 2017-08-14 22:11:43 +00:00
InterleavedAccess Adding base lit test for x86interleaved 2017-08-24 14:11:28 +00:00
Internalize
IPConstantProp
IRCE [IRCE] Fix buggy behavior in Clamp 2017-08-18 22:50:29 +00:00
JumpThreading [Profile] backward propagate profile info in JumpThreading 2017-08-24 22:54:01 +00:00
LCSSA
LICM Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
LoadStoreVectorizer
LoopDataPrefetch
LoopDeletion [Dominators] Teach LoopDeletion to use the new incremental API 2017-08-02 18:17:52 +00:00
LoopDistribute
LoopIdiom Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
LoopInterchange [LoopInterchange] Skip zext instructions when looking for induction var. 2017-08-25 16:52:29 +00:00
LoopLoadElim
LoopPredication
LoopReroll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
LoopRotate Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
LoopSimplify Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
LoopSimplifyCFG
LoopStrengthReduce [ARM, Thumb1] Prevent ARMTargetLowering::isLegalAddressingMode from accepting illegal modes 2017-08-24 10:00:25 +00:00
LoopUnroll [LoopUnroll] Properly update loop structure in case of successful peeling. 2017-08-28 20:29:33 +00:00
LoopUnswitch Add "REQUIRES: asserts" for test unswitch-equality-undef.ll. 2017-07-26 01:34:46 +00:00
LoopVectorize [InstCombine] Teach select01 helper of foldSelectIntoOp to handle vector splats 2017-08-28 22:00:27 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic LowerAtomic: Don't skip optnone functions; atomic still need lowering (PR34020) 2017-08-23 15:43:28 +00:00
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests Update phi nodes in LowerTypeTests control flow simplification 2017-07-31 20:43:07 +00:00
Mem2Reg Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
MemCpyOpt
MergeFunc Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
MetaRenamer [MetaRenamer] Leave @main alone. 2017-08-01 05:14:45 +00:00
NameAnonGlobals
NaryReassociate
NewGVN NewGVN: Fix PR33204 - We need to add memory users when we bypass memorydefs for loads, not just when we do it for stores. 2017-08-26 07:37:11 +00:00
ObjCARC Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
PartiallyInlineLibCalls
PGOProfile Create PHI node for the return value only when the return value has uses. 2017-08-28 18:57:00 +00:00
PhaseOrdering
PlaceSafepoints All libcalls should be considered to be GC-leaf functions. 2017-07-27 16:49:39 +00:00
PreISelIntrinsicLowering
PruneEH
Reassociate [Reassociate] Do not drop debug location if replacement is missing 2017-08-24 09:05:00 +00:00
Reg2Mem
RewriteStatepointsForGC All libcalls should be considered to be GC-leaf functions. 2017-07-27 16:49:39 +00:00
SafeStack Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
SampleProfile Keep Optimization Remark Yaml in NewPM 2017-08-20 01:30:45 +00:00
Scalarizer Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
SCCP [IPSCCP] Guard a user of getInitializer with hasDefinitiveInitializer 2017-07-31 17:47:07 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch
SimplifyCFG revert r310985 which breaks for the following case: 2017-08-27 22:22:39 +00:00
Sink Enhance synchscope representation 2017-07-11 22:23:00 +00:00
SLPVectorizer Keep Optimization Remark Yaml in NewPM 2017-08-20 01:30:45 +00:00
SpeculativeExecution
SROA Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
StructurizeCFG [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
TailCallElim [TRE] Add another test for OptRemark. 2017-07-19 21:39:51 +00:00
ThinLTOBitcodeWriter ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
Util [ADT] Enable reverse iteration for DenseMap 2017-08-24 23:02:48 +00:00
WholeProgramDevirt WholeProgramDevirt: Create bitcast to i8* at each virtual call site. 2017-08-22 21:41:19 +00:00