- Dec 13, 2012
-
-
Akira Hatanaka authored
FFR1_W_M and FFR1P_M. The new instruction definitions have one-to-one correspondence with the instructions in the ISA manual. llvm-svn: 170053
-
- Dec 12, 2012
-
-
Akira Hatanaka authored
llvm-svn: 170012
-
Evan Cheng authored
mention the inline memcpy / memset expansion code is a mess? This patch split the ZeroOrLdSrc argument into two: IsMemset and ZeroMemset. The first indicates whether it is expanding a memset or a memcpy / memmove. The later is whether the memset is a memset of zero. It's totally possible (likely even) that targets may want to do different things for memcpy and memset of zero. llvm-svn: 169959
-
Evan Cheng authored
Also added more comments to explain why it is generally ok to return true. - Rename getOptimalMemOpType argument IsZeroVal to ZeroOrLdSrc. It's meant to be true for loaded source (memcpy) or zero constants (memset). The poor name choice is probably some kind of legacy issue. llvm-svn: 169954
-
- Dec 11, 2012
-
-
Patrik Hagglund authored
llvm-svn: 169854
-
Patrik Hagglund authored
Accordingly, add helper funtions getSimpleValueType (in parallel to getValueType) in SDValue, SDNode, and TargetLowering. This is the first, in a series of patches. llvm-svn: 169837
-
NAKAMURA Takumi authored
llvm-svn: 169819
-
Evan Cheng authored
1. Teach it to use overlapping unaligned load / store to copy / set the trailing bytes. e.g. On 86, use two pairs of movups / movaps for 17 - 31 byte copies. 2. Use f64 for memcpy / memset on targets where i64 is not legal but f64 is. e.g. x86 and ARM. 3. When memcpy from a constant string, do *not* replace the load with a constant if it's not possible to materialize an integer immediate with a single instruction (required a new target hook: TLI.isIntImmLegal()). 4. Use unaligned load / stores more aggressively if target hooks indicates they are "fast". 5. Update ARM target hooks to use unaligned load / stores. e.g. vld1.8 / vst1.8. Also increase the threshold to something reasonable (8 for memset, 4 pairs for memcpy). This significantly improves Dhrystone, up to 50% on ARM iOS devices. rdar://12760078 llvm-svn: 169791
-
- Dec 10, 2012
-
-
Akira Hatanaka authored
getMipsRegisterNumbering and use MCRegisterInfo::getEncodingValue instead. llvm-svn: 169760
-
NAKAMURA Takumi authored
llvm-svn: 169724
-
- Dec 07, 2012
-
-
Jakob Stoklund Olesen authored
This is the preferred way of creating bundled machine instructions. llvm-svn: 169585
-
Akira Hatanaka authored
use. llvm-svn: 169580
-
Akira Hatanaka authored
llvm-svn: 169579
-
Akira Hatanaka authored
llvm-svn: 169578
-
Akira Hatanaka authored
llvm-svn: 169577
-
- Dec 04, 2012
-
-
Chandler Carruth authored
missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] llvm-svn: 169224
-
Akira Hatanaka authored
This change adds endian-awareness to MipsJITInfo and emitWordLE in MipsCodeEmitter has become emitWord now to support both endianness. Patch by Petar Jovanovic. llvm-svn: 169177
-
- Dec 03, 2012
-
-
Akira Hatanaka authored
code. Removing it. Patch by Petar Jovanovic. llvm-svn: 169174
-
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 30, 2012
-
-
Chandler Carruth authored
Rationale: 1) This was the name in the comment block. ;] 2) It matches Clang's __has_feature naming convention. 3) It matches other compiler-feature-test conventions. Sorry for the noise. =] I've also switch the comment block to use a \brief tag and not duplicate the name. llvm-svn: 168996
-
- Nov 22, 2012
-
-
Jack Carter authored
This patch provides support for the MIPS relocations: *) R_MIPS_GOT_HI16 *) R_MIPS_GOT_LO16 *) R_MIPS_CALL_HI16 *) R_MIPS_CALL_LO16 These are used for large GOT instruction sequences. Contributer: Jack Carter llvm-svn: 168471
-
- Nov 21, 2012
-
-
Akira Hatanaka authored
llvm-svn: 168460
-
Akira Hatanaka authored
functions added in r168456. llvm-svn: 168458
-
Akira Hatanaka authored
llvm-svn: 168456
-
Akira Hatanaka authored
llvm-svn: 168455
-
Akira Hatanaka authored
referring to a GOT entry. llvm-svn: 168453
-
Akira Hatanaka authored
llvm-svn: 168450
-
- Nov 17, 2012
-
-
Akira Hatanaka authored
llvm-svn: 168230
-
- Nov 16, 2012
-
-
Akira Hatanaka authored
allowed in branch delay slot. llvm-svn: 168131
-
- Nov 15, 2012
-
-
Akira Hatanaka authored
support and use it in place of HasMips32r2Or64. llvm-svn: 168089
-
Akira Hatanaka authored
llvm-svn: 168078
-
- Nov 07, 2012
-
-
Akira Hatanaka authored
Patch by Sasa Stankovic. llvm-svn: 167548
-
Akira Hatanaka authored
llvm-svn: 167546
-
- Nov 03, 2012
-
-
Akira Hatanaka authored
instructions. llvm-svn: 167348
-
Akira Hatanaka authored
llvm-svn: 167345
-
Akira Hatanaka authored
register is needed. llvm-svn: 167341
-
Akira Hatanaka authored
reserved. Without this fix, RegScavenger::getRegsAvailable incorrectly returns an empty set of integer registers. llvm-svn: 167335
-
- Nov 02, 2012
-
-
Akira Hatanaka authored
llvm-svn: 167315
-
Akira Hatanaka authored
This function estimates stack size and will be called before PrologEpilogInserter scans the callee-saved registers. llvm-svn: 167313
-
Akira Hatanaka authored
of the incoming argument area. llvm-svn: 167312
-