Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
AsmParser/ | 03-May-2024 | - | 984 | 774 | ||
Disassembler/ | 03-May-2024 | - | 526 | 402 | ||
InstPrinter/ | 03-May-2024 | - | 279 | 202 | ||
MCTargetDesc/ | 03-May-2024 | - | 1,515 | 1,067 | ||
TargetInfo/ | 03-May-2024 | - | 68 | 41 | ||
CMakeLists.txt | D | 03-May-2024 | 1.2 KiB | 38 | 34 | |
DelaySlotFiller.cpp | D | 03-May-2024 | 14.1 KiB | 498 | 337 | |
LLVMBuild.txt | D | 03-May-2024 | 1 KiB | 37 | 33 | |
Makefile | D | 03-May-2024 | 822 | 25 | 10 | |
README.txt | D | 03-May-2024 | 1.5 KiB | 62 | 48 | |
Sparc.h | D | 03-May-2024 | 4.4 KiB | 137 | 108 | |
Sparc.td | D | 03-May-2024 | 3.9 KiB | 100 | 83 | |
SparcAsmPrinter.cpp | D | 03-May-2024 | 16.9 KiB | 466 | 378 | |
SparcCallingConv.td | D | 03-May-2024 | 5.4 KiB | 140 | 126 | |
SparcCodeEmitter.cpp | D | 03-May-2024 | 9.6 KiB | 281 | 211 | |
SparcFrameLowering.cpp | D | 03-May-2024 | 8.7 KiB | 263 | 184 | |
SparcFrameLowering.h | D | 03-May-2024 | 1.9 KiB | 61 | 29 | |
SparcISelDAGToDAG.cpp | D | 03-May-2024 | 7.6 KiB | 222 | 159 | |
SparcISelLowering.cpp | D | 03-May-2024 | 126 KiB | 3,217 | 2,410 | |
SparcISelLowering.h | D | 03-May-2024 | 8 KiB | 179 | 134 | |
SparcInstr64Bit.td | D | 03-May-2024 | 23.2 KiB | 574 | 478 | |
SparcInstrAliases.td | D | 03-May-2024 | 13 KiB | 326 | 257 | |
SparcInstrFormats.td | D | 03-May-2024 | 8.8 KiB | 331 | 264 | |
SparcInstrInfo.cpp | D | 03-May-2024 | 15.2 KiB | 447 | 337 | |
SparcInstrInfo.h | D | 03-May-2024 | 3.8 KiB | 101 | 53 | |
SparcInstrInfo.td | D | 03-May-2024 | 49 KiB | 1,228 | 1,054 | |
SparcInstrVIS.td | D | 03-May-2024 | 11.1 KiB | 264 | 220 | |
SparcJITInfo.cpp | D | 03-May-2024 | 11.4 KiB | 327 | 214 | |
SparcJITInfo.h | D | 03-May-2024 | 2.1 KiB | 68 | 25 | |
SparcMCInstLower.cpp | D | 03-May-2024 | 3.3 KiB | 110 | 76 | |
SparcMachineFunctionInfo.cpp | D | 03-May-2024 | 448 | 15 | 3 | |
SparcMachineFunctionInfo.h | D | 03-May-2024 | 1.8 KiB | 57 | 29 | |
SparcRegisterInfo.cpp | D | 03-May-2024 | 7.1 KiB | 212 | 145 | |
SparcRegisterInfo.h | D | 03-May-2024 | 1.8 KiB | 59 | 28 | |
SparcRegisterInfo.td | D | 03-May-2024 | 8.1 KiB | 212 | 190 | |
SparcRelocations.h | D | 03-May-2024 | 1.4 KiB | 57 | 20 | |
SparcSelectionDAGInfo.cpp | D | 03-May-2024 | 746 | 25 | 8 | |
SparcSelectionDAGInfo.h | D | 03-May-2024 | 824 | 32 | 12 | |
SparcSubtarget.cpp | D | 03-May-2024 | 3.3 KiB | 110 | 56 | |
SparcSubtarget.h | D | 03-May-2024 | 3.1 KiB | 93 | 58 | |
SparcTargetMachine.cpp | D | 03-May-2024 | 3.7 KiB | 102 | 68 | |
SparcTargetMachine.h | D | 03-May-2024 | 2.8 KiB | 84 | 56 | |
SparcTargetObjectFile.cpp | D | 03-May-2024 | 1.6 KiB | 44 | 25 | |
SparcTargetObjectFile.h | D | 03-May-2024 | 996 | 36 | 19 | |
SparcTargetStreamer.h | D | 03-May-2024 | 1.4 KiB | 50 | 28 |
README.txt
1 2To-do 3----- 4 5* Keep the address of the constant pool in a register instead of forming its 6 address all of the time. 7* We can fold small constant offsets into the %hi/%lo references to constant 8 pool addresses as well. 9* When in V9 mode, register allocate %icc[0-3]. 10* Add support for isel'ing UMUL_LOHI instead of marking it as Expand. 11* Emit the 'Branch on Integer Register with Prediction' instructions. It's 12 not clear how to write a pattern for this though: 13 14float %t1(int %a, int* %p) { 15 %C = seteq int %a, 0 16 br bool %C, label %T, label %F 17T: 18 store int 123, int* %p 19 br label %F 20F: 21 ret float undef 22} 23 24codegens to this: 25 26t1: 27 save -96, %o6, %o6 281) subcc %i0, 0, %l0 291) bne .LBBt1_2 ! F 30 nop 31.LBBt1_1: ! T 32 or %g0, 123, %l0 33 st %l0, [%i1] 34.LBBt1_2: ! F 35 restore %g0, %g0, %g0 36 retl 37 nop 38 391) should be replaced with a brz in V9 mode. 40 41* Same as above, but emit conditional move on register zero (p192) in V9 42 mode. Testcase: 43 44int %t1(int %a, int %b) { 45 %C = seteq int %a, 0 46 %D = select bool %C, int %a, int %b 47 ret int %D 48} 49 50* Emit MULX/[SU]DIVX instructions in V9 mode instead of fiddling 51 with the Y register, if they are faster. 52 53* Codegen bswap(load)/store(bswap) -> load/store ASI 54 55* Implement frame pointer elimination, e.g. eliminate save/restore for 56 leaf fns. 57* Fill delay slots 58 59* Implement JIT support 60 61* Use %g0 directly to materialize 0. No instruction is required. 62