1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/Transforms
Nikita Popov 4b01d392e0 [DemandedBits][BDCE] Support vectors of integers
DemandedBits and BDCE currently only support scalar integers. This
patch extends them to also handle vector integer operations. In this
case bits are not tracked for individual vector elements, instead a
bit is demanded if it is demanded for any of the elements. This matches
the behavior of computeKnownBits in ValueTracking and
SimplifyDemandedBits in InstCombine.

The getDemandedBits() method can now only be called on instructions that
have integer or vector of integer type. Previously it could be called on
any sized instruction (even if it was not particularly useful). The size
of the return value is now always the scalar size in bits (while
previously it was the type size in bits).

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

llvm-svn: 348549
2018-12-06 23:50:32 +00:00
..
ADCE
AddDiscriminators
AggressiveInstCombine
AlignmentFromAssumptions
ArgumentPromotion
AtomicExpand
BDCE [DemandedBits][BDCE] Support vectors of integers 2018-12-06 23:50:32 +00:00
BlockExtractor [hot-cold-split] Name split functions with ".cold" suffix 2018-10-24 18:53:47 +00:00
BranchFolding
CalledValuePropagation
CallSiteSplitting [CallSiteSplitting] Report edge deletion to DomTreeUpdater 2018-11-29 15:27:04 +00:00
CodeExtractor [PartialInliner] Make PHIs free in cost computation. 2018-11-27 18:17:27 +00:00
CodeGenPrepare Fix a use-after-RAUW bug in large GEP splitting 2018-10-19 19:02:16 +00:00
ConstantHoisting
ConstantMerge
ConstProp Disable calls to *_finite and other glibc-only functions on Musl. 2018-11-06 18:23:32 +00:00
Coroutines
CorrelatedValuePropagation [CVP] auto-generate complete test checks; NFC 2018-11-29 14:28:47 +00:00
CrossDSOCFI
DCE
DeadArgElim
DeadStoreElimination
DivRemPairs
EarlyCSE
EliminateAvailableExternally
EntryExitInstrumenter
ExpandMemCmp/X86
Float2Int
ForcedFunctionAttrs
FunctionAttrs
FunctionImport [ThinLTO] Allow importing of functions with var args 2018-12-01 05:11:46 +00:00
GCOVProfiling [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
GlobalDCE GlobalDCE: Teach isEmptyFunction() to ignore debug intrinsics. 2018-11-16 17:47:21 +00:00
GlobalMerge
GlobalOpt [DebugInfo][GlobalOpt] Fix -debugify for globalopt shrinking globals to booleans. 2018-10-23 16:35:51 +00:00
GlobalSplit
GuardWidening
GVN [GVN] Don't perform scalar PRE on GEPs 2018-12-06 16:11:58 +00:00
GVNHoist
GVNSink
HotColdSplit [CodeExtractor] Do not marked outlined calls which may resume EH as noreturn 2018-12-05 19:35:37 +00:00
IndirectBrExpand
IndVarSimplify Return "[IndVars] Smart hard uses detection" 2018-11-08 11:54:35 +00:00
InferAddressSpaces
InferFunctionAttrs Allow norecurse attribute on functions that have debug infos. 2018-12-05 16:48:00 +00:00
Inline [Inliner] Modify the merging of min-legal-vector-width attribute to better handle when the caller or callee don't have the attribute. 2018-11-29 07:27:38 +00:00
InstCombine [InstCombine] foldICmpWithLowBitMaskedVal(): don't miscompile -1 vector elts 2018-12-06 08:14:24 +00:00
InstMerge [DebugInfo][InstMerge] Fix -debugify for phi node created by -mldst-motion 2018-11-02 18:25:41 +00:00
InstNamer
InstSimplify [InstCombine] remove dead code from visitExtractElement 2018-12-05 23:09:33 +00:00
InterleavedAccess
Internalize
IPConstantProp
IRCE
JumpThreading [JumpThreading] Fix exponential time algorithm computing known values. 2018-11-09 22:35:26 +00:00
LCSSA [DebugInfo][LCSSA] Rewrite pre-existing debug values outside loop 2018-10-16 08:06:48 +00:00
LICM [LICM] Reapply r347776 "Make LICM able to hoist phis" with fix 2018-11-29 17:10:00 +00:00
LoadStoreVectorizer
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopIdiom
LoopInstSimplify
LoopInterchange [LoopInterchange] Support reductions across inner and outer loop. 2018-11-08 20:44:19 +00:00
LoopLoadElim
LoopPredication
LoopReroll
LoopRotate Update MemorySSA in LoopRotate. 2018-10-24 22:46:45 +00:00
LoopSimplify Revert r346810 "Preserve loop metadata when splitting exit blocks" 2018-11-14 01:47:32 +00:00
LoopSimplifyCFG Revert "[LoopSimplifyCFG] Delete dead in-loop blocks" 2018-12-06 13:21:01 +00:00
LoopStrengthReduce [LoopStrengthReduce] ComplexityLimit as an option 2018-11-29 08:34:22 +00:00
LoopUnroll [LoopUnroll] allow customization for new-pass-manager version of LoopUnroll 2018-10-31 14:33:14 +00:00
LoopUnrollAndJam
LoopUnswitch
LoopVectorize Revert r347934 "[SCEV] Guard movement of insertion point for loop-invariants" 2018-12-05 23:13:50 +00:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
LowerTypeTests
Mem2Reg [Mem2Reg] Fix nondeterministic corner case 2018-11-30 19:20:02 +00:00
MemCpyOpt
MergeFunc [MergeFuncs] Generate alias instead of thunk if possible 2018-11-21 19:37:19 +00:00
MergeICmps [MergeICmps] Do not perform the transformation if GEP is used outside of block 2018-11-05 18:16:32 +00:00
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN [NewGVN] Make sure we do not add a user to itself. 2018-11-07 17:20:07 +00:00
ObjCARC
PartiallyInlineLibCalls
PGOProfile [PGO] Exit early if all count values are zero 2018-11-07 23:51:20 +00:00
PhaseOrdering
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate [PatternMatch] Handle undef vectors consistently 2018-11-20 16:08:19 +00:00
Reg2Mem
RewriteStatepointsForGC
SafeStack
SampleProfile
ScalarizeMaskedMemIntrin/X86
Scalarizer [PM] Port Scalarizer to the new pass manager. 2018-11-21 14:00:17 +00:00
SCCP [IPSCCP] Use input operand instead of OriginalOp for ssa_copy. 2018-11-25 16:32:02 +00:00
SeparateConstOffsetFromGEP
SimpleLoopUnswitch Update MemorySSA in SimpleLoopUnswitch. 2018-12-04 14:23:37 +00:00
SimplifyCFG [SimplifyCFG] add tests for cross block compare folding; NFC 2018-12-03 16:55:29 +00:00
Sink
SLPVectorizer Add common check prefix. NFCI. 2018-12-04 14:32:42 +00:00
SpeculateAroundPHIs
SpeculativeExecution
SROA [SROA] Use offset sizes from the DataLayout instead of the pointer siezes. 2018-10-30 11:15:04 +00:00
StraightLineStrengthReduce [SLSR] use 'match' to simplify code; NFC 2018-10-23 14:07:39 +00:00
StripDeadPrototypes
StripSymbols
StructurizeCFG StructurizeCFG: Simplify inserted PHI nodes 2018-10-17 15:37:41 +00:00
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter
Util [ICP] Remove incompatible attributes at indirect-call promoted callsites. 2018-11-26 22:03:52 +00:00
WholeProgramDevirt