llvm-6502/test/Transforms
Sanjoy Das 0799eb1140 Exploit dereferenceable_or_null attribute in LICM pass
Summary:
Allow hoisting of loads from values marked with dereferenceable_or_null
attribute. For values marked with the attribute perform
context-sensitive analysis to determine whether it's known-non-null or
not.

Patch by Artur Pilipenko!

Reviewers: hfinkel, sanjoy, reames

Reviewed By: reames

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237593 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-18 18:07:00 +00:00
..
ADCE
AddDiscriminators IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
AlignmentFromAssumptions
ArgumentPromotion IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
AtomicExpand/ARM
BBVectorize Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
ConstantHoisting
ConstantMerge
ConstProp [ConstantFolding] Fix wrong folding of intrinsic 'convert.from.fp16'. 2015-05-14 18:01:48 +00:00
CorrelatedValuePropagation CVP: Improve handling of Selects used as incoming PHI values 2015-05-12 22:31:47 +00:00
DeadArgElim IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DeadStoreElimination IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
EarlyCSE Preserve the order of READ_REGISTER and WRITE_REGISTER 2015-05-18 16:42:10 +00:00
Float2Int
FunctionAttrs
GCOVProfiling IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
GlobalDCE
GlobalOpt IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
GVN Update BasicAliasAnalysis to understand that nothing aliases with undef values. 2015-05-05 18:10:49 +00:00
IndVarSimplify
Inline Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
InstCombine Reapply r237520 with another fix for infinite looping 2015-05-17 08:27:27 +00:00
InstMerge
InstSimplify
Internalize
IPConstantProp Skip extra LLVM IR assemble/disassemble steps in some tests 2015-04-24 18:06:09 +00:00
IRCE
JumpThreading [JumpThreading] Simplify comparisons when simplifying branches 2015-05-07 00:19:14 +00:00
LCSSA [opaque pointer type] Add textual IR support for explicit type parameter to the invoke instruction 2015-04-24 19:32:54 +00:00
LICM Exploit dereferenceable_or_null attribute in LICM pass 2015-05-18 18:07:00 +00:00
LoadCombine
LoopDeletion
LoopDistribute [LoopAccesses] Rearrange printed lines in -analyze 2015-05-18 15:36:57 +00:00
LoopIdiom Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LoopInterchange Add support to interchange loops with reductions. 2015-04-23 04:51:44 +00:00
LoopReroll
LoopRotate IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LoopSimplify
LoopStrengthReduce [NoTTI] reject negative scale in addressing mode 2015-05-08 18:07:24 +00:00
LoopUnroll Add another InstCombine pass after LoopUnroll. 2015-05-14 22:02:54 +00:00
LoopUnswitch Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LoopVectorize NFC - Test case invokes llc on a file rather than redirected from a file. 2015-05-15 15:29:53 +00:00
LowerAtomic
LowerBitSets Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
LowerExpectIntrinsic
LowerInvoke
LowerSwitch Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
Mem2Reg IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MemCpyOpt [MemCpyOpt] Turn memcpy from just-memset'd source into memset. 2015-05-16 01:32:26 +00:00
MergeFunc MergeFunctions: Two different sized allocas are *not* the same 2015-05-12 21:42:22 +00:00
MetaRenamer
NaryReassociate [NaryReassociate] avoid running forever 2015-05-13 18:12:24 +00:00
ObjCARC IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
PartiallyInlineLibCalls
PhaseOrdering
PlaceSafepoints [PlaceSafepoints] Fix a bug that came in with rL236672. 2015-05-15 00:26:21 +00:00
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [Statepoints] Support for "patchable" statepoints. 2015-05-12 23:52:24 +00:00
SampleProfile Add function entry counts from sample profiles. 2015-05-13 17:04:29 +00:00
Scalarizer IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
ScalarRepl IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX [ValueTracking] refactor: extract method haveNoCommonBitsSet 2015-05-14 23:53:19 +00:00
SimplifyCFG Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
Sink
SLPVectorizer Let llc and opt override "-target-cpu" and "-target-features" via command line 2015-05-06 23:54:14 +00:00
SpeculativeExecution Add a speculative execution pass 2015-05-15 17:54:48 +00:00
SROA
StraightLineStrengthReduce [SLSR] handle (B | i) * S 2015-05-15 17:07:48 +00:00
StripSymbols IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
StructurizeCFG
TailCallElim
TailDup
Util Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00