Revision tags: llvmorg-6.0.0, llvmorg-6.0.0-rc3 |
|
#
fac93e28 |
| 23-Feb-2018 |
Petar Jovanovic <petar.jovanovic@mips.com> |
[MIPS GlobalISel] Adding GlobalISel
Add GlobalISel infrastructure up to the point where we can select a ret void.
Patch by Petar Avramovic.
Differential Revision: https://reviews.llvm.org/D43583
[MIPS GlobalISel] Adding GlobalISel
Add GlobalISel infrastructure up to the point where we can select a ret void.
Patch by Petar Avramovic.
Differential Revision: https://reviews.llvm.org/D43583
llvm-svn: 325888
show more ...
|
#
7bc8ad58 |
| 21-Feb-2018 |
Simon Dardis <simon.dardis@mips.com> |
[mips] Spectre variant two mitigation for MIPSR2
This patch provides mitigation for CVE-2017-5715, Spectre variant two, which affects the P5600 and P6600. It implements the LLVM part of -mindirect-j
[mips] Spectre variant two mitigation for MIPSR2
This patch provides mitigation for CVE-2017-5715, Spectre variant two, which affects the P5600 and P6600. It implements the LLVM part of -mindirect-jump=hazard. It is _not_ enabled by default for the P5600.
The migitation strategy suggested by MIPS for these processors is to use hazard barrier instructions. 'jalr.hb' and 'jr.hb' are hazard barrier variants of the 'jalr' and 'jr' instructions respectively.
These instructions impede the execution of instruction stream until architecturally defined hazards (changes to the instruction stream, privileged registers which may affect execution) are cleared. These instructions in MIPS' designs are not speculated past.
These instructions are used with the attribute +use-indirect-jump-hazard when branching indirectly and for indirect function calls.
These instructions are defined by the MIPS32R2 ISA, so this mitigation method is not compatible with processors which implement an earlier revision of the MIPS ISA.
Performance benchmarking of this option with -fpic and lld using -z hazardplt shows a difference of overall 10%~ time increase for the LLVM testsuite. Certain benchmarks such as methcall show a substantially larger increase in time due to their nature.
Reviewers: atanasyan, zoran.jovanovic
Differential Revision: https://reviews.llvm.org/D43486
llvm-svn: 325653
show more ...
|
Revision tags: llvmorg-6.0.0-rc2 |
|
#
29aced1b |
| 22-Jan-2018 |
Petar Jovanovic <petar.jovanovic@mips.com> |
[mips] add warnings for using dsp and msa flags with inappropriate revisions
Dsp and dspr2 require MIPS revision 2, while msa requires revision 5. Adding warnings for cases when these flags are used
[mips] add warnings for using dsp and msa flags with inappropriate revisions
Dsp and dspr2 require MIPS revision 2, while msa requires revision 5. Adding warnings for cases when these flags are used with earlier revision.
Patch by Milos Stojanovic.
Differential Revision: https://reviews.llvm.org/D40490
llvm-svn: 323131
show more ...
|
Revision tags: llvmorg-6.0.0-rc1 |
|
#
d6dada17 |
| 11-Dec-2017 |
Aleksandar Beserminji <Aleksandar.Beserminji@mips.com> |
[mips] Removal of microMIPS64R6
All files and parts of files related to microMIPS4R6 are removed. When target is microMIPS4R6, errors are printed.
This is LLVM part of patch.
Differential Revision
[mips] Removal of microMIPS64R6
All files and parts of files related to microMIPS4R6 are removed. When target is microMIPS4R6, errors are printed.
This is LLVM part of patch.
Differential Revision: https://reviews.llvm.org/D35625
llvm-svn: 320350
show more ...
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3 |
|
#
1255b165 |
| 14-Aug-2017 |
John Baldwin <jhb@FreeBSD.org> |
[MIPS] Implement support for -mstack-alignment.
Summary: This is modeled on the implementation for x86 which stores the command line option in a 'StackAlignOverride' field in MipsSubtarget and then
[MIPS] Implement support for -mstack-alignment.
Summary: This is modeled on the implementation for x86 which stores the command line option in a 'StackAlignOverride' field in MipsSubtarget and then uses this to compute a 'stackAlignment' value in MipsSubtarget::initializeSubtargetDependencies.
The stackAlignment() method in MipsSubTarget is renamed to getStackAlignment() and returns the computed 'stackAlignment'.
Reviewers: sdardis
Reviewed By: sdardis
Subscribers: llvm-commits, arichardson
Differential Revision: https://reviews.llvm.org/D35874
llvm-svn: 310891
show more ...
|
#
3a1a9518 |
| 11-Aug-2017 |
John Baldwin <jhb@FreeBSD.org> |
[mips] clang-format MipsSubtarget.cpp.
This only fixes a few things and serves as my initial test commit.
llvm-svn: 310742
|
Revision tags: llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1 |
|
#
ae719c5a |
| 11-Jul-2017 |
Simon Dardis <simon.dardis@imgtec.com> |
[mips][mt][1/7] Add the MT ASE as a subtarget feature.
Preparatory work for adding the MIPS MT (multi-threading) ASE instructions.
Reviewers: slthakur, atanasyan
Differential Revision: https://rev
[mips][mt][1/7] Add the MT ASE as a subtarget feature.
Preparatory work for adding the MIPS MT (multi-threading) ASE instructions.
Reviewers: slthakur, atanasyan
Differential Revision: https://reviews.llvm.org/D35247
llvm-svn: 307679
show more ...
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3 |
|
#
64fb7a8e |
| 06-Jun-2017 |
Petar Jovanovic <petar.jovanovic@imgtec.com> |
[mips] Add madd4 subtarget feature
Addition of a feature and a predicate used to control generation of madd.fmt and similar instructions.
Patch by Stefan Maksimovic.
Differential Revision: https:/
[mips] Add madd4 subtarget feature
Addition of a feature and a predicate used to control generation of madd.fmt and similar instructions.
Patch by Stefan Maksimovic.
Differential Revision: https://reviews.llvm.org/D33400
llvm-svn: 304801
show more ...
|
#
6bda14b3 |
| 06-Jun-2017 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the remaining #include lines in include/... and lib/....
I did this a long time ago with a janky python script, but now clang-format has built-in support for this. I fed clang-format every line
Sort the remaining #include lines in include/... and lib/....
I did this a long time ago with a janky python script, but now clang-format has built-in support for this. I fed clang-format every line with a #include and let it re-sort things according to the precise LLVM rules for include ordering baked into clang-format these days.
I've reverted a number of files where the results of sorting includes isn't healthy. Either places where we have legacy code relying on particular include ordering (where possible, I'll fix these separately) or where we have particular formatting around #include lines that I didn't want to disturb in this patch.
This patch is *entirely* mechanical. If you get merge conflicts or anything, just ignore the changes in this patch and run clang-format over your #include lines in the files.
Sorry for any noise here, but it is important to keep these things stable. I was seeing an increasing number of patches with irrelevant re-ordering of #include lines because clang-format was used. This patch at least isolates that churn, makes it easy to skip when resolving conflicts, and gets us to a clean baseline (again).
llvm-svn: 304787
show more ...
|
Revision tags: llvmorg-4.0.1-rc2 |
|
#
57253043 |
| 23-May-2017 |
Simon Atanasyan <simon@atanasyan.com> |
[mips] Remove unused class field. NFC
llvm-svn: 303639
|
#
039b02ec |
| 23-May-2017 |
Simon Atanasyan <simon@atanasyan.com> |
[mips] Change type of MipsSubtarget ctor arguments s/std::string/StringRef/. NFC
llvm-svn: 303638
|
Revision tags: llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2 |
|
#
ca74dd79 |
| 27-Jan-2017 |
Simon Dardis <simon.dardis@imgtec.com> |
[mips] Recommit: "N64 static relocation model support"
This patch makes one change to GOT handling and two changes to N64's relocation model handling. Furthermore, the jumptable encodings have been
[mips] Recommit: "N64 static relocation model support"
This patch makes one change to GOT handling and two changes to N64's relocation model handling. Furthermore, the jumptable encodings have been corrected for static N64.
Big GOT handling is now done via a new SDNode MipsGotHi - this node is unconditionally lowered to an lui instruction.
The first change to N64's relocation handling is the lifting of the restriction that N64 always uses PIC. Now it is possible to target static environments.
The second change adds support for 64 bit symbols and enables them by default. Previously N64 had patterns for sym32 mode only. In this mode all symbols are assumed to have 32 bit addresses. sym32 mode support is selectable with attribute 'sym32'. A follow on patch for clang will add the necessary frontend parameter.
This partially resolves PR/23485.
Thanks to Brooks Davis for reporting the issue!
This version corrects a "Conditional jump or move depends on uninitialised value(s)" error detected by valgrind present in the original commit.
Reviewers: dsanders, seanbruno, zoran.jovanovic, vkalintiris
Differential Revision: https://reviews.llvm.org/D23652
llvm-svn: 293279
show more ...
|
#
5b67a4f7 |
| 26-Jan-2017 |
Simon Dardis <simon.dardis@imgtec.com> |
Revert "[mips] N64 static relocation model support"
This reverts commit r293164. There are multiple tests failing.
llvm-svn: 293170
|
#
09e65efd |
| 26-Jan-2017 |
Simon Dardis <simon.dardis@imgtec.com> |
[mips] N64 static relocation model support
This patch makes one change to GOT handling and two changes to N64's relocation model handling. Furthermore, the jumptable encodings have been corrected fo
[mips] N64 static relocation model support
This patch makes one change to GOT handling and two changes to N64's relocation model handling. Furthermore, the jumptable encodings have been corrected for static N64.
Big GOT handling is now done via a new SDNode MipsGotHi - this node is unconditionally lowered to an lui instruction.
The first change to N64's relocation handling is the lifting of the restriction that N64 always uses PIC. Now it is possible to target static environments.
The second change adds support for 64 bit symbols and enables them by default. Previously N64 had patterns for sym32 mode only. In this mode all symbols are assumed to have 32 bit addresses. sym32 mode support is selectable with attribute 'sym32'. A follow on patch for clang will add the necessary frontend parameter.
This partially resolves PR/23485.
Thanks to Brooks Davis for reporting the issue!
Reviewers: dsanders, seanbruno, zoran.jovanovic, vkalintiris
Differential Revision: https://reviews.llvm.org/D23652
llvm-svn: 293164
show more ...
|
Revision tags: llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
#
b30e66b8 |
| 28-Jun-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert more cases to isPositionIndependent(). NFC.
llvm-svn: 274021
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
43750eab |
| 03-Jun-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] EABI CodeGen is completely untested and seems to have bitrotted. Remove it.
Summary: There are no tests*, no EABI buildbots, and simple test cases do not work.
* There is a single MIPS16 tes
[mips] EABI CodeGen is completely untested and seems to have bitrotted. Remove it.
Summary: There are no tests*, no EABI buildbots, and simple test cases do not work.
* There is a single MIPS16 test using a mips*-gnueabi triple but this test doesn't test EABI and the triple doesn't cause EABI to be used.
Reviewers: sdardis
Subscribers: tberghammer, danalbert, srhines, dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D20906
llvm-svn: 271658
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
2e386d3d |
| 12-Oct-2015 |
Zoran Jovanovic <zoran.jovanovic@imgtec.com> |
[mips][micromips] Initial support for micrmomips DSP instructions and addu.qb implementation Differential Revision: http://reviews.llvm.org/D12798
llvm-svn: 250058
|
#
50f17235 |
| 15-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Eric has replied and has demanded the patch be reverted.
llvm-svn: 247702
|
#
153010c5 |
| 15-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Re-commit r247683: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Summary: This is the first patch in the series to migrate Triple's (which are ambiguous) to TargetTuple's
Re-commit r247683: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Summary: This is the first patch in the series to migrate Triple's (which are ambiguous) to TargetTuple's (which aren't).
For the moment, TargetTuple simply passes all requests to the Triple object it holds. Once it has replaced Triple, it will start to implement the interface in a more suitable way.
This change makes some changes to the public C++ API. In particular, InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer() now take TargetTuples instead of Triples. The other public C++ API's have been left as-is for the moment to reduce patch size.
This commit also contains a trivial patch to clang to account for the C++ API change. Thanks go to Pavel Labath for fixing LLDB for me.
Reviewers: rengolin
Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10969
llvm-svn: 247692
show more ...
|
#
c40de480 |
| 15-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Revert r247684 - Replace Triple with a new TargetTuple ...
LLDB needs to be updated in the same commit.
llvm-svn: 247686
|
#
18d4b0da |
| 15-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Summary: This is the first patch in the series to migrate Triple's (which are ambiguous) to TargetTuple's (which aren't).
F
Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Summary: This is the first patch in the series to migrate Triple's (which are ambiguous) to TargetTuple's (which aren't).
For the moment, TargetTuple simply passes all requests to the Triple object it holds. Once it has replaced Triple, it will start to implement the interface in a more suitable way.
This change makes some changes to the public C++ API. In particular, InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer() now take TargetTuples instead of Triples. The other public C++ API's have been left as-is for the moment to reduce patch size.
This commit also contains a trivial patch to clang to account for the C++ API change.
Reviewers: rengolin
Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10969
llvm-svn: 247683
show more ...
|
#
e4e83a7b |
| 15-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Added support for various EVA ASE instructions.
Summary: Added support for the following instructions:
CACHEE, LBE, LBUE, LHE, LHUE, LWE, LLE, LWLE, LWRE, PREFE, SBE, SHE, SWE, SCE, SWLE, SW
[mips] Added support for various EVA ASE instructions.
Summary: Added support for the following instructions:
CACHEE, LBE, LBUE, LHE, LHUE, LWE, LLE, LWLE, LWRE, PREFE, SBE, SHE, SWE, SCE, SWLE, SWRE, TLBINV, TLBINVF
This required adding some infrastructure for the EVA ASE.
Patch by Scott Egerton.
Reviewers: vkalintiris, dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11139
llvm-svn: 247669
show more ...
|
#
3ebcaf66 |
| 03-Sep-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Added support for the div, divu, ddiv and ddivu macros which use traps and breaks in the integrated assembler.
Summary:
Patch by Scott Egerton
Reviewers: vkalintiris, dsanders
Subscribers:
[mips] Added support for the div, divu, ddiv and ddivu macros which use traps and breaks in the integrated assembler.
Summary:
Patch by Scott Egerton
Reviewers: vkalintiris, dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11675
llvm-svn: 246763
show more ...
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
#
157e5a6d |
| 09-Jul-2015 |
Mehdi Amini <mehdi.amini@apple.com> |
Remove getDataLayout() from TargetSelectionDAGInfo (had no users)
Summary: Remove empty subclass in the process.
This change is part of a series of commits dedicated to have a single DataLayout dur
Remove getDataLayout() from TargetSelectionDAGInfo (had no users)
Summary: Remove empty subclass in the process.
This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module.
Reviewers: echristo
Subscribers: jholewinski, llvm-commits, rafael, yaron.keren, ted
Differential Revision: http://reviews.llvm.org/D11045
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 241780
show more ...
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
c81f450f |
| 16-Jun-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Clean up redundant copies of Triple objects. NFC
Summary:
Reviewers: rengolin
Reviewed By: rengolin
Subscribers: llvm-commits, rengolin, jholewinski
Differential Revision: http://reviews.llvm.or
Clean up redundant copies of Triple objects. NFC
Summary:
Reviewers: rengolin
Reviewed By: rengolin
Subscribers: llvm-commits, rengolin, jholewinski
Differential Revision: http://reviews.llvm.org/D10382
llvm-svn: 239823
show more ...
|