#
9a4f2c55 |
| 24-Jan-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Fix 'jumpy' debug line info around calls.
Summary: At the moment, address calculation is taking the debug line info from the address node (e.g. TargetGlobalAddress). When a function is called
[mips] Fix 'jumpy' debug line info around calls.
Summary: At the moment, address calculation is taking the debug line info from the address node (e.g. TargetGlobalAddress). When a function is called multiple times, this results in output of the form:
.loc $first_call_location .. address calculation .. .. function call .. .. address calculation .. .loc $second_call_location .. function call .. .loc $first_call_location .. address calculation .. .loc $third_call_location .. function call ..
This patch makes address calculations for function calls take the debug line info for the call node and results in output of the form: .loc $first_call_location .. address calculation .. .. function call .. .loc $second_call_location .. address calculation .. .. function call .. .loc $third_call_location .. address calculation .. .. function call ..
All other address calculations continue to use the address node.
Test Plan: Fixes test/DebugInfo/multiline.ll on a mips host.
Subscribers: dblaikie, llvm-commits
Differential Revision: http://reviews.llvm.org/D7050
llvm-svn: 227005
show more ...
|
Revision tags: llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
23e98776 |
| 02-Nov-2014 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
sret arguments can never originate from an f128 argument so we detect sret ar
Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
sret arguments can never originate from an f128 argument so we detect sret arguments and push false into OriginalArgWasF128.
llvm-svn: 221102
show more ...
|
#
cd2996c3 |
| 02-Nov-2014 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r221056 and others, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
r221056 "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC
Revert r221056 and others, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
r221056 "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." r221058 "[mips] Fix unused variable warning introduced in r221056" r221059 "[mips] Move all ByVal handling into CCState and tablegen-erated code. NFC." r221061 "Renamed CCState members that appear to misspell 'Processed' as 'Proceed'. NFC."
It cuased an undefined behavior in LLVM :: CodeGen/Mips/return-vector.ll.
llvm-svn: 221081
show more ...
|
#
88e1c739 |
| 01-Nov-2014 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips] Move all ByVal handling into CCState and tablegen-erated code. NFC.
Summary: CCState already contains a byval implementation that is very similar to the Mips custom code. This patch merges th
[mips] Move all ByVal handling into CCState and tablegen-erated code. NFC.
Summary: CCState already contains a byval implementation that is very similar to the Mips custom code. This patch merges the custom code into the existing common code and tablegen-erated code.
Reviewers: vmedic
Reviewed By: vmedic
Subscribers: rnk, llvm-commits
Differential Revision: http://reviews.llvm.org/D5977
llvm-svn: 221059
show more ...
|
#
7072a796 |
| 01-Oct-2014 |
Sasa Stankovic <Sasa.Stankovic@imgtec.com> |
[mips] For indirect calls we don't need $gp to point to .got. Mips linker doesn't generate lazy binding stub for a function whose address is taken in the program.
Differential Revision: http://revi
[mips] For indirect calls we don't need $gp to point to .got. Mips linker doesn't generate lazy binding stub for a function whose address is taken in the program.
Differential Revision: http://reviews.llvm.org/D5067
llvm-svn: 218744
show more ...
|
#
9b270d4d |
| 29-Sep-2014 |
Eric Christopher <echristo@gmail.com> |
Fix spelling and reflow comments.
llvm-svn: 218631
|
#
b1526600 |
| 19-Sep-2014 |
Eric Christopher <echristo@gmail.com> |
constify the TargetMachine being passed through the Mips subtarget creation.
llvm-svn: 218169
|
#
79cc1e3a |
| 02-Sep-2014 |
Eric Christopher <echristo@gmail.com> |
Reinstate "Nuke the old JIT." Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reinstates commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 216982
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3 |
|
#
469de19a |
| 11-Aug-2014 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix typos: * libaries => libraries * avaiable => available
llvm-svn: 215366
|
#
b9fd9ed3 |
| 07-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Temporarily Revert "Nuke the old JIT." as it's not quite ready to be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate.
Approved by Jim Grosbach, Lang Ha
Temporarily Revert "Nuke the old JIT." as it's not quite ready to be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate.
Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reverts commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 215154
show more ...
|
#
f8b27c41 |
| 07-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Nuke the old JIT.
I am sure we will be finding bits and pieces of dead code for years to come, but this is a good start.
Thanks to Lang Hames for making MCJIT a good replacement!
llvm-svn: 215111
|
Revision tags: llvmorg-3.5.0-rc2 |
|
#
d913448b |
| 04-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Remove the TargetMachine forwards for TargetSubtargetInfo based information and update all callers. No functional change.
llvm-svn: 214781
|
#
6f2a5261 |
| 27-Jul-2014 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add alignment value to allowsUnalignedMemoryAccess
Rename to allowsMisalignedMemoryAccess.
On R600, 8 and 16 byte accesses are mostly OK with 4-byte alignment, and don't need to be split into multi
Add alignment value to allowsUnalignedMemoryAccess
Rename to allowsMisalignedMemoryAccess.
On R600, 8 and 16 byte accesses are mostly OK with 4-byte alignment, and don't need to be split into multiple accesses. Vector loads with an alignment of the element type are not uncommon in OpenCL code.
llvm-svn: 214055
show more ...
|
Revision tags: llvmorg-3.5.0-rc1 |
|
#
8924d27c |
| 18-Jul-2014 |
Eric Christopher <echristo@gmail.com> |
In preparation for replacing the whole subtarget on the target machine, have target lowering take the subtarget explicitly.
llvm-svn: 213426
|
#
1c29a657 |
| 18-Jul-2014 |
Eric Christopher <echristo@gmail.com> |
The subtarget in MipsTargetLowering isn't going to change and so doesn't need to be a pointer, but a reference.
llvm-svn: 213422
|
#
7394e234 |
| 18-Jul-2014 |
Eric Christopher <echristo@gmail.com> |
Avoid resetting the UseSoftFloat and FloatABIType on the TargetMachine Options struct and move the comment to inMips16HardFloat. Use the fact that we now know whether or not we cared about soft float
Avoid resetting the UseSoftFloat and FloatABIType on the TargetMachine Options struct and move the comment to inMips16HardFloat. Use the fact that we now know whether or not we cared about soft float to set the libcalls. Accordingly rename mipsSEUsesSoftFloat to abiUsesSoftFloat and propagate since it's no longer CPU specific.
llvm-svn: 213335
show more ...
|
#
ad4de684 |
| 03-Jul-2014 |
Eric Christopher <echristo@gmail.com> |
Remove dead code.
llvm-svn: 212244
|
#
9f664c10 |
| 17-May-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Target: change member from reference to pointer
This is a preliminary step to help ease the construction of CallLoweringInfo. Changing the construction to a chained function pattern requires that th
Target: change member from reference to pointer
This is a preliminary step to help ease the construction of CallLoweringInfo. Changing the construction to a chained function pattern requires that the parameter be nullable. However, rather than copying the vector, save a pointer rather than the reference to permit a late binding of the arguments.
llvm-svn: 209080
show more ...
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
062a2bae |
| 25-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++] Use 'nullptr'. Target edition.
llvm-svn: 207197
|
#
84e68b29 |
| 22-Apr-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE definition below all of the header #include lines, lib/Target/... edition.
llvm-svn: 206842
|
#
502b9e1d |
| 12-Apr-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
Retire llvm::array_endof in favor of non-member std::end.
While there make array_lengthof constexpr if we have support for it.
llvm-svn: 206112
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
442f7848 |
| 04-Mar-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[cleanup] Re-sort all the includes with utils/sort_includes.py.
llvm-svn: 202811
|
#
b6d0bd48 |
| 02-Mar-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
[C++11] Replace llvm::next and llvm::prior with std::next and std::prev.
Remove the old functions.
llvm-svn: 202636
|
#
d2da8109 |
| 19-Feb-2014 |
Reed Kotler <rkotler@mips.com> |
Make one statement easier to understand from post commmit feedback from a review of the previous patch that introduced this week.
llvm-svn: 201723
|
#
4cdaa7d7 |
| 14-Feb-2014 |
Reed Kotler <rkotler@mips.com> |
This patch has two main functions:
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
This patch has two main functions:
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
show more ...
|