- Feb 28, 2014
-
-
Zoran Jovanovic authored
llvm-svn: 202521
-
Zoran Jovanovic authored
llvm-svn: 202518
-
NAKAMURA Takumi authored
llvm-svn: 202483
-
Sasa Stankovic authored
llvm-svn: 202482
-
Sasa Stankovic authored
* Align targets of indirect jumps to instruction bundle boundaries (in MI layer). * Add masking instructions before indirect jumps (in MC layer). Differential Revision: http://llvm-reviews.chandlerc.com/D2847 llvm-svn: 202479
-
- Feb 26, 2014
-
-
Daniel Sanders authored
Summary: This should fix the MCJIT unit tests that were broken by r201792 on the MIPS buildbot. MIPS currently uses the default implementation of sys::getHostCPUName() which always returns "generic". For now, we will accept "generic" and coerce it to "mips32" or "mips64" depending on the target architecture like we do for empty CPU names. Reviewers: jacksprat, matheusalmeida Reviewed By: jacksprat Differential Revision: http://llvm-reviews.chandlerc.com/D2878 llvm-svn: 202253
-
- Feb 20, 2014
-
-
Daniel Sanders authored
Summary: This removes the need to coerce UnknownABI to the default ABI (O32 for MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser. Clang has been updated to disable both possible default ABI's before enabling the ABI it intends to use. [*] N64 being the default for MIPS64 is not actually correct. However N32 is not fully implemented/tested yet. Depends on: D2830 Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2832 Differential Revision: http://llvm-reviews.chandlerc.com/D2846 llvm-svn: 201792
-
Daniel Sanders authored
Summary: This is consistent with the integrated assembler. All mips64 codegen tests previously passed -mcpu. Removed -mcpu from blez_bgez.ll and const-mult.ll to cover the default case. Ideally, the two implementations of selectMipsCPU() will be merged but it's proven difficult to find a home for the function that doesn't cause link errors. For now, we'll hoist the common functionality into a function and mark it with FIXME's. Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2830 llvm-svn: 201782
-
- Feb 19, 2014
-
-
Reed Kotler authored
review of the previous patch that introduced this week. llvm-svn: 201723
-
Daniel Sanders authored
This is consistent with the way CodeGen acheives this. However, CodeGen always selects mips32 (even when the architecture is mips64). llvm-svn: 201694
-
Daniel Sanders authored
No functional change. llvm-svn: 201689
-
Daniel Sanders authored
llvm-svn: 201682
-
- Feb 14, 2014
-
-
Reed Kotler authored
1) Fix a specific bug when certain conversion functions are called in a program compiled as mips16 with hard float and the program is linked as c++. There are two libraries that are reversed in the link order with gcc/g++ and clang/clang++ for mips16 in this case and the proper stubs will then not be called. These stubs are normally handled in the Mips16HardFloat pass but in this case we don't know at that time that we need to generate the stubs. This must all be handled later in code generation and we have moved this functionality to MipsAsmPrinter. When linked as C (gcc or clang) the proper stubs are linked in from libc. 2) Set up the infrastructure to handle 90% of what is in the Mips16HardFloat pass in this new area of MipsAsmPrinter. This is a more logical place to handle this and we have known for some time that we needed to move the code later and not implement it using inline asm as we do now but it was not clear exactly where to do this and what mechanism should be used. Now it's clear to us how to do this and this patch contains the infrastructure to move most of this to MipsAsmPrinter but the actual moving will be done in a follow on patch. The same infrastructure is used to fix this current bug as described in #1. This change was requested by the list during the original putback of the Mips16HardFloat pass but was not practical for us do at that time. llvm-svn: 201426
-
- Feb 10, 2014
-
-
Matheus Almeida authored
llvm-svn: 201081
-
Matheus Almeida authored
This way it's possible to share the instruction's description for LSA and DLSA (to be added). No functional changes. llvm-svn: 201078
-
- Feb 08, 2014
-
-
Rafael Espindola authored
It is never null and it is not used in casts, so there is no reason to use a pointer. This matches how we pass TM. llvm-svn: 201025
-
Rafael Espindola authored
llvm-svn: 201022
-
- Feb 07, 2014
-
-
Sasa Stankovic authored
Differential Revision: http://llvm-reviews.chandlerc.com/D2694 llvm-svn: 200978
-
- Feb 06, 2014
-
-
Matt Arsenault authored
On R600, some address spaces have more strict alignment requirements than others. llvm-svn: 200887
-
- Feb 05, 2014
-
-
Rafael Espindola authored
Clang itself was not using this. The only way to access it was via llc. llvm-svn: 200862
-
Petar Jovanovic authored
This patch adds NaCl target for Mips. It also forbids indexed loads and stores if the target is NaCl. Patch by Sasa Stankovic. Differential Revision: http://llvm-reviews.chandlerc.com/D2690 llvm-svn: 200855
-
- Feb 04, 2014
-
-
Petar Jovanovic authored
Patch implements %hi(sym1 - sym2) and %lo(sym1 - sym2) expressions for MIPS by creating target expression class MipsMCExpr. Patch by Sasa Stankovic. Differential Revision: http://llvm-reviews.chandlerc.com/D2592 llvm-svn: 200783
-
- Feb 01, 2014
-
-
Rafael Espindola authored
To remove this one simply move the end of file logic from the asm printer to the target mc streamer. This removes the last call to hasRawTextSupport from lib/Target. llvm-svn: 200590
-
- Jan 31, 2014
-
-
Matheus Almeida authored
This instruction is only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200543
-
- Jan 30, 2014
-
-
Matheus Almeida authored
llvm-svn: 200465
-
- Jan 29, 2014
-
-
Matheus Almeida authored
This instruction is only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200400
-
Matheus Almeida authored
These instructions are only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200398
-
David Woodhouse authored
The subtarget info is explicitly passed to the EncodeInstruction method and we should use that subtarget info to influence any encoding decisions. llvm-svn: 200350
-
David Woodhouse authored
llvm-svn: 200349
-
David Woodhouse authored
llvm-svn: 200348
-
David Woodhouse authored
llvm-svn: 200345
-
- Jan 28, 2014
-
-
Matheus Almeida authored
As opposed to GCC/GAS the default ABI for Mips64 is n64. Compatibility bit should be set if o32 ABI is used when targeting Mips64. llvm-svn: 200332
-
Eric Christopher authored
code to see if we're emitting a function into a non-default text section. This is still a less-than-ideal solution, but more contained than r199871 to determine whether or not we're emitting code into an array of comdat sections. llvm-svn: 200269
-
- Jan 27, 2014
-
-
Rafael Espindola authored
Testing this also found the missing '\n' after .frame that this patch also fixes. llvm-svn: 200192
-
Rafael Espindola authored
llvm-svn: 200186
-
Rafael Espindola authored
llvm-svn: 200178
-
- Jan 26, 2014
-
-
Rafael Espindola authored
These were: * noreorder handling on the target object streamer and asm parser. * setting the initial flag bits based on the enabled features. * setting the elf header flag for micromips It is *really* depressing I am the one doing this instead of someone at mips actually taking the time to understand the infrastructure. llvm-svn: 200138
-
Rafael Espindola authored
With this the target streamers will be able to know the target features that are in use. llvm-svn: 200135
-
Rafael Espindola authored
This has a few advantages: * Only targets that use a MCTargetStreamer have to worry about it. * There is never a MCTargetStreamer without a MCStreamer, so we can use a reference. * A MCTargetStreamer can talk to the MCStreamer in its constructor. llvm-svn: 200129
-
Rafael Espindola authored
llvm-svn: 200122
-