mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-17 18:31:04 +00:00
9e23336d0c
entry: 0x12049d0, LLVM BB @0x1201fd0, ID#0: Live Ins: %EAX %EDX %ECX %reg1031<def> = MOVPC32r 0 %reg1032<def> = ADD32ri %reg1031, <es:_GLOBAL_OFFSET_TABLE_>, %EFLAGS<imp-def> %reg1028<def> = MOV32rr %EAX %reg1029<def> = MOV32rr %EDX %reg1030<def> = MOV32rr %ECX %reg1027<def> = MOV8rm %reg0, 1, %reg0, 0, Mem:LD(1,1) [0x1201910 + 0] %reg1025<def> = MOV32rr %reg1029 %reg1026<def> = MOV32rr %reg1030 %reg1024<def> = MOV32rr %reg1028 The copies unnecessarily increase register pressure and it will end up requiring a physical register to be spilled. With -schedule-livein-copies: entry: 0x12049d0, LLVM BB @0x1201fa0, ID#0: Live Ins: %EAX %EDX %ECX %reg1031<def> = MOVPC32r 0 %reg1032<def> = ADD32ri %reg1031, <es:_GLOBAL_OFFSET_TABLE_>, %EFLAGS<imp-def> %reg1024<def> = MOV32rr %EAX %reg1025<def> = MOV32rr %EDX %reg1026<def> = MOV32rr %ECX %reg1027<def> = MOV8rm %reg0, 1, %reg0, 0, Mem:LD(1,1) [0x12018e0 + 0] Much better! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48307 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
ADT | ||
Analysis | ||
Assembly | ||
Bitcode | ||
CodeGen | ||
Config | ||
Debugger | ||
ExecutionEngine | ||
Support | ||
System | ||
Target | ||
Transforms | ||
AbstractTypeUser.h | ||
Argument.h | ||
AutoUpgrade.h | ||
BasicBlock.h | ||
CallGraphSCCPass.h | ||
CallingConv.h | ||
Constant.h | ||
Constants.h | ||
DerivedTypes.h | ||
Function.h | ||
GlobalAlias.h | ||
GlobalValue.h | ||
GlobalVariable.h | ||
InlineAsm.h | ||
InstrTypes.h | ||
Instruction.def | ||
Instruction.h | ||
Instructions.h | ||
IntrinsicInst.h | ||
Intrinsics.h | ||
Intrinsics.td | ||
IntrinsicsARM.td | ||
IntrinsicsCellSPU.td | ||
IntrinsicsPowerPC.td | ||
IntrinsicsX86.td | ||
LinkAllPasses.h | ||
LinkAllVMCore.h | ||
Linker.h | ||
LinkTimeOptimizer.h | ||
Module.h | ||
ModuleProvider.h | ||
ParameterAttributes.h | ||
Pass.h | ||
PassAnalysisSupport.h | ||
PassManager.h | ||
PassManagers.h | ||
PassSupport.h | ||
SymbolTableListTraits.h | ||
Type.h | ||
TypeSymbolTable.h | ||
Use.h | ||
User.h | ||
Value.h | ||
ValueSymbolTable.h |