llvm-6502/lib/Target/Mips
Akira Hatanaka 27ba61df9f Insert instructions to the entry basic block which initializes the global
pointer register. 


This is the first of the series of patches which clean up the way global pointer
register is used. The patches will make the following improvements:

- Make $gp an allocatable temporary register rather than reserving it.
- Use a virtual register as the global pointer register and let the register
  allocator decide which register to assign to it or whether spill/reloads are
  needed.
- Make sure $gp is valid at the entry of a called function, which is necessary
  for functions using lazy binding.
- Remove the need for emitting .cprestore and .cpload directives.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156671 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-12 00:17:17 +00:00
..
AsmParser
Disassembler Move MipsDisassembler classes into an anonymous namespace. 2012-05-01 14:34:24 +00:00
InstPrinter Move getOpcodeName from the various target InstPrinters into the superclass MCInstPrinter. 2012-04-02 08:32:38 +00:00
MCTargetDesc Remove some potential warnings about variables used uninitialized. 2012-04-22 07:23:04 +00:00
TargetInfo
CMakeLists.txt Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
LLVMBuild.txt Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
Makefile Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
Mips16InstrFormats.td Define mips16 instruction formats. 2012-05-08 19:08:58 +00:00
Mips64InstrInfo.td Delete blank line. 2012-04-18 18:47:17 +00:00
Mips.h
Mips.td
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp Add support for the 'X' inline asm operand modifier. 2012-05-10 21:48:22 +00:00
MipsAsmPrinter.h Emit all directives except for ".cprestore" during asm printing rather than emit 2012-03-28 00:22:50 +00:00
MipsCallingConv.td
MipsCodeEmitter.cpp
MipsCondMov.td Add another peephole pattern for conditional moves. 2012-05-09 02:29:29 +00:00
MipsDelaySlotFiller.cpp
MipsEmitGPRestore.cpp
MipsExpandPseudo.cpp
MipsFrameLowering.cpp Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent. 2012-04-20 07:30:17 +00:00
MipsFrameLowering.h
MipsInstrFormats.td Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
MipsInstrFPU.td Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
MipsInstrInfo.cpp Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent. 2012-04-20 07:30:17 +00:00
MipsInstrInfo.h
MipsInstrInfo.td Define mips16 instruction formats. 2012-05-08 19:08:58 +00:00
MipsISelDAGToDAG.cpp Insert instructions to the entry basic block which initializes the global 2012-05-12 00:17:17 +00:00
MipsISelLowering.cpp Expand 64-bit shifts if target ABI is O32. 2012-05-09 00:55:21 +00:00
MipsISelLowering.h Expand 64-bit shifts if target ABI is O32. 2012-05-09 00:55:21 +00:00
MipsJITInfo.cpp
MipsJITInfo.h Prune some includes 2012-03-27 07:54:11 +00:00
MipsMachineFunction.cpp Do not use $gp as a dedicated global register if the target ABI is not O32. 2012-04-25 01:24:52 +00:00
MipsMachineFunction.h Add member EmitNOAT and its setter and getter functions to class MipsFunctionInfo. 2012-03-27 19:08:42 +00:00
MipsMCInstLower.cpp Emit all directives except for ".cprestore" during asm printing rather than emit 2012-03-28 00:22:50 +00:00
MipsMCInstLower.h Emit all directives except for ".cprestore" during asm printing rather than emit 2012-03-28 00:22:50 +00:00
MipsRegisterInfo.cpp Fix a misleading comment. 2012-05-11 01:45:15 +00:00
MipsRegisterInfo.h This patch fixes a problem which arose when using the Post-RA scheduler 2012-04-23 21:39:35 +00:00
MipsRegisterInfo.td Remove the SubRegClasses field from RegisterClass descriptions. 2012-05-04 03:30:34 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSubtarget.cpp Turn off post-RA scheduler by default. 2012-03-28 00:52:23 +00:00
MipsSubtarget.h Turn on post register allocation scheduler. 2012-03-28 00:24:17 +00:00
MipsTargetMachine.cpp Change the PassManager from a reference to a pointer. 2012-05-01 08:27:43 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h