llvm/lib/CodeGen
Chris Lattner 5ae7911b24 Turn (X^C1) == C2 into X == C1^C2 iff X&~C1 = 0 (and move a function)
This happens all the time on PPC for bool values, e.g. eliminating a xori
in inverted-bool-compares.ll.

This should be added to the dag combiner as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23403 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-23 00:55:52 +00:00
..
SelectionDAG Turn (X^C1) == C2 into X == C1^C2 iff X&~C1 = 0 (and move a function) 2005-09-23 00:55:52 +00:00
AsmPrinter.cpp Culling out use of unions for converting FP to bits and vice versa. 2005-08-17 19:34:49 +00:00
BranchFolding.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
ELFWriter.cpp Fix VC++ constant truncation warning. 2005-08-19 16:19:21 +00:00
IntrinsicLowering.cpp Eliminate all remaining tabs and trailing spaces. 2005-07-27 06:12:32 +00:00
LiveInterval.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
LiveIntervalAnalysis.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
LiveVariables.cpp Implement LiveVariables.h change 2005-08-24 00:09:33 +00:00
MachineBasicBlock.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
MachineCodeEmitter.cpp new is not a valid default anywhere, so make this pure virtual 2005-07-28 18:13:59 +00:00
MachineFunction.cpp If a function has live ins/outs, print them 2005-08-31 22:34:59 +00:00
MachineInstr.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
Passes.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
PHIElimination.cpp adjust to new live variables interface 2005-08-23 23:42:17 +00:00
PhysRegTracker.h Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr 2004-02-23 06:10:13 +00:00
PrologEpilogInserter.cpp Fix a bug in my previous patch that was using the wrong iterator. This fixes 2005-08-29 00:10:46 +00:00
RegAllocIterativeScan.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
RegAllocLinearScan.cpp Expose the LiveInterval interfaces as public headers. 2005-09-21 04:19:09 +00:00
RegAllocLocal.cpp adjust to new live variables interface 2005-08-23 23:42:17 +00:00
RegAllocSimple.cpp Convert tabs to spaces 2005-04-22 04:01:18 +00:00
TwoAddressInstructionPass.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
UnreachableBlockElim.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
VirtRegMap.cpp Teach the local spiller to turn stack slot loads into register-register copies 2005-09-19 06:56:21 +00:00
VirtRegMap.h Remove trailing whitespace 2005-04-21 22:36:52 +00:00