llvm-6502/lib/Transforms/Scalar
Chris Lattner 8d96964e29 Generalize not and neg comparison testers to allow constant to be considered not'able and neg'able. This
allows optimization of this:
int %test4(int %A, int %B) {
        %a = xor int %A, -1
        %c = and int %a, 5    ; 5 = ~c2
        %d = xor int %c, -1
        ret int %d
}

into this:
int %test4(int %A, int %B) {            ; No predecessors!
        %c.demorgan = or int %A, -6             ; <int> [#uses=1]
        ret int %c.demorgan
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5736 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 23:06:50 +00:00
..
ADCE.cpp Rename Instruction::hasSideEffects() -> mayWriteToMemory() 2003-02-24 20:48:32 +00:00
BreakCriticalEdges.cpp BreakCriticalEdges should update dominance frontier information as well as 2002-10-31 02:44:36 +00:00
ConstantProp.cpp - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to 2002-10-21 20:00:28 +00:00
CorrelatedExprs.cpp Fix spelling error 2002-11-08 23:18:37 +00:00
DCE.cpp - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to 2002-10-21 20:00:28 +00:00
DecomposeMultiDimRefs.cpp Updates to work with recent Statistic's changes: 2002-10-01 22:38:41 +00:00
GCSE.cpp Fix typo 2003-02-01 04:50:59 +00:00
IndVarSimplify.cpp - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to 2002-10-21 20:00:28 +00:00
InstructionCombining.cpp Generalize not and neg comparison testers to allow constant to be considered not'able and neg'able. This 2003-03-10 23:06:50 +00:00
LICM.cpp Convert LICM over to use AliasSetTracker. Besides being nicer, this automatically 2003-03-03 23:32:45 +00:00
Makefile *** empty log message *** 2002-07-23 17:52:38 +00:00
PiNodeInsertion.cpp - Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to 2002-10-21 20:00:28 +00:00
Reassociate.cpp Rename Instruction::hasSideEffects() -> mayWriteToMemory() 2003-02-24 20:48:32 +00:00
SCCP.cpp Make sure to _delete_ memory allocated by worklists 2002-11-04 02:54:22 +00:00
SimplifyCFG.cpp Updates to work with recent Statistic's changes: 2002-10-01 22:38:41 +00:00
SymbolStripping.cpp - Eliminated the deferred symbol table stuff in Module & Function, it really 2002-11-20 18:36:02 +00:00