llvm/lib/CodeGen
Chris Lattner a850446a0b Compile this:
short test4(unsigned X) {
  return (X >> 16);
}

to:

_test4:
        movl 4(%esp), %eax
        sarl $16, %eax
        ret

instead of:

_test4:
        movl $-65536, %eax
        andl 4(%esp), %eax
        sarl $16, %eax
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28171 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-08 20:51:54 +00:00
..
SelectionDAG Compile this: 2006-05-08 20:51:54 +00:00
AsmPrinter.cpp Fix some loose ends in MASM support. 2006-05-06 21:27:14 +00:00
BranchFolding.cpp
DwarfWriter.cpp Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. 2006-05-03 01:29:57 +00:00
ELFWriter.cpp Suck block address tracking out of targets into the JIT Emitter. This 2006-05-03 17:10:41 +00:00
IntrinsicLowering.cpp
LiveInterval.cpp
LiveIntervalAnalysis.cpp Move some methods out of MachineInstr into MachineOperand 2006-05-04 17:52:23 +00:00
LiveVariables.cpp Remove a bunch more dead V9 specific stuff 2006-05-04 01:26:39 +00:00
MachineBasicBlock.cpp Remove and simplify some more machineinstr/machineoperand stuff. 2006-05-04 18:16:01 +00:00
MachineDebugInfo.cpp Expand some code with temporary variables to rid ourselves of the warning 2006-04-13 18:29:58 +00:00
MachineFunction.cpp Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. 2006-05-03 01:29:57 +00:00
MachineInstr.cpp Final pass of minor cleanups for MachineInstr 2006-05-04 19:36:09 +00:00
Makefile
Passes.cpp
PHIElimination.cpp
PhysRegTracker.h
PrologEpilogInserter.cpp
RegAllocLinearScan.cpp
RegAllocLocal.cpp Move some methods out of MachineInstr into MachineOperand 2006-05-04 17:52:23 +00:00
RegAllocSimple.cpp Move some methods out of MachineInstr into MachineOperand 2006-05-04 17:52:23 +00:00
TwoAddressInstructionPass.cpp Move some methods out of MachineInstr into MachineOperand 2006-05-04 17:52:23 +00:00
UnreachableBlockElim.cpp
VirtRegMap.cpp Move some methods out of MachineInstr into MachineOperand 2006-05-04 17:52:23 +00:00
VirtRegMap.h Fix a latent bug that my spiller patch last week exposed: we were leaving 2006-05-01 22:03:24 +00:00