llvm-6502/include/llvm/CodeGen
Bill Wendling 0f940c95d4 Initial commit of the machine code LICM pass. It successfully hoists this:
_foo:
        li r2, 0
LBB1_1: ; bb
        li r5, 0
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr 

to:

_foo:
        li r2, 0
        li r5, 0
LBB1_1: ; bb
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr

ZOMG!! :-)

Moar to come...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44687 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-07 21:42:31 +00:00
..
AsmPrinter.h Fix PIC jump table codegen on x86-32/linux. In fact, such thing should be applied 2007-11-14 09:18:41 +00:00
BreakCriticalMachineEdge.h Wow. I definitely shouldn't write code when I'm tird. 2007-11-13 19:56:28 +00:00
CallingConvLower.h
Collector.h
CollectorMetadata.h
Collectors.h
DwarfWriter.h
ELFRelocation.h
FileWriters.h
IntrinsicLowering.h
LinkAllCodegenComponents.h Remove simple scheduler. 2007-10-01 20:44:07 +00:00
LiveInterval.h Replace the odd kill# hack with something less fragile. 2007-11-29 09:49:23 +00:00
LiveIntervalAnalysis.h Fix for PR1831: if all defs of an interval are re-materializable, then it's a preferred spill candiate. 2007-12-06 00:01:56 +00:00
LiveVariables.h Live interval splitting: 2007-11-17 00:40:40 +00:00
MachineBasicBlock.h
MachineCodeEmitter.h
MachineConstantPool.h
MachineDominators.h Add accessor for getting the underlying templated type. This is necessary for templated LoopInfo. 2007-11-27 03:33:40 +00:00
MachineFrameInfo.h
MachineFunction.h
MachineFunctionPass.h
MachineInstr.h Shrinkfy. 2007-11-17 00:31:16 +00:00
MachineInstrBuilder.h Clean up sub-register implementation by moving subReg information back to 2007-11-14 07:59:08 +00:00
MachineJumpTableInfo.h Compile fix. 2007-11-12 13:43:23 +00:00
MachineLocation.h
MachineLoopInfo.h Fix a stupid error that Chris pointed out. 2007-12-07 04:04:55 +00:00
MachineModuleInfo.h Provide a way to update DescGlobals cache directly. 2007-11-30 00:51:33 +00:00
MachinePassRegistry.h
MachineRelocation.h
MachORelocation.h
Passes.h Initial commit of the machine code LICM pass. It successfully hoists this: 2007-12-07 21:42:31 +00:00
RegAllocRegistry.h
RegisterCoalescer.h Cosmetic. 2007-10-12 08:40:44 +00:00
RegisterScavenging.h
RuntimeLibcalls.h More ppcf128 issues (maybe the last)? 2007-10-19 00:59:18 +00:00
SchedGraphCommon.h
ScheduleDAG.h If a node that defines a physical register that is expensive to copy. The 2007-10-05 01:39:18 +00:00
SchedulerRegistry.h
SelectionDAG.h Unify CALLSEQ_{START,END}. They take 4 parameters: the chain, two stack 2007-11-13 00:44:25 +00:00
SelectionDAGISel.h
SelectionDAGNodes.h Fix a typo in a comment. 2007-11-19 15:36:19 +00:00
SSARegMap.h Clean up sub-register implementation by moving subReg information back to 2007-11-14 07:59:08 +00:00
ValueTypes.h Fix some load/store logic that would be wrong for 2007-11-09 08:57:19 +00:00
ValueTypes.td