- May 25, 2012
-
-
Akira Hatanaka authored
llvm-svn: 157493
-
- May 12, 2012
-
-
Akira Hatanaka authored
- Remove code which lowers pseudo SETGP01. - Fix LowerSETGP01. The first two of the three instructions that are emitted to initialize the global pointer register now use register $2. - Stop emitting .cpload directive. llvm-svn: 156689
-
- Mar 28, 2012
-
-
Akira Hatanaka authored
them as machine instructions. Directives ".set noat" and ".set at" are now emitted only at the beginning and end of a function except in the case where they are emitted to enclose .cpload with an immediate operand that doesn't fit in 16-bit field or unaligned load/stores. Also, make the following changes: - Remove function isUnalignedLoadStore and use a switch-case statement to determine whether an instruction is an unaligned load or store. - Define helper function CreateMCInst which generates an instance of an MCInst from an opcode and a list of operands. llvm-svn: 153552
-
- Mar 17, 2012
-
-
Craig Topper authored
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. llvm-svn: 152997
-
- Feb 28, 2012
-
-
Jia Liu authored
llvm-svn: 151625
-
- Feb 24, 2012
-
-
Akira Hatanaka authored
reserving a physical register ($gp or $28) for that purpose. This will completely eliminate loads that restore the value of $gp after every function call, if the register allocator assigns a callee-saved register, or eliminate unnecessary loads if it assigns a temporary register. example: .cpload $25 // set $gp. ... .cprestore 16 // store $gp to stack slot 16($sp). ... jalr $25 // function call. clobbers $gp. lw $gp, 16($sp) // not emitted if callee-saved reg is chosen. ... lw $2, 4($gp) ... jalr $25 // function call. lw $gp, 16($sp) // not emitted if $gp is not live after this instruction. ... llvm-svn: 151402
-
- Feb 17, 2012
-
-
Jia Liu authored
llvm-svn: 150775
-
- Dec 13, 2011
-
-
Akira Hatanaka authored
in a 16-bit field. llvm-svn: 146469
-
- Nov 23, 2011
-
-
Akira Hatanaka authored
- lower unaligned loads/stores. - encode the size operand of instructions INS and EXT. - emit relocation information needed for JAL (jump-and-link). llvm-svn: 145113
-
- Nov 08, 2011
-
-
Bruno Cardoso Lopes authored
Patch by Jack Carter. llvm-svn: 144139
-
- Sep 09, 2011
-
-
Akira Hatanaka authored
llvm-svn: 139405
-
Akira Hatanaka authored
llvm-svn: 139339
-
- Aug 16, 2011
-
-
Akira Hatanaka authored
Mips1 does not support double precision loads or stores, therefore two single precision loads or stores must be used in place of these instructions. This patch treats double precision loads and stores as if they are legal instructions until MCInstLowering, instead of generating the single precision instructions during instruction selection or Prolog/Epilog code insertion. Without the changes made in this patch, llc produces code that has the same problem described in r137484 or bails out when MipsInstrInfo::storeRegToStackSlot or loadRegFromStackSlot is called before register allocation. llvm-svn: 137711
-
Akira Hatanaka authored
llvm-svn: 137707
-
Akira Hatanaka authored
llvm-svn: 137706
-
- Jul 07, 2011
-
-
Akira Hatanaka authored
llvm-svn: 134633
-