Overhaul Cell SPU's addressing mode internals so that there are now
only two addressing mode nodes, SPUaform and SPUindirect (vice the three previous ones, SPUaform, SPUdform and SPUxform). This improves code somewhat because we now avoid using reg+reg addressing when it can be avoided. It also simplifies the address selection logic, which was the main point for doing this. Also, for various global variables that would be loaded using SPU's A-form addressing, prefer D-form offs[reg] addressing, keeping the base in a register if the variable is used more than once. llvm-svn: 46483
Showing
- llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp 10 additions, 4 deletionsllvm/lib/Target/CellSPU/SPUAsmPrinter.cpp
- llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp 180 additions, 228 deletionsllvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
- llvm/lib/Target/CellSPU/SPUISelLowering.cpp 103 additions, 37 deletionsllvm/lib/Target/CellSPU/SPUISelLowering.cpp
- llvm/lib/Target/CellSPU/SPUISelLowering.h 1 addition, 2 deletionsllvm/lib/Target/CellSPU/SPUISelLowering.h
- llvm/lib/Target/CellSPU/SPUInstrFormats.td 4 additions, 0 deletionsllvm/lib/Target/CellSPU/SPUInstrFormats.td
- llvm/lib/Target/CellSPU/SPUInstrInfo.td 261 additions, 389 deletionsllvm/lib/Target/CellSPU/SPUInstrInfo.td
- llvm/lib/Target/CellSPU/SPUNodes.td 5 additions, 16 deletionsllvm/lib/Target/CellSPU/SPUNodes.td
- llvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp 2 additions, 4 deletionsllvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp
- llvm/test/CodeGen/CellSPU/call_indirect.ll 7 additions, 8 deletionsllvm/test/CodeGen/CellSPU/call_indirect.ll
- llvm/test/CodeGen/CellSPU/extract_elt.ll 1 addition, 1 deletionllvm/test/CodeGen/CellSPU/extract_elt.ll
- llvm/test/CodeGen/CellSPU/fcmp.ll 1 addition, 1 deletionllvm/test/CodeGen/CellSPU/fcmp.ll
- llvm/test/CodeGen/CellSPU/struct_1.ll 66 additions, 57 deletionsllvm/test/CodeGen/CellSPU/struct_1.ll
- llvm/test/CodeGen/CellSPU/struct_2.ll 0 additions, 122 deletionsllvm/test/CodeGen/CellSPU/struct_2.ll
- llvm/test/CodeGen/CellSPU/vec_const.ll 4 additions, 5 deletionsllvm/test/CodeGen/CellSPU/vec_const.ll
Loading
Please register or sign in to comment