- May 25, 2012
-
-
Akira Hatanaka authored
llvm-svn: 157492
-
- May 24, 2012
-
-
Akira Hatanaka authored
First code from the Mips16 compiler. Includes trivial test program. Patch by Reed Kotler. llvm-svn: 157408
-
- May 22, 2012
-
-
Akira Hatanaka authored
instruction encodings can be excluded during mips16 processing. This revision fixes the issue raised by Jim Grosbach. bool hasStandardEncoding() const { return !inMips16Mode(); } When micromips is added it will be bool StandardEncoding() const { return !inMips16Mode()&& !inMicroMipsMode(); } No additional testing is needed other than to assure that there is no regression from this patch. Patch by Reed Kotler. llvm-svn: 157234
-
- May 08, 2012
-
-
Akira Hatanaka authored
Patch by Reed Kotler. llvm-svn: 156408
-
- Apr 18, 2012
-
-
Akira Hatanaka authored
llvm-svn: 155031
-
- Apr 17, 2012
-
-
Akira Hatanaka authored
Patch by Vladimir Medic. llvm-svn: 154935
-
- Apr 03, 2012
-
-
Akira Hatanaka authored
llvm-svn: 153925
-
Akira Hatanaka authored
Patch by Vladimir Medic. llvm-svn: 153924
-
- 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
-
Akira Hatanaka authored
any side effects. llvm-svn: 153551
-
- Mar 01, 2012
-
-
Akira Hatanaka authored
llvm-svn: 151847
-
- Feb 28, 2012
-
-
Jia Liu authored
llvm-svn: 151625
-
Akira Hatanaka authored
llvm-svn: 151615
-
Akira Hatanaka authored
load and store instructions. llvm-svn: 151611
-
- Feb 25, 2012
-
-
Akira Hatanaka authored
add/sub instructions. llvm-svn: 151415
-
- 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
-
- Jan 24, 2012
-
-
Akira Hatanaka authored
llvm-svn: 148862
-
- Jan 04, 2012
-
-
Akira Hatanaka authored
llvm-svn: 147519
-
Akira Hatanaka authored
versions derive from them. - JALR64 is not needed since N64 does not emit jal. - Add template parameter to BranchLink that sets the rt field. - Fix the set of temporary registers for O32 and N64. llvm-svn: 147518
-
- Dec 21, 2011
-
-
Akira Hatanaka authored
The patch and test case were originally written by Mans Rullgard. llvm-svn: 147024
-
Akira Hatanaka authored
instruction supported by mips32r2, and add a pattern which replaces bswap with a ROTR and WSBH pair. WSBW is removed since it is not an instruction the current architectures support. llvm-svn: 147015
-
- Dec 20, 2011
-
-
Akira Hatanaka authored
only when the target ABI is N64. llvm-svn: 147001
-
Akira Hatanaka authored
only when the target ABI is N64. llvm-svn: 146992
-
- Dec 19, 2011
-
-
Akira Hatanaka authored
patterns emit a single LUi instruction instead of a pair of LUi and ORi. llvm-svn: 146900
-
Akira Hatanaka authored
llvm-svn: 146896
-
- Dec 12, 2011
-
-
Akira Hatanaka authored
-relocation-model=static. llvm-svn: 146432
-
- Dec 09, 2011
-
-
Akira Hatanaka authored
llvm-svn: 146232
-
- Dec 08, 2011
-
-
Akira Hatanaka authored
- Modify lowering of global TLS address nodes. - Modify isel of ThreadPointer. - Wrap target global TLS address nodes that are operands of loads with WrapperPIC. - Remove Mips-specific DAG nodes TlsGd, TprelHi and TprelLo, which can be substituted with other existing nodes. llvm-svn: 146175
-
Akira Hatanaka authored
RDHWR. llvm-svn: 146101
-
- Dec 07, 2011
-
-
Akira Hatanaka authored
llvm-svn: 146081
-
Akira Hatanaka authored
llvm-svn: 146059
-
- Dec 06, 2011
-
-
Bruno Cardoso Lopes authored
llvm-svn: 145912
-
- Dec 05, 2011
-
-
Akira Hatanaka authored
them. llvm-svn: 145852
-
- 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 16, 2011
-
-
Akira Hatanaka authored
nodes. llvm-svn: 144841
-
Akira Hatanaka authored
llvm-svn: 144840
-
- Nov 11, 2011
-
-
Bruno Cardoso Lopes authored
"With this patch we can now generate runnable Mips code through LLVM direct object emission. We have run numerous simple programs, both C and C++ and with -O0 and -O3 from the output. The code is not production ready, but quite useful for experimentation." Patch and message by Jack Carter llvm-svn: 144414
-
Akira Hatanaka authored
llvm-svn: 144372
-
Akira Hatanaka authored
llvm-svn: 144370
-
Akira Hatanaka authored
llvm-svn: 144368
-