| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Use VGPR_32 register class instead. These two register classes were
identical and having separate classes was causing
SIInstrInfo::isLegalOperands() to be overly conservative in some cases.
This change is necessary to prevent future paches from missing a folding
opportunity in fneg-fabs.ll.
llvm-svn: 225382
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is equivalent to the AMDGPUTargetMachine now, but it is the
starting point for separating R600 and GCN functionality into separate
targets.
It is recommened that users start using the gcn triple for GCN-based
GPUs, because using the r600 triple for these GPUs will be deprecated in
the future.
llvm-svn: 225277
|
|
|
|
|
|
|
| |
The dump was dependent on a feature string, which meant that it couldn't
be disabled or enable on a per compile basis.
llvm-svn: 225275
|
|
|
|
| |
llvm-svn: 223237
|
|
|
|
| |
llvm-svn: 223160
|
|
|
|
| |
llvm-svn: 223154
|
|
|
|
| |
llvm-svn: 223144
|
|
|
|
| |
llvm-svn: 219002
|
|
|
|
|
|
| |
table
llvm-svn: 218776
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VGPRs are spilled to LDS. This still needs more testing, but
we need to at least enable it at -O0, because the fast register
allocator spills all registers that are live at the end of blocks
and without this some future commits will break the
flat-address-space.ll test.
v2: Only calculate thread id once
v3: Move insertion of spill instructions to
SIRegisterInfo::eliminateFrameIndex()
llvm-svn: 218348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In r217636, the value stored in KernelInfo.Num[VS]GPRSs was changed from
the highest GPR index used to the number of gprs in order to be
consistent with the name of the variable.
The code writing the config values still assumed that the value in this
variable was the highest GPR index used, which caused the compiler to
over report the number of GPRs being used.
https://bugs.freedesktop.org/show_bug.cgi?id=84089
llvm-svn: 218150
|
|
|
|
| |
llvm-svn: 217777
|
|
|
|
|
|
|
| |
The register numbers start at 0, so if only 1 register
was used, this was reported as 0.
llvm-svn: 217636
|
|
|
|
|
|
| |
information and update all callers. No functional change.
llvm-svn: 214781
|
|
|
|
| |
llvm-svn: 213551
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements a solution for constant initializers suggested
by Vadim Girlin, where we store the data after the shader code
and then use the S_GETPC instruction to compute its address.
This saves use the trouble of creating a new buffer for constant data
and then having to pass the pointer to the kernel via user SGPRs or the
input buffer.
llvm-svn: 213530
|
|
|
|
| |
llvm-svn: 213018
|
|
|
|
| |
llvm-svn: 213017
|
|
|
|
| |
llvm-svn: 212897
|
|
|
|
| |
llvm-svn: 212896
|
|
|
|
|
|
|
|
| |
The default rounding mode to initialize the mode register needs
to be reported to the runtime. Fill in other bits a kernel
may be interested in setting for future use.
llvm-svn: 211791
|
|
|
|
| |
llvm-svn: 210869
|
|
|
|
| |
llvm-svn: 206336
|
|
|
|
|
|
|
|
|
|
|
|
| |
This instructions writes to an 32-bit SGPR. This change required adding
the 32-bit VCC_LO and VCC_HI registers, because the full VCC register
is 64 bits.
This fixes verifier errors on several of the indirect addressing piglit
tests.
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 204055
|
|
|
|
|
|
|
| |
We moved MCJIT to use native object formats a long time ago and R600
now uses ELF, so it was dead.
llvm-svn: 202408
|
|
|
|
|
|
|
|
| |
There is nothing wrong with printing the disassembly section when printing
text. An hypothetical assembler would then produce a .o just like our
direct object emission produces.
llvm-svn: 200583
|
|
|
|
| |
llvm-svn: 200582
|
|
|
|
| |
llvm-svn: 200581
|
|
|
|
|
|
| |
Sorry about that.
llvm-svn: 200171
|
|
|
|
| |
llvm-svn: 200170
|
|
|
|
|
| |
reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 199837
|
|
|
|
| |
llvm-svn: 198794
|
|
|
|
| |
llvm-svn: 196971
|
|
|
|
| |
llvm-svn: 196467
|
|
|
|
| |
llvm-svn: 194688
|
|
|
|
|
|
|
|
| |
v2:
- Fix LDS size calculation
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 193621
|
|
|
|
| |
llvm-svn: 193212
|
|
|
|
| |
llvm-svn: 193198
|
|
|
|
|
|
|
|
|
| |
enabled.
Patch by: Jay Cornwall
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 192523
|
|
|
|
|
|
|
| |
Enough for the radeonsi driver to use it for calculating derivatives.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 186012
|
|
|
|
|
| |
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 185162
|
|
|
|
|
|
|
|
| |
This should simplify the subtarget definitions and make it easier to
add new ones.
Reviewed-by: Vincent Lejeune <vljn@ovi.com>
llvm-svn: 183566
|
|
|
|
|
|
| |
while there.
llvm-svn: 182594
|
|
|
|
|
|
| |
Reviewed-by: Vincent Lejeune <vljn@ovi.com>
Tested-By: Aaron Watry <awatry@gmail.com>
llvm-svn: 181228
|
|
|
|
| |
llvm-svn: 180751
|
|
|
|
|
|
|
|
| |
The libelf implementation that is distributed here:
http://www.mr511.de/software/english.html
will not parse sections that are marked SHT_NULL.
llvm-svn: 180230
|
|
|
|
| |
llvm-svn: 180124
|
|
|
|
| |
llvm-svn: 179684
|
|
|
|
|
|
|
|
| |
Instead of emitting config values in a predefined order, the code
emitter will now emit a 32-bit register index followed by the 32-bit
config value.
llvm-svn: 179546
|
|
|
|
| |
llvm-svn: 179545
|