- Mar 30, 2013
-
-
Akira Hatanaka authored
Check that instruction selection can select multiply-add/sub DSP instructions from a pattern that doesn't have intrinsics. llvm-svn: 178406
-
Akira Hatanaka authored
llvm-svn: 178405
-
Akira Hatanaka authored
derived class MipsSETargetLowering. We shouldn't be generating madd/msub nodes if target is Mips16, since Mips16 doesn't have support for multipy-add/sub instructions. llvm-svn: 178404
-
Akira Hatanaka authored
The new instructions have explicit register output operands and use table-gen patterns instead of C++ code to do instruction selection. Mips16's instructions are unaffected by this change. llvm-svn: 178403
-
Akira Hatanaka authored
llvm-svn: 178396
-
Akira Hatanaka authored
llvm-svn: 178395
-
Akira Hatanaka authored
instructions. llvm-svn: 178394
-
Akira Hatanaka authored
called in several places in ScheduleDAGRRList.cpp. llvm-svn: 178393
-
Akira Hatanaka authored
to handle accumulator registers. llvm-svn: 178392
-
Akira Hatanaka authored
callee-saved scan. The code makes use of register's scavenger's capability to spill multiple registers. llvm-svn: 178391
-
Akira Hatanaka authored
registers. llvm-svn: 178390
-
- Mar 29, 2013
-
-
Akira Hatanaka authored
llvm-svn: 178359
-
Akira Hatanaka authored
register classes for Mips64 and DSP-ASE. No functionality changes. llvm-svn: 178328
-
Akira Hatanaka authored
No functionality changes. llvm-svn: 178327
-
Akira Hatanaka authored
No functionality changes. llvm-svn: 178326
-
Jack Carter authored
Mips assembler supports macros that allows the OR instruction to have an immediate parameter. This patch adds an instruction alias that converts this macro into a Mips ORI instruction. Contributer: Vladimir Medic llvm-svn: 178316
-
Jack Carter authored
Mips assembler allows following to be used as aliased instructions: jal $rs for jalr $rs jal $rd,$rd for jalr $rd,$rs This patch provides alias definitions in td files and test cases to show the usage. Contributer: Vladimir Medic llvm-svn: 178304
-
- Mar 25, 2013
-
-
Akira Hatanaka authored
llvm-svn: 177899
-
- Mar 23, 2013
-
-
Hal Finkel authored
This patch lets the register scavenger make use of multiple spill slots in order to guarantee that it will be able to provide multiple registers simultaneously. To support this, the RS's API has changed slightly: setScavengingFrameIndex / getScavengingFrameIndex have been replaced by addScavengingFrameIndex / isScavengingFrameIndex / getScavengingFrameIndices. In forthcoming commits, the PowerPC backend will use this capability in order to implement the spilling of condition registers, and some special-purpose registers, without relying on r0 being reserved. In some cases, spilling these registers requires two GPRs: one for addressing and one to hold the value being transferred. llvm-svn: 177774
-
- Mar 22, 2013
-
-
Jack Carter authored
For mips a branch an 18-bit signed offset (the 16-bit offset field shifted left 2 bits) is added to the address of the instruction following the branch (not the branch itself), in the branch delay slot, to form a PC-relative effective target address. Previously, the code generator did not perform the shift of the immediate branch offset which resulted in wrong instruction opcode. This patch fixes the issue. Contributor: Vladimir Medic llvm-svn: 177687
-
Jack Carter authored
This patch uses the generated instruction info tables to identify memory/load store instructions. After successful matching and based on the operand type and size, it generates additional instructions to the output. Contributor: Vladimir Medic llvm-svn: 177685
-
- Mar 21, 2013
-
-
Jack Carter authored
The .set directive in the Mips the assembler can be used to set the value of a symbol to an expression. This changes the symbol's value and type to conform to the expression's. Syntax: .set symbol, expression This patch implements the parsing of the above syntax and enables the parser to use defined symbols when parsing operands. Contributor: Vladimir Medic llvm-svn: 177667
-
- Mar 15, 2013
-
-
Eric Christopher authored
llvm-svn: 177135
-
David Blaikie authored
(these were added in r177089) llvm-svn: 177129
-
Akira Hatanaka authored
llvm-svn: 177128
-
- Mar 14, 2013
-
-
Reed Kotler authored
See the Mips16ISetLowering.cpp patch to see a use of this. For now now the extra code in Mips16ISetLowering.cpp is a nop but is used for test purposes. Mips32 registers are setup and then removed and then the Mips16 registers are setup. Normally you need to add register classes and then call computeRegisterProperties. llvm-svn: 177120
-
Hal Finkel authored
Add the current PEI register scavenger as a parameter to the processFunctionBeforeFrameFinalized callback. This change is necessary in order to allow the PowerPC target code to set the register scavenger frame index after the save-area offset adjustments performed by processFunctionBeforeFrameFinalized. Only after these adjustments have been made is it possible to estimate the size of the stack frame. llvm-svn: 177108
-
Akira Hatanaka authored
No functionality changes. llvm-svn: 177104
-
Akira Hatanaka authored
llvm-svn: 177096
-
Akira Hatanaka authored
No intended functionality changes. llvm-svn: 177095
-
Akira Hatanaka authored
llvm-svn: 177092
-
Akira Hatanaka authored
llvm-svn: 177090
-
Akira Hatanaka authored
mips16 and MipsSEDAGToDAGISel is for mips32/64. No functionality changes. llvm-svn: 177089
-
- Mar 13, 2013
-
-
Akira Hatanaka authored
mips16 and MipsSETargetLowering is for mips32/64. No functionality changes. llvm-svn: 176917
-
- Mar 12, 2013
-
-
Akira Hatanaka authored
Delete commented-out code. llvm-svn: 176844
-
- Mar 08, 2013
-
-
Tom Stellard authored
LegalizeDAG.cpp uses the value of the comparison operands when checking the legality of BR_CC, so DAGCombiner should do the same. v2: - Expand more BR_CC value types for NVPTX v3: - Expand correct BR_CC value types for Hexagon, Mips, and XCore. llvm-svn: 176694
-
- Mar 06, 2013
-
-
Akira Hatanaka authored
In N64-static, GOT address is needed to compute the branch address. llvm-svn: 176580
-
Akira Hatanaka authored
This calling convention was added just to handle functions which return vector of floats. The fix committed in r165585 solves the problem. llvm-svn: 176530
-
- Mar 05, 2013
-
-
Akira Hatanaka authored
returned in registers $2 and $4. llvm-svn: 176527
-
Akira Hatanaka authored
handle fp128 returns. llvm-svn: 176523
-