1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00
llvm-mirror/test/Transforms
Anna Thomas 7e0ac12473 InstCombine rule to fold trunc when value available
Summary:
This instcombine rule folds away trunc operations that have value available from a prior load or store.
This kind of code can be generated as a result of GVN widening the load or from source code as well.

Reviewers: reames, majnemer, sanjoy

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D21246

llvm-svn: 273608
2016-06-23 20:22:22 +00:00
..
ADCE
AddDiscriminators [PM] Port Add discriminator pass to new PM 2016-06-15 21:51:30 +00:00
AlignmentFromAssumptions [PM] Port AlignmentFromAssumptions to the new PM. 2016-06-15 06:18:01 +00:00
ArgumentPromotion Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
AtomicExpand Support expanding partial-word cmpxchg to full-word cmpxchg in AtomicExpandPass. 2016-06-17 18:11:48 +00:00
BBVectorize [BBVectorize] Don't vectorize selects with a scalar condition and vector operands. 2016-05-26 18:43:57 +00:00
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
CrossDSOCFI
DCE
DeadArgElim [PM] Port DeadArgumentElimination to the new PM 2016-06-12 09:16:39 +00:00
DeadStoreElimination Allow DeadStoreElimination to track combinations of partial later wrties 2016-06-23 13:46:39 +00:00
EarlyCSE [EarlyCSE] Fold invariant loads 2016-06-16 20:47:57 +00:00
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs [PM] Port ReversePostOrderFunctionAttrs to the new PM 2016-06-12 07:48:51 +00:00
FunctionImport
GCOVProfiling [PM] Port GCOVProfiler pass to the new pass manager 2016-06-05 05:12:23 +00:00
GlobalDCE
GlobalMerge
GlobalOpt IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
GuardWidening
GVN [GVN] Preserve !range metadata when PRE'ing loads 2016-05-27 19:03:10 +00:00
IndVarSimplify Upgrade other old memset/memcpy signatures in tests causing buildbot failures with rL273568. 2016-06-23 16:34:52 +00:00
InferFunctionAttrs
Inline Upgrade old memset/memcpy signatures (without isVolatile argument) in tests 2016-06-22 15:16:06 +00:00
InstCombine InstCombine rule to fold trunc when value available 2016-06-23 20:22:22 +00:00
InstMerge [PM] Port MergedLoadStoreMotion to the new pass manager, take two. 2016-06-17 19:10:09 +00:00
InstSimplify [ValueTracking] improve ComputeNumSignBits for vector constants 2016-06-22 19:20:59 +00:00
Internalize [Internalize] Test that __stack_chk_{guard, fail} are not internalized. 2016-06-05 19:08:54 +00:00
IPConstantProp
IRCE
JumpThreading Revert r272891 "[JumpThreading] Prevent dangling pointer problems in BranchProbabilityInfo" 2016-06-16 16:25:53 +00:00
LCSSA [PM] Port LCSSA to the new PM. 2016-06-09 19:44:46 +00:00
LICM [ValueTracking] Calls to @llvm.assume always return 2016-06-14 20:23:16 +00:00
LoadCombine [LoadCombine] Combine Loads formed from GEPS with negative indexes 2016-06-19 06:14:56 +00:00
LoopDataPrefetch [Kryo] Enable loop prefetcher. 2016-06-21 22:47:56 +00:00
LoopDeletion
LoopDistribute [LAA] Enable symbolic stride speculation for all LAA clients 2016-06-17 22:35:41 +00:00
LoopIdiom Reapply "[LoopIdiom] Don't remove dead operands manually" 2016-06-20 16:03:25 +00:00
LoopInterchange
LoopLoadElim [LAA] Enable symbolic stride speculation for all LAA clients 2016-06-17 22:35:41 +00:00
LoopReroll Be wary of abnormal exits from loop when exploiting UB 2016-06-09 01:13:59 +00:00
LoopRotate
LoopSimplify Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
LoopSimplifyCFG
LoopStrengthReduce AMDGPU: Run pointer optimization passes 2016-06-15 00:11:01 +00:00
LoopUnroll [LoopUnrollAnalyzer] Fix a bug in UnrolledInstAnalyzer::visitLoad. 2016-06-23 14:31:31 +00:00
LoopUnswitch Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
LoopVectorize reverted the prev commit due to assertion failure 2016-06-21 12:10:11 +00:00
LoopVersioning [LoopVer] Update all existing PHIs in the exit block 2016-06-14 09:38:54 +00:00
LoopVersioningLICM
LowerAtomic
LowerBitSets
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg [PM] Port Mem2Reg to the new pass manager. 2016-06-14 03:22:22 +00:00
MemCpyOpt [PM] Port MemCpyOpt to the new PM. 2016-06-14 02:44:55 +00:00
MergeFunc Fix a crash in MergeFunctions related to ordering of weak/strong functions 2016-05-31 17:20:23 +00:00
MetaRenamer
NameAnonFunctions
NaryReassociate
ObjCARC Form objc_storeStrong in the presence of bitcasts. 2016-05-27 02:13:53 +00:00
PartiallyInlineLibCalls
PGOProfile Fix PR28219: Use profile summary from reader and not compute it 2016-06-21 19:29:49 +00:00
PhaseOrdering
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [RewriteStatepointsForGC] All constant should have null base pointer 2016-05-27 13:13:59 +00:00
SafeStack [safestack] Sink unsafe address computation to each use. 2016-06-16 22:34:04 +00:00
SampleProfile Pass AssumptionCacheTracker from SampleProfileLoader to Inliner 2016-06-20 20:53:40 +00:00
Scalarizer PR27938: Don't remove valid DebugLoc in Scalarizer 2016-06-16 10:48:54 +00:00
SCCP [SCCP] Don't assume all Constants are ConstantInt 2016-06-23 00:14:29 +00:00
SeparateConstOffsetFromGEP
SimplifyCFG SimplifyCFG is able to detect the pattern: 2016-06-16 04:44:25 +00:00
Sink
SLPVectorizer [SLPVectorizer][X86] Added ceil/floor/nearbyint/rint/trunc vectorization tests 2016-06-22 14:07:46 +00:00
SpeculativeExecution
SROA
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols Fix strip-dead-debug-info test if path contains "bar". 2016-06-16 19:39:55 +00:00
StructurizeCFG
TailCallElim
Util [MemorySSA] Port to new pass manager 2016-06-01 21:30:40 +00:00
WholeProgramDevirt [PM] Port WholeProgramDevirt to the new pass manager. 2016-06-14 21:44:19 +00:00