llvm-6502/lib/CodeGen
Chris Lattner 588bbbffa1 Improve and elimination. On PPC, for:
bool %test(int %X) {
        %Y = and int %X, 8
        %Z = setne int %Y, 0
        ret bool %Z
}

we now generate this:

        rlwinm r2, r3, 0, 28, 28
        srwi r3, r2, 3

instead of this:

        rlwinm r2, r3, 0, 28, 28
        srwi r2, r2, 3
        rlwinm r3, r2, 0, 31, 31

I'll leave it to Nate to get it down to one instruction. :)

---------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21391 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 06:28:15 +00:00
..
SelectionDAG
AsmPrinter.cpp
BranchFolding.cpp
IntrinsicLowering.cpp
LiveInterval.cpp
LiveInterval.h
LiveIntervalAnalysis.cpp
LiveIntervalAnalysis.h
LiveVariables.cpp
MachineBasicBlock.cpp
MachineCodeEmitter.cpp
MachineFunction.cpp
MachineInstr.cpp
Makefile
Passes.cpp
PHIElimination.cpp
PhysRegTracker.h
PrologEpilogInserter.cpp
RegAllocIterativeScan.cpp
RegAllocLinearScan.cpp
RegAllocLocal.cpp
RegAllocSimple.cpp
TwoAddressInstructionPass.cpp
UnreachableBlockElim.cpp
VirtRegMap.cpp
VirtRegMap.h