llvm-6502/test/Transforms
Owen Anderson 26c5663283 Invert and-of-or into or-of-and when doing so would allow us to clear bits of the and's mask.
This can result in increased opportunities for store narrowing in code generation.  Update a number of
tests for this change.  This fixes <rdar://problem/8285027>.

Additionally, because this inverts the order of ors and ands, some patterns for optimizing or-of-and-of-or
no longer fire in instances where they did originally.  Add a simple transform which recaptures most of these
opportunities: if we have an or-of-constant-or and have failed to fold away the inner or, commute the order 
of the two ors, to give the non-constant or a chance for simplification instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113679 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11 05:48:06 +00:00
..
ADCE
ArgumentPromotion
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp remove some noise from tests. 2010-09-02 22:35:33 +00:00
CorrelatedValuePropagation Propagate non-local comparisons. Fixes PR1757. 2010-09-03 22:47:08 +00:00
DeadArgElim
DeadStoreElimination
FunctionAttrs
GlobalDCE
GlobalOpt fix PR8063, a crash in globalopt in the malloc analysis code. 2010-09-05 17:20:46 +00:00
GVN Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
IndVarSimplify more test cleanup 2010-09-02 22:38:56 +00:00
Inline
InstCombine Invert and-of-or into or-of-and when doing so would allow us to clear bits of the and's mask. 2010-09-11 05:48:06 +00:00
Internalize
IPConstantProp more test cleanup 2010-09-02 22:38:56 +00:00
JumpThreading Merge 2010-08-31-InfiniteRecursion.ll into crash.ll. 2010-08-31 20:27:17 +00:00
LCSSA
LICM fix PR8067, an over-aggressive assertion in LICM. 2010-09-06 05:11:24 +00:00
LoopDeletion
LoopIndexSplit
LoopRotate Teach loop rotate to hoist trivially invariant instructions 2010-09-06 01:10:22 +00:00
LoopSimplify Fix LoopSimplify to notify ScalarEvolution when splitting a loop backedge 2010-09-04 02:42:48 +00:00
LoopStrengthReduce Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
LoopUnroll Revert r113439, which relaxed the requirement that loops containing calls cannot be unrolled. After some discussion, 2010-09-09 20:02:23 +00:00
LoopUnswitch Fix loop unswitching's assumption that a code path which either 2010-09-01 21:46:45 +00:00
LowerAtomic
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
PartialSpecialize Fixed and reactivated a partial specialization test 2010-08-19 12:42:38 +00:00
PruneEH
Reassociate
ScalarRepl deepen my MMX/SRoA hack to avoid hurting non-x86 codegen. 2010-09-01 23:09:27 +00:00
SCCP
SimplifyCFG Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
SimplifyLibCalls
Sink
SRETPromotion
StripSymbols DIGlobalVariable can be used to encode debug info for globals that are directly folded into a constant by FE. 2010-08-25 18:52:02 +00:00
TailCallElim merge two tests. 2010-08-31 18:44:03 +00:00
TailDup The output of opt -stats must be sent to stderr. Patch by NAKAMURA Takumi! 2010-09-01 18:32:56 +00:00