| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AsmParser/ | H | - | - | 1,675 | 1,282 | |
| Disassembler/ | H | - | - | 362 | 288 | |
| MCTargetDesc/ | H | - | - | 2,058 | 1,526 | |
| TargetInfo/ | H | - | - | 68 | 40 | |
| CMakeLists.txt | H A D | 05-Sep-2023 | 1.3 KiB | 54 | 46 | |
| DelaySlotFiller.cpp | H A D | 17-Dec-2024 | 15 KiB | 514 | 347 | |
| LeonFeatures.td | H A D | 19-Aug-2024 | 2.8 KiB | 64 | 53 | |
| LeonPasses.cpp | H A D | 19-Aug-2024 | 12.8 KiB | 161 | 84 | |
| LeonPasses.h | H A D | 19-Aug-2024 | 3.3 KiB | 83 | 52 | |
| README.txt | H A D | 26-Feb-2016 | 1.5 KiB | 59 | 47 | |
| Sparc.h | H A D | 19-Aug-2024 | 6.1 KiB | 191 | 161 | |
| Sparc.td | H A D | 02-Aug-2024 | 9.1 KiB | 217 | 183 | |
| SparcASITags.td | H A D | 09-Jun-2024 | 1.9 KiB | 53 | 46 | |
| SparcAsmPrinter.cpp | H A D | 20-Aug-2024 | 16.3 KiB | 512 | 415 | |
| SparcCallingConv.td | H A D | 18-Oct-2022 | 5.9 KiB | 148 | 133 | |
| SparcFrameLowering.cpp | H A D | 18-Nov-2024 | 12.4 KiB | 390 | 260 | |
| SparcFrameLowering.h | H A D | 18-Oct-2024 | 2.5 KiB | 69 | 33 | |
| SparcISelDAGToDAG.cpp | H A D | 22-Nov-2024 | 14.2 KiB | 408 | 279 | |
| SparcISelLowering.cpp | H A D | 23-Jan-2025 | 138.6 KiB | 3,700 | 2,747 | |
| SparcISelLowering.h | H A D | 20-Jan-2025 | 10.2 KiB | 232 | 162 | |
| SparcInstr64Bit.td | H A D | 22-Nov-2024 | 21.3 KiB | 515 | 427 | |
| SparcInstrAliases.td | H A D | 29-Aug-2024 | 26.8 KiB | 658 | 518 | |
| SparcInstrFormats.td | H A D | 05-Sep-2023 | 10.7 KiB | 380 | 312 | |
| SparcInstrInfo.cpp | H A D | 22-Jan-2025 | 23.2 KiB | 661 | 528 | |
| SparcInstrInfo.h | H A D | 22-Jan-2025 | 4.6 KiB | 118 | 61 | |
| SparcInstrInfo.td | H A D | 17-Dec-2024 | 78.2 KiB | 1,950 | 1,678 | |
| SparcInstrVIS.td | H A D | 19-Jan-2019 | 11.1 KiB | 263 | 219 | |
| SparcMCInstLower.cpp | H A D | 27-Nov-2021 | 3.3 KiB | 107 | 74 | |
| SparcMachineFunctionInfo.cpp | H A D | 16-Apr-2022 | 737 | 21 | 9 | |
| SparcMachineFunctionInfo.h | H A D | 18-Jun-2020 | 2.1 KiB | 61 | 33 | |
| SparcPrefetchTags.td | H A D | 09-Jun-2024 | 1.3 KiB | 42 | 36 | |
| SparcRegisterInfo.cpp | H A D | 03-Nov-2024 | 7.7 KiB | 252 | 164 | |
| SparcRegisterInfo.h | H A D | 03-Nov-2024 | 1.7 KiB | 51 | 24 | |
| SparcRegisterInfo.td | H A D | 11-Feb-2024 | 15.1 KiB | 401 | 367 | |
| SparcSchedule.td | H A D | 23-Apr-2020 | 6.4 KiB | 124 | 117 | |
| SparcSubtarget.cpp | H A D | 18-Nov-2024 | 2.9 KiB | 87 | 44 | |
| SparcSubtarget.h | H A D | 11-Feb-2024 | 3.5 KiB | 106 | 64 | |
| SparcTargetMachine.cpp | H A D | 14-Nov-2024 | 8.5 KiB | 227 | 157 | |
| SparcTargetMachine.h | H A D | 14-Nov-2024 | 3.1 KiB | 89 | 56 | |
| SparcTargetObjectFile.cpp | H A D | 23-May-2020 | 1.9 KiB | 48 | 29 | |
| SparcTargetObjectFile.h | H A D | 07-Feb-2022 | 1.1 KiB | 35 | 18 |
README.txt
1To-do 2----- 3 4* Keep the address of the constant pool in a register instead of forming its 5 address all of the time. 6* We can fold small constant offsets into the %hi/%lo references to constant 7 pool addresses as well. 8* When in V9 mode, register allocate %icc[0-3]. 9* Add support for isel'ing UMUL_LOHI instead of marking it as Expand. 10* Emit the 'Branch on Integer Register with Prediction' instructions. It's 11 not clear how to write a pattern for this though: 12 13float %t1(int %a, int* %p) { 14 %C = seteq int %a, 0 15 br bool %C, label %T, label %F 16T: 17 store int 123, int* %p 18 br label %F 19F: 20 ret float undef 21} 22 23codegens to this: 24 25t1: 26 save -96, %o6, %o6 271) subcc %i0, 0, %l0 281) bne .LBBt1_2 ! F 29 nop 30.LBBt1_1: ! T 31 or %g0, 123, %l0 32 st %l0, [%i1] 33.LBBt1_2: ! F 34 restore %g0, %g0, %g0 35 retl 36 nop 37 381) should be replaced with a brz in V9 mode. 39 40* Same as above, but emit conditional move on register zero (p192) in V9 41 mode. Testcase: 42 43int %t1(int %a, int %b) { 44 %C = seteq int %a, 0 45 %D = select bool %C, int %a, int %b 46 ret int %D 47} 48 49* Emit MULX/[SU]DIVX instructions in V9 mode instead of fiddling 50 with the Y register, if they are faster. 51 52* Codegen bswap(load)/store(bswap) -> load/store ASI 53 54* Implement frame pointer elimination, e.g. eliminate save/restore for 55 leaf fns. 56* Fill delay slots 57 58* Use %g0 directly to materialize 0. No instruction is required. 59