Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
AsmParser/ | 23-Nov-2023 | - | 1,319 | 1,065 | ||
Disassembler/ | 23-Nov-2023 | - | 699 | 566 | ||
InstPrinter/ | 23-Nov-2023 | - | 282 | 217 | ||
MCTargetDesc/ | 23-Nov-2023 | - | 1,538 | 1,112 | ||
TargetInfo/ | 23-Nov-2023 | - | 64 | 49 | ||
CMakeLists.txt | D | 23-Nov-2023 | 1.1 KiB | 36 | 31 | |
DelaySlotFiller.cpp | D | 23-Nov-2023 | 14.8 KiB | 513 | 346 | |
LLVMBuild.txt | D | 23-Nov-2023 | 1 KiB | 37 | 33 | |
LeonFeatures.td | D | 23-Nov-2023 | 1.9 KiB | 61 | 51 | |
LeonPasses.cpp | D | 23-Nov-2023 | 5.8 KiB | 159 | 84 | |
LeonPasses.h | D | 23-Nov-2023 | 2.6 KiB | 89 | 57 | |
README.txt | D | 23-Nov-2023 | 1.5 KiB | 59 | 47 | |
Sparc.h | D | 23-Nov-2023 | 5.3 KiB | 168 | 138 | |
Sparc.td | D | 23-Nov-2023 | 7.1 KiB | 181 | 151 | |
SparcAsmPrinter.cpp | D | 23-Nov-2023 | 16.3 KiB | 450 | 365 | |
SparcCallingConv.td | D | 23-Nov-2023 | 5.6 KiB | 145 | 130 | |
SparcFrameLowering.cpp | D | 23-Nov-2023 | 13.7 KiB | 387 | 251 | |
SparcFrameLowering.h | D | 23-Nov-2023 | 2.4 KiB | 69 | 32 | |
SparcISelDAGToDAG.cpp | D | 23-Nov-2023 | 14.2 KiB | 402 | 277 | |
SparcISelLowering.cpp | D | 23-Nov-2023 | 140.3 KiB | 3,640 | 2,675 | |
SparcISelLowering.h | D | 23-Nov-2023 | 9.9 KiB | 224 | 159 | |
SparcInstr64Bit.td | D | 23-Nov-2023 | 21.6 KiB | 542 | 451 | |
SparcInstrAliases.td | D | 23-Nov-2023 | 21 KiB | 520 | 408 | |
SparcInstrFormats.td | D | 23-Nov-2023 | 10.3 KiB | 370 | 303 | |
SparcInstrInfo.cpp | D | 23-Nov-2023 | 18.9 KiB | 511 | 401 | |
SparcInstrInfo.h | D | 23-Nov-2023 | 4.1 KiB | 109 | 57 | |
SparcInstrInfo.td | D | 23-Nov-2023 | 68.2 KiB | 1,701 | 1,471 | |
SparcInstrVIS.td | D | 23-Nov-2023 | 11.1 KiB | 264 | 220 | |
SparcMCInstLower.cpp | D | 23-Nov-2023 | 3.3 KiB | 109 | 75 | |
SparcMachineFunctionInfo.cpp | D | 23-Nov-2023 | 448 | 15 | 3 | |
SparcMachineFunctionInfo.h | D | 23-Nov-2023 | 1.9 KiB | 57 | 29 | |
SparcRegisterInfo.cpp | D | 23-Nov-2023 | 8.1 KiB | 238 | 153 | |
SparcRegisterInfo.h | D | 23-Nov-2023 | 1.8 KiB | 53 | 24 | |
SparcRegisterInfo.td | D | 23-Nov-2023 | 13.9 KiB | 380 | 345 | |
SparcSchedule.td | D | 23-Nov-2023 | 6.4 KiB | 125 | 118 | |
SparcSubtarget.cpp | D | 23-Nov-2023 | 3.1 KiB | 102 | 56 | |
SparcSubtarget.h | D | 23-Nov-2023 | 3.9 KiB | 123 | 82 | |
SparcTargetMachine.cpp | D | 23-Nov-2023 | 7.4 KiB | 214 | 146 | |
SparcTargetMachine.h | D | 23-Nov-2023 | 2.8 KiB | 84 | 53 | |
SparcTargetObjectFile.cpp | D | 23-Nov-2023 | 1.8 KiB | 49 | 29 | |
SparcTargetObjectFile.h | D | 23-Nov-2023 | 1.1 KiB | 38 | 20 | |
SparcTargetStreamer.h | D | 23-Nov-2023 | 1.5 KiB | 50 | 28 |
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