| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 239657
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
create*MCSubtargetInfo(). NFC.
Summary:
This continues the patch series to eliminate StringRef forms of GNU triples
from the internals of LLVM that began in r239036.
Reviewers: rafael
Reviewed By: rafael
Subscribers: rafael, ted, jfb, llvm-commits, rengolin, jholewinski
Differential Revision: http://reviews.llvm.org/D10311
llvm-svn: 239467
|
|
|
|
|
|
| |
The bug in the R600 backend that this uncovered has been fixed.
llvm-svn: 238999
|
|
|
|
|
|
| |
The src and dst register cannot be the same on chips with 16 lds banks.
llvm-svn: 238147
|
|
|
|
|
|
|
|
|
| |
changes:
Don't apply on hexagon and NVPTX since they no longer claim to support UADDO/USUBO
Add location to getConstant
Drop comment about the ops being turned into expand
llvm-svn: 236240
|
|
|
|
| |
llvm-svn: 235629
|
|
|
|
|
|
|
|
|
|
|
| |
Revert "Remove default in fully-covered switch (to fix Clang -Werror -Wcovered-switch-default)"
Revert "R600: Add carry and borrow instructions. Use them to implement UADDO/USUBO"
Revert "LegalizeDAG: Try to use Overflow operations when expanding ADD/SUB"
Using overflow operations fails CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll
on hexagon, nvptx, and r600. Revert while I investigate.
llvm-svn: 234768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
v2: tighten the sub64 tests
v3: rename to CARRY/BORROW
v4: fixup test cmdline
add known bits computation
use sign extend instead of sub 0,x
better add test
v5: remove redundant break
move lowering to separate functions
fix comments
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewers: arsenm
llvm-svn: 234759
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is currently considered experimental, but most of the more
commonly used instructions should work.
So far only SI has been extensively tested, CI and VI probably work too,
but may be buggy. The current set of tests cases do not give complete
coverage, but I think it is sufficient for an experimental assembler.
See the documentation in R600Usage for more information.
llvm-svn: 234381
|
|
|
|
|
|
| |
This is a candidate for stable.
llvm-svn: 231659
|
|
|
|
|
|
| |
This is temporary while we try to fix a crash in the register coalescer.
llvm-svn: 228861
|
|
|
|
| |
llvm-svn: 228228
|
|
|
|
| |
llvm-svn: 227483
|
|
|
|
|
|
| |
The schedule model is not complete yet, and could be improved.
llvm-svn: 227461
|
|
|
|
|
|
|
|
| |
This is a follow up to r227113.
It is now required to use the amdgcn target for SI and newer GPUs.
llvm-svn: 227316
|
|
|
|
| |
llvm-svn: 227314
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is disabled by default, but can be enabled with the subtarget
feature: 'vgpr-spilling'
llvm-svn: 226597
|
|
|
|
|
|
|
|
|
|
|
| |
utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This
even uncovered a missing include from the InstrProf library that I've
added. No functionality changed here, just mechanical cleanup of the
include order.
llvm-svn: 225974
|
|
|
|
| |
llvm-svn: 223603
|
|
|
|
| |
llvm-svn: 223160
|
|
|
|
| |
llvm-svn: 223125
|
|
|
|
| |
llvm-svn: 221543
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently this only functions to match simple cases
where ds_read2_* / ds_write2_* instructions can be used.
In the future it might match some of the other weird
load patterns, such as direct to LDS loads.
Currently enabled only with a subtarget feature to enable
easier testing.
llvm-svn: 219533
|
|
|
|
| |
llvm-svn: 217777
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
information and update all callers. No functional change.
llvm-svn: 214781
|
|
|
|
|
|
|
| |
nothing subtarget dependent about the intrinsic support in any
backend as far as I can tell.
llvm-svn: 214738
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 213982
|
|
|
|
|
|
|
| |
The test is just copied from X86, and I don't know of a better
way to test it.
llvm-svn: 213351
|
|
|
|
|
|
|
|
|
| |
v2: use ffbh/l if available
v3: Rebase on top of Matt's SI patches
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Tom Stellard <tom@stellard.net>
llvm-svn: 213072
|
|
|
|
| |
llvm-svn: 213018
|
|
|
|
|
|
|
| |
This can make writing some tests harder, so add a flag
to disable it.
llvm-svn: 212893
|
|
|
|
| |
llvm-svn: 211917
|
|
|
|
|
|
|
| |
Remove an unused AMDIL leftover, correct extra periods
appearing in the help menu.
llvm-svn: 211341
|
|
|
|
| |
llvm-svn: 211110
|
|
|
|
| |
llvm-svn: 210869
|
|
|
|
| |
llvm-svn: 210569
|
|
|
|
| |
llvm-svn: 210564
|
|
|
|
| |
llvm-svn: 207654
|
|
|
|
|
|
| |
anything. In some cases remove all together if there are no callers either.
llvm-svn: 207610
|
|
|
|
|
|
| |
'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition
llvm-svn: 207503
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving these patterns from TableGen files to PerformDAGCombine()
should allow us to generate better code by eliminating unnecessary
shifts and extensions earlier.
This also fixes a bug where the MAD pattern was calling
SimplifyDemandedBits with a 24-bit mask on the first operand
even when the full pattern wasn't being matched. This occasionally
resulted in some instructions being incorrectly deleted from the
program.
v2:
- Fix bug with 64-bit mul
llvm-svn: 205731
|
|
|
|
| |
llvm-svn: 204072
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The unit test is now disabled on non-asserts builds.
The CF stack can be corrupted if you use CF_ALU_PUSH_BEFORE,
CF_ALU_ELSE_AFTER, CF_ALU_BREAK, or CF_ALU_CONTINUE when the number of
sub-entries on the stack is greater than or equal to the stack entry
size and sub-entries modulo 4 is either 0 or 3 (on cedar the bug is
present when number of sub-entries module 8 is either 7 or 0)
We choose to be conservative and always apply the work-around when the
number of sub-enries is greater than or equal to the stack entry size,
so that we can safely over-allocate the stack when we are unsure of the
stack allocation rules.
reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 199905
|
|
|
|
|
|
|
|
|
| |
This reverts commit 35b8331cad6eb512a2506adbc394201181da94ba.
The -debug-only flag for llc doesn't appear to be available in
all build configurations.
llvm-svn: 199845
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CF stack can be corrupted if you use CF_ALU_PUSH_BEFORE,
CF_ALU_ELSE_AFTER, CF_ALU_BREAK, or CF_ALU_CONTINUE when the number of
sub-entries on the stack is greater than or equal to the stack entry
size and sub-entries modulo 4 is either 0 or 3 (on cedar the bug is
present when number of sub-entries module 8 is either 7 or 0)
We choose to be conservative and always apply the work-around when the
number of sub-enries is greater than or equal to the stack entry size,
so that we can safely over-allocate the stack when we are unsure of the
stack allocation rules.
reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 199842
|
|
|
|
|
| |
reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 199840
|
|
|
|
|
|
|
|
| |
v2:
- Initialize wavefront size to 0
reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 199838
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 197310
|