#
38af4d63 |
| 18-May-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
Trivial cleanups.
This just clang formats and cleans comments in an area I am about to post a patch for review.
llvm-svn: 269946
|
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, 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 |
|
#
cbf08925 |
| 12-Jul-2015 |
Hal Finkel <hfinkel@anl.gov> |
[PowerPC] Make use of the TargetRecip system
r238842 added the TargetRecip system for controlling use of reciprocal estimates for sqrt and division using a set of parameters that can be set by the f
[PowerPC] Make use of the TargetRecip system
r238842 added the TargetRecip system for controlling use of reciprocal estimates for sqrt and division using a set of parameters that can be set by the frontend. Clang now supports a sophisticated -mrecip option, and this will allow that option to effectively control the relevant code-generation functionality of the PPC backend.
llvm-svn: 241985
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 ...
|
#
3e5de88d |
| 11-Jun-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Replace string GNU Triples with llvm::Triple in TargetMachine. NFC.
Summary: For the moment, TargetMachine::getTargetTriple() still returns a StringRef.
This continues the patch series to eliminate
Replace string GNU Triples with llvm::Triple in TargetMachine. NFC.
Summary: For the moment, TargetMachine::getTargetTriple() still returns a StringRef.
This continues the patch series to eliminate StringRef forms of GNU triples from the internals of LLVM that began in r239036.
Reviewers: rengolin
Reviewed By: rengolin
Subscribers: ted, llvm-commits, rengolin, jholewinski
Differential Revision: http://reviews.llvm.org/D10362
llvm-svn: 239554
show more ...
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
83eb13c9 |
| 21-Mar-2015 |
Eric Christopher <echristo@gmail.com> |
Remove the bare getSubtargetImpl call from the PPC port. As part of this add a test that shows we can generate code with for functions that differ by subtarget feature.
llvm-svn: 232882
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
#
93e1ea16 |
| 12-Mar-2015 |
Mehdi Amini <mehdi.amini@apple.com> |
Move the DataLayout to the generic TargetMachine, making it mandatory.
Summary: I don't know why every singled backend had to redeclare its own DataLayout. There was a virtual getDataLayout() on the
Move the DataLayout to the generic TargetMachine, making it mandatory.
Summary: I don't know why every singled backend had to redeclare its own DataLayout. There was a virtual getDataLayout() on the common base TargetMachine, the default implementation returned nullptr. It was not clear from this that we could assume at call site that a DataLayout will be available with each Target.
Now getDataLayout() is no longer virtual and return a pointer to the DataLayout member of the common base TargetMachine. I plan to turn it into a reference in a future patch.
The only backend that didn't have a DataLayout previsouly was the CPPBackend. It now initializes the default DataLayout. This commit is NFC for all the other backends.
Test Plan: clang+llvm ninja check-all
Reviewers: echristo
Subscribers: jfb, jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D8243
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231987
show more ...
|
Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4 |
|
#
fee6aaf6 |
| 17-Feb-2015 |
Eric Christopher <echristo@gmail.com> |
Move ABI handling and 64-bitness to the PowerPC target machine. This required changing how the computation of the ABI is handled and how some of the checks for ABI/target are done.
llvm-svn: 229471
|
Revision tags: llvmorg-3.6.0-rc3 |
|
#
8b04c0d2 |
| 01-Feb-2015 |
Chandler Carruth <chandlerc@gmail.com> |
[multiversion] Switch all of the targets over to use the TargetIRAnalysis access path directly rather than implementing getTTI.
This even removes getTTI from the interface. It's more efficient for e
[multiversion] Switch all of the targets over to use the TargetIRAnalysis access path directly rather than implementing getTTI.
This even removes getTTI from the interface. It's more efficient for each target to just register a precise callback that creates their specific TTI.
As part of this, all of the targets which are building their subtargets individually per-function now build their TTI instance with the function and thus look up the correct subtarget and cache it. NVPTX, R600, and XCore currently don't leverage this functionality, but its trivial for them to add it now.
llvm-svn: 227735
show more ...
|
#
93dcdc47 |
| 31-Jan-2015 |
Chandler Carruth <chandlerc@gmail.com> |
[PM] Switch the TargetMachine interface from accepting a pass manager base which it adds a single analysis pass to, to instead return the type erased TargetTransformInfo object constructed for that T
[PM] Switch the TargetMachine interface from accepting a pass manager base which it adds a single analysis pass to, to instead return the type erased TargetTransformInfo object constructed for that TargetMachine.
This removes all of the pass variants for TTI. There is now a single TTI *pass* in the Analysis layer. All of the Analysis <-> Target communication is through the TTI's type erased interface itself. While the diff is large here, it is nothing more that code motion to make types available in a header file for use in a different source file within each target.
I've tried to keep all the doxygen comments and file boilerplate in line with this move, but let me know if I missed anything.
With this in place, the next step to making TTI work with the new pass manager is to introduce a really simple new-style analysis that produces a TTI object via a callback into this routine on the target machine. Once we have that, we'll have the building blocks necessary to accept a function argument as well.
llvm-svn: 227685
show more ...
|
Revision tags: llvmorg-3.6.0-rc2 |
|
#
8b770651 |
| 26-Jan-2015 |
Eric Christopher <echristo@gmail.com> |
Move DataLayout back to the TargetMachine from TargetSubtargetInfo derived classes.
Since global data alignment, layout, and mangling is often based on the DataLayout, move it to the TargetMachine.
Move DataLayout back to the TargetMachine from TargetSubtargetInfo derived classes.
Since global data alignment, layout, and mangling is often based on the DataLayout, move it to the TargetMachine. This ensures that global data is going to be layed out and mangled consistently if the subtarget changes on a per function basis. Prior to this all targets(*) have had subtarget dependent code moved out and onto the TargetMachine.
*One target hasn't been migrated as part of this change: R600. The R600 port has, as a subtarget feature, the size of pointers and this affects global data layout. I've currently hacked in a FIXME to enable progress, but the port needs to be updated to either pass the 64-bitness to the TargetMachine, or fix the DataLayout to avoid subtarget dependent features.
llvm-svn: 227113
show more ...
|
Revision tags: llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
357600ea |
| 20-Nov-2014 |
Reid Kleckner <reid@kleckner.net> |
Add out of line virtual destructors to all LLVMTargetMachine subclasses
These recently all grew a unique_ptr<TargetLoweringObjectFile> member in r221878. When anyone calls a virtual method of a cla
Add out of line virtual destructors to all LLVMTargetMachine subclasses
These recently all grew a unique_ptr<TargetLoweringObjectFile> member in r221878. When anyone calls a virtual method of a class, clang-cl requires all virtual methods to be semantically valid. This includes the implicit virtual destructor, which triggers instantiation of the unique_ptr destructor, which fails because the type being deleted is incomplete.
This is just part of the ongoing saga of PR20337, which is affecting Blink as well. Because the MSVC ABI doesn't have key functions, we end up referencing the vtable and implicit destructor on any virtual call through a class. We don't actually end up emitting the dtor, so it'd be good if we could avoid this unneeded type completion work.
llvm-svn: 222480
show more ...
|
#
a2719329 |
| 13-Nov-2014 |
Aditya Nandakumar <aditya_nandakumar@apple.com> |
This patch changes the ownership of TLOF from TargetLoweringBase to TargetMachine so that different subtargets could share the TLOF effectively
llvm-svn: 221878
|
#
3faf2f1e |
| 06-Oct-2014 |
Eric Christopher <echristo@gmail.com> |
Add subtarget caches to aarch64, arm, ppc, and x86. These will make it easier to test further changes to the code generation and optimization pipelines as those are moved to subtargets initialized wi
Add subtarget caches to aarch64, arm, ppc, and x86. These will make it easier to test further changes to the code generation and optimization pipelines as those are moved to subtargets initialized with target feature and target cpu.
llvm-svn: 219106
show more ...
|
#
0bb041b5 |
| 18-Sep-2014 |
Aaron Ballman <aaron@aaronballman.com> |
Reverting NFC changes from r218050. Instead, the warning was disabled for GCC in r218059, so these changes are no longer required.
llvm-svn: 218062
|
#
11fa97fa |
| 18-Sep-2014 |
Aaron Ballman <aaron@aaronballman.com> |
Fixing a bunch of -Woverloaded-virtual warnings due to hiding getSubtargetImpl from the base class. NFC.
llvm-svn: 218050
|
#
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 |
|
#
a7c40ef0 |
| 13-Aug-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
Canonicalize header guards into a common format.
Add header guards to files that were missing guards. Remove #endif comments as they don't seem common in LLVM (we can easily add them back if we deci
Canonicalize header guards into a common format.
Add header guards to files that were missing guards. Remove #endif comments as they don't seem common in LLVM (we can easily add them back if we decide they're useful)
Changes made by clang-tidy with minor tweaks.
llvm-svn: 215558
show more ...
|
#
3770cf59 |
| 09-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Remove extraneous 64-bit argument to the PPC TargetMachine constructor and update initialization.
llvm-svn: 215280
|
#
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 |
|
#
b8141d55 |
| 05-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove a virtual function from TargetMachine. NFC.
llvm-svn: 214929
|
#
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
|
#
6c05d913 |
| 01-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Add a non-const subtarget returning function to the target machine so that we can use it to get the old-style JIT out of the subtarget.
This code should be removed when the old-style JIT is removed
Add a non-const subtarget returning function to the target machine so that we can use it to get the old-style JIT out of the subtarget.
This code should be removed when the old-style JIT is removed (imminently).
llvm-svn: 214560
show more ...
|
Revision tags: llvmorg-3.5.0-rc1 |
|
#
83e07234 |
| 26-Jun-2014 |
Eric Christopher <echristo@gmail.com> |
Remove extraneous includes from the target machines.
llvm-svn: 211800
|
#
02ae6902 |
| 12-Jun-2014 |
Eric Christopher <echristo@gmail.com> |
Move the PPCSelectionDAGInfo off the TargetMachine and onto the subtarget.
llvm-svn: 210854
|