- Nov 18, 2013
-
-
Daniel Sanders authored
Fixed an inappropriate use of BuildPairF64 when compiling for MIPS32 with FP64 which resulted in an impossible constraint on the register allocation. It now uses BuildPairF64_64. llvm-svn: 195007
-
- Oct 15, 2013
-
-
Akira Hatanaka authored
parts of the accumulators and gets expanded post-RA. llvm-svn: 192667
-
- Oct 07, 2013
-
-
Akira Hatanaka authored
accumulator instead of its sub-registers, $hi and $lo. We need this change to prevent a mflo following a mtlo from reading an unpredictable/undefined value, as shown in the following example: mult $6, $7 // result of $6 * $7 is written to $lo and $hi. mflo $2 // read lower 32-bit result from $lo. mtlo $4 // write to $lo. the content of $hi becomes unpredictable. mfhi $3 // read higher 32-bit from $hi, which has an unpredictable value. I don't have a test case for this change that reliably reproduces the problem. llvm-svn: 192119
-
- Sep 27, 2013
-
-
Daniel Sanders authored
llvm-svn: 191512
-
- Sep 07, 2013
-
-
Akira Hatanaka authored
precision loads and stores as well as reg+imm double precision loads and stores. Previously, expansion of loads and stores was done after register allocation, but now it takes place during legalization. As a result, users will see double precision stores and loads being emitted to spill and restore 64-bit FP registers. llvm-svn: 190235
-
- Aug 28, 2013
-
-
Daniel Sanders authored
The MSA control registers have been added as reserved registers, and are only used via ISD::Copy(To|From)Reg. The intrinsics are lowered into these nodes. llvm-svn: 189468
-
- Aug 27, 2013
-
-
Daniel Sanders authored
llvm-svn: 189332
-
- Aug 21, 2013
-
-
Akira Hatanaka authored
llvm-svn: 188848
-
Akira Hatanaka authored
point registers. We will need this register class later when we add definitions for instructions mfhc1 and mthc1. Also, remove sub-register indices sub_fpeven and sub_fpodd and use sub_lo and sub_hi instead. llvm-svn: 188842
-
- Aug 20, 2013
-
-
Akira Hatanaka authored
load/store instructions defined. Previously, we were defining load/store instructions for each pointer size (32 and 64-bit), but now we need just one definition. llvm-svn: 188830
-
- Aug 14, 2013
-
-
Akira Hatanaka authored
llvm-svn: 188341
-
- Aug 08, 2013
-
-
Akira Hatanaka authored
llvm-svn: 188020
-
- Aug 07, 2013
-
-
Akira Hatanaka authored
llvm-svn: 187832
-
- Jul 22, 2013
-
-
Akira Hatanaka authored
the InstAlias pattern which maps "move" to OR to resolve ambiguity in MatchTable. llvm-svn: 186855
-
- Jul 19, 2013
-
-
Akira Hatanaka authored
No functionality change. llvm-svn: 186642
-
- Jun 11, 2013
-
-
Akira Hatanaka authored
No functionality changes. llvm-svn: 183767
-
- Jun 08, 2013
-
-
Akira Hatanaka authored
destination operands of an instruction. No functionality changes. llvm-svn: 183596
-
- Jun 07, 2013
-
-
Bill Wendling authored
the internals of TargetMachine could change. llvm-svn: 183493
-
- May 16, 2013
-
-
Akira Hatanaka authored
invalid instruction sequence. Rather than emitting an int-to-FP move instruction and an int-to-FP conversion instruction during instruction selection, we emit a pseudo instruction which gets expanded post-RA. Without this change, register allocation can possibly insert a floating point register move instruction between the two instructions, which is not valid according to the ISA manual. mtc1 $f4, $4 # int-to-fp move instruction. mov.s $f2, $f4 # move contents of $f4 to $f2. cvt.s.w $f0, $f2 # int-to-fp conversion. llvm-svn: 182042
-
- May 13, 2013
-
-
Akira Hatanaka authored
This option is used when the user wants to avoid emitting double precision FP loads and stores. Double precision FP loads and stores are expanded to single precision instructions after register allocation. llvm-svn: 181718
-
Akira Hatanaka authored
llvm-svn: 181713
-
- May 03, 2013
-
-
Akira Hatanaka authored
register. - Define pseudo instructions which store or load ccond field of the DSP control register. - Emit the pseudos in MipsSEInstrInfo::storeRegToStack and loadRegFromStack. - Expand the pseudos before callee-scan save. - Emit instructions RDDSP or WRDSP to copy between ccond field and GPRs. llvm-svn: 180969
-
- May 01, 2013
-
-
Akira Hatanaka authored
Expand copy instructions between two accumulator registers before callee-saved scan is done. Handle copies between integer GPR and hi/lo registers in MipsSEInstrInfo::copyPhysReg. Delete pseudo-copy instructions that are not needed. llvm-svn: 180827
-
- Apr 03, 2013
-
-
Akira Hatanaka authored
This patch initializes t9 to the handler address, but only if the relocation model is pic. This handles the case where handler to which eh.return jumps points to the start of the function. Patch by Sasa Stankovic. llvm-svn: 178588
-
- Mar 30, 2013
-
-
Akira Hatanaka authored
to handle accumulator registers. llvm-svn: 178392
-
- Mar 29, 2013
-
-
Akira Hatanaka authored
No functionality changes. llvm-svn: 178327
-
- Jan 30, 2013
-
-
Akira Hatanaka authored
Patch by Sasa Stankovic. llvm-svn: 173862
-
- Dec 20, 2012
-
-
Akira Hatanaka authored
physical register $r1 to $r0. GNU disassembler recognizes an "or" instruction as a "move", and this change makes the disassembled code easier to read. Original patch by Reed Kotler. llvm-svn: 170655
-
- Dec 03, 2012
-
-
Chandler Carruth authored
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
-
- Nov 03, 2012
-
-
Akira Hatanaka authored
register is needed. llvm-svn: 167341
-
- Nov 02, 2012
-
-
Akira Hatanaka authored
"set .noat" so that the assembler doesn't issue warnings when register $AT is used. llvm-svn: 167310
-
- Aug 23, 2012
-
-
Akira Hatanaka authored
the temporary register that was used to load the immediate. Currently, it always returns register $at, but this will change if, in the future, we decide to use another register. No changes in functionality. llvm-svn: 162417
-
- Aug 02, 2012
-
-
Akira Hatanaka authored
of MipsTargetMachine.cpp. llvm-svn: 161191
-
- Aug 01, 2012
-
-
Akira Hatanaka authored
instructions that decrement and increment the stack pointer before and after a call when the function does not have a reserved call frame. llvm-svn: 161093
-
Akira Hatanaka authored
MipsSERegisterInfo. llvm-svn: 161092
-
- Jul 31, 2012
-
-
Akira Hatanaka authored
and MipsSEInstrInfo (for mips32/64). llvm-svn: 161081
-