llvm-6502/test/Transforms
Mayur Pandey ecdb0ab90f InstCombine: ((A & ~B) ^ (~A & B)) to A ^ B
Proof using CVC3 follows:
$ cat t.cvc
A, B : BITVECTOR(32);
QUERY BVXOR((A & ~B),(~A & B)) = BVXOR(A,B);
$ cvc3 t.cvc
Valid.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215974 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 08:19:19 +00:00
..
ADCE
AddDiscriminators
ArgumentPromotion
AtomicExpandLoadLinked/ARM
BBVectorize
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination Weak relaxing of the constraints on atomics in MemoryDependencyAnalysis 2014-08-18 22:18:11 +00:00
DebugIR
EarlyCSE
FunctionAttrs [optnone] Make the optnone attribute effective at suppressing function 2014-08-13 10:49:33 +00:00
GCOVProfiling
GlobalDCE Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
GlobalOpt GlobalOpt: Optimize in the face of insertvalue/extractvalue 2014-08-08 05:50:43 +00:00
GVN Answer to Philip Reames comments 2014-08-18 22:18:14 +00:00
IndVarSimplify
Inline Copy noalias metadata from call sites to inlined instructions 2014-08-14 21:09:37 +00:00
InstCombine InstCombine: ((A & ~B) ^ (~A & B)) to A ^ B 2014-08-19 08:19:19 +00:00
InstMerge
InstSimplify InstSimplify: Simplify (X - (0 - Y)) if the second sub is NUW 2014-07-31 04:49:18 +00:00
Internalize Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IPConstantProp
JumpThreading In LVI(Lazy Value Info), originally value on a BB can only be caculated once, 2014-08-11 05:02:04 +00:00
LCSSA
LICM
LoadCombine
LoopDeletion
LoopIdiom
LoopReroll
LoopRotate
LoopSimplify
LoopStrengthReduce
LoopUnroll
LoopUnswitch
LoopVectorize [LoopVectorizer] Enable support for floating-point subtraction reductions 2014-08-08 12:41:08 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
MetaRenamer Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
ObjCARC
PartiallyInlineLibCalls PartiallyInlineLibCalls: Check sqrt result type before transforming it. 2014-08-01 23:21:21 +00:00
PhaseOrdering
PruneEH
Reassociate [Reassociation] Add support for reassociation with unsafe algebra. 2014-08-14 15:23:01 +00:00
Reg2Mem
SampleProfile
Scalarizer
ScalarRepl
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG [SimplifyCFG] fix accessing deleted PHINodes in switch-to-table conversion. 2014-08-02 23:41:54 +00:00
Sink
SLPVectorizer SLPVectorizer: Use the type of the value loaded/stored to get the ABI alignment 2014-08-07 22:47:27 +00:00
SROA Fix a case in SROA where lifetime intrinsics could inhibit alloca promotion. In 2014-08-07 21:07:35 +00:00
StripSymbols
StructurizeCFG
TailCallElim
TailDup
Util utils: Fix segfault in flattencfg 2014-08-13 20:31:53 +00:00