1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00
llvm-mirror/lib/Target/Mips
Akira Hatanaka bc52a1662b 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.

llvm-svn: 156671
2012-05-12 00:17:17 +00:00
..
AsmParser remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
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 remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
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 Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. 2012-03-17 18:46:09 +00:00
Mips.td remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsAnalyzeImmediate.cpp Fix undefined behavior in the Mips backend. 2012-03-09 06:36:45 +00:00
MipsAnalyzeImmediate.h Fix undefined behavior in the Mips backend. 2012-03-09 06:36:45 +00:00
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 Changes for migrating to using register mask operands. 2012-03-01 22:27:29 +00:00
MipsCodeEmitter.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsCondMov.td Add another peephole pattern for conditional moves. 2012-05-09 02:29:29 +00:00
MipsDelaySlotFiller.cpp Use uint16_t to store register overlaps to reduce static data. 2012-03-04 10:43:23 +00:00
MipsEmitGPRestore.cpp remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsExpandPseudo.cpp Convert more GenRegisterInfo tables from unsigned to uint16_t to reduce static data size. 2012-03-05 05:37:41 +00:00
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 remove blanks, and some code format 2012-02-28 07:46:26 +00:00
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 Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. 2012-03-17 18:46:09 +00:00
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 remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
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 remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSchedule.td remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSelectionDAGInfo.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsSelectionDAGInfo.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00
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 Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. 2012-03-17 18:46:09 +00:00
MipsTargetObjectFile.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsTargetObjectFile.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00