llvm-6502/test/Transforms
Dinesh Dwivedi d10a54f07f Added inst combine transforms for single bit tests from Chris's note
if ((x & C) == 0) x |= C becomes x |= C
if ((x & C) != 0) x ^= C becomes x &= ~C
if ((x & C) == 0) x ^= C becomes x |= C
if ((x & C) != 0) x &= ~C becomes x &= ~C
if ((x & C) == 0) x &= ~C becomes nothing

Z3 Verifications code for above transform
http://rise4fun.com/Z3/Pmsh

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208848 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-15 06:01:33 +00:00
..
ADCE
AddDiscriminators Fix bug 19437 - Only add discriminators for DWARF 4 and above. 2014-04-17 22:33:50 +00:00
ArgumentPromotion IR: Conservatively verify inalloca arguments 2014-04-30 17:22:00 +00:00
AtomicExpandLoadLinked/ARM Atomics: promote ARM's IR-based atomics pass to CodeGen. 2014-04-17 18:22:47 +00:00
BBVectorize Allow vectorization of bit intrinsics in BB Vectorizer. 2014-04-25 03:33:48 +00:00
BranchFolding
CodeExtractor
CodeGenPrepare CodeGenPrep: sink extends of illegal types into use block. 2014-03-13 13:36:25 +00:00
ConstantHoisting Move test from r207969 to another folder and rename it. 2014-05-05 18:10:15 +00:00
ConstantMerge Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
DebugIR
EarlyCSE
FunctionAttrs
GCOVProfiling
GlobalDCE Convert test to FileCheck. 2014-05-13 00:07:46 +00:00
GlobalMerge ARM64: initial backend import 2014-03-29 10:18:08 +00:00
GlobalOpt IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
GVN [GVN] Pass the phi-translated address of a load instead of the untranslated 2014-05-02 17:59:17 +00:00
IndVarSimplify
Inline Revert test commit. Removed blank line. 2014-05-08 12:54:43 +00:00
InstCombine Added inst combine transforms for single bit tests from Chris's note 2014-05-15 06:01:33 +00:00
InstSimplify InstSimplify: Optimize signed icmp of -(zext V) 2014-05-14 20:16:28 +00:00
Internalize Convert test to FileCheck. 2014-05-13 00:31:31 +00:00
IPConstantProp
JumpThreading
LCSSA
LICM
LoopDeletion
LoopIdiom
LoopReroll
LoopRotate
LoopSimplify
LoopStrengthReduce [LSR] Add llc testcase for r207271/r207569. 2014-05-02 23:49:01 +00:00
LoopUnroll Move late partial-unrolling thresholds into the processor definitions 2014-05-08 09:14:44 +00:00
LoopUnswitch
LoopVectorize [Test] Trim unnecessary .c and .cpp from config.suffix in lit.local.cfg 2014-05-12 19:57:31 +00:00
LowerAtomic IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
LowerExpectIntrinsic
LowerInvoke Remove LowerInvoke's obsolete "-enable-correct-eh-support" option 2014-03-20 19:54:47 +00:00
LowerSwitch
Mem2Reg
MemCpyOpt Treat lifetime.start'd memory like we treat freshly alloca'd memory. Patch by Björn Steinbrink! 2014-03-26 23:45:15 +00:00
MergeFunc IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
MetaRenamer Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00
ObjCARC Fix use_iterator crash in ObjCArc from r203364 2014-03-18 22:32:43 +00:00
PhaseOrdering
PruneEH
Reassociate
Reg2Mem
SampleProfile Tolerate unmangled names in sample profiles. 2014-03-18 12:03:12 +00:00
Scalarizer
ScalarRepl Fix PR18800. llvm intrinsic memcpy takes 5 arguments void @llvm.memcpy.p0i8.p0i8.i32(i8* <dest>, i8* <src>, i32 <len>, i32 <align>, i1 <isvolatile>).The test case incorrectly uses the old format resulting in isVolatile function in MemIntrinsic to crash during SROA transformation.Modified the test case to use correct signature of memcpy and memset. 2014-03-13 04:50:29 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX Add an optimization that does CSE in a group of similar GEPs. 2014-05-01 18:38:36 +00:00
SimplifyCFG Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost 2014-05-09 17:02:46 +00:00
Sink Sink: Don't sink static allocas from the entry block 2014-03-21 15:51:51 +00:00
SLPVectorizer SLPVectorizer: When sorting by domination for CSE don't assert on unreachable code. 2014-05-09 23:28:49 +00:00
SROA
StripSymbols
StructurizeCFG
TailCallElim Improve 'tail' call marking in TRE. A bootstrap of clang goes from 375k calls marked tail in the IR to 470k, however this improvement does not carry into an improvement of the call/jmp ratio on x86. The most common pattern is a tail call + br to a block with nothing but a 'ret'. 2014-05-05 23:59:03 +00:00
TailDup