| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 274039
|
| |
|
|
| |
llvm-svn: 274034
|
| |
|
|
| |
llvm-svn: 274033
|
| |
|
|
|
|
|
| |
This was producing acceses to registers beyond the super
register's limits, resulting in verifier failures.
llvm-svn: 273977
|
| |
|
|
| |
llvm-svn: 273964
|
| |
|
|
|
|
| |
Not sure this actually changes anything
llvm-svn: 273947
|
| |
|
|
| |
llvm-svn: 273940
|
| |
|
|
| |
llvm-svn: 273937
|
| |
|
|
|
|
| |
Also fix pointlessly adding exec to liveins.
llvm-svn: 273916
|
| |
|
|
| |
llvm-svn: 273872
|
| |
|
|
| |
llvm-svn: 273860
|
| |
|
|
| |
llvm-svn: 273859
|
| |
|
|
| |
llvm-svn: 273858
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't cast GV expression to MCSymbolRefExpr. r272705 changed GV to binary
expressions by including offset even if the offset it 0
(we haven't hit this sooner since tested workloads don't include static offsets)
We don't really care about the type of expression, so set it directly.
Fixes: r272705
Consider section relative relocations. Since all const as data is in one boffer section relative is equivalent to abs32.
Fixes: r273166
Differential Revision: http://reviews.llvm.org/D21633
llvm-svn: 273785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the kernel code header
Debugger prologue is emitted if -mattr=+amdgpu-debugger-emit-prologue.
Debugger prologue writes work group IDs and work item IDs to scratch memory at fixed location in the following format:
- offset 0: work group ID x
- offset 4: work group ID y
- offset 8: work group ID z
- offset 16: work item ID x
- offset 20: work item ID y
- offset 24: work item ID z
Set
- amd_kernel_code_t::debug_wavefront_private_segment_offset_sgpr to scratch wave offset reg
- amd_kernel_code_t::debug_private_segment_buffer_sgpr to scratch rsrc reg
- amd_kernel_code_t::is_debug_supported to true if all debugger features are enabled
Differential Revision: http://reviews.llvm.org/D20335
llvm-svn: 273769
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Offset folding only works if you are emitting relocations, and we don't
emit relocations for local address space globals.
Reviewers: arsenm, nhaustov
Subscribers: arsenm, llvm-commits, kzhuravl
Differential Revision: http://reviews.llvm.org/D21647
llvm-svn: 273765
|
| |
|
|
|
|
|
|
|
|
| |
COPY was lacking a scheduling class, define it to avoid regressions in
the upcoming change to the bidirectional MachineScheduler. Approved by
tstellar on IRC.
Differential Revision: http://reviews.llvm.org/D21540
llvm-svn: 273751
|
| |
|
|
|
|
|
|
| |
This will do various things including ones
CodeGenPrepare does, but with knowledge of uniform
values.
llvm-svn: 273657
|
| |
|
|
|
|
|
|
| |
The only real reason to use it is for testing, so replace
it with a command line option instead of a potentially function
dependent feature.
llvm-svn: 273653
|
| |
|
|
|
|
|
|
|
| |
Split AMDGPUSubtarget into amdgcn/r600 specific subclasses.
This removes most of the static_casting of the basic codegen
classes everywhere, and tries to restrict the features
visible on the wrong target.
llvm-svn: 273652
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We will start generating this in a future patch.
Reviewers: arsenm, kzhuravl, rafael, ruiu, tony-tye
Subscribers: arsenm, llvm-commits, kzhuravl
Differential Revision: http://reviews.llvm.org/D21482
llvm-svn: 273628
|
| |
|
|
|
|
| |
This can help debug spilling problems.
llvm-svn: 273605
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21380
llvm-svn: 273561
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The exit-on-error flag was necessary in order to avoid an assertion when
handling DYNAMIC_STACKALLOC nodes in SelectionDAGLegalize.
We can avoid the assertion by creating some dummy nodes. This enables us to
remove the exit-on-error flag on the first 2 run lines (SI), but on the third
run line (R600) we would run into another assertion when trying to reserve
indirect registers. This patch also replaces that assertion with an early exit
from the function.
Fixes PR27761.
Differential Revision: http://reviews.llvm.org/D20852
llvm-svn: 273550
|
| |
|
|
| |
llvm-svn: 273525
|
| |
|
|
| |
llvm-svn: 273514
|
| |
|
|
|
|
|
|
| |
Reviewers: tstellarAMD, arsenm
Differential Revision: http://reviews.llvm.org/D21533
llvm-svn: 273496
|
| |
|
|
| |
llvm-svn: 273469
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The main sin this was committing was using terminator
instructions in the middle of the block, and then
not updating the block successors / predecessors.
Split the blocks up to avoid this and introduce new
pseudo instructions for branches taken with exec masking.
Also use a pseudo instead of emitting s_endpgm and erasing
it in the special case of a non-void return.
llvm-svn: 273467
|
| |
|
|
|
|
|
| |
We don't need it to be that high. The natural alignment
for a single workitem's stack is 16.
llvm-svn: 273448
|
| |
|
|
|
|
|
| |
Mostly removing dead code. Apparently gcc's warning
for unused functions is better
llvm-svn: 273363
|
| |
|
|
|
|
| |
Found by gcc 6.
llvm-svn: 273322
|
| |
|
|
|
|
|
|
| |
Points to the start of implicit arguments (appended after explicit arguments)
Differential Revision: http://reviews.llvm.org/D20297
llvm-svn: 273317
|
| |
|
|
|
|
| |
Found by gcc 6.
llvm-svn: 273303
|
| |
|
|
|
|
|
|
|
| |
The implicit operand is added by the initial instruction construction,
so this was adding an additional vcc use. The original one
was missing the undef flag the original condition had,
so the verifier would complain.
llvm-svn: 273182
|
| |
|
|
|
|
|
|
|
|
|
| |
This will help sneak undefs past GVN into the DAG for
some tests.
Also add missing intrinsic for rsq_legacy, even though the node
was already selected to the instruction. Also start passing
the debug location to intrinsic errors.
llvm-svn: 273181
|
| |
|
|
|
|
|
| |
Backends may want to report errors on resources other than
stack size.
llvm-svn: 273177
|
| |
|
|
| |
llvm-svn: 273172
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm, kzhuravl, rafael
Subscribers: arsenm, llvm-commits, kzhuravl
Differential Revision: http://reviews.llvm.org/D21401
llvm-svn: 273168
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm, rafael, kzhuravl
Subscribers: rafael, arsenm, llvm-commits, kzhuravl
Differential Revision: http://reviews.llvm.org/D21400
llvm-svn: 273166
|
| |
|
|
| |
llvm-svn: 273131
|
| |
|
|
| |
llvm-svn: 273129
|
| |
|
|
|
|
|
|
| |
Don't use AllocateStack because kernel arguments have nothing
to do with the stack. The ensureMaxAlignment call was still
changing the stack alignment.
llvm-svn: 273080
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should select to s_trap, but that requires
additonal work to setup and enable the trap handler.
For now emit s_endpgm so bugpoint stops getting stuck
on the unsupported call to abort.
Emit a warning that this will only terminate the wave and
not really trap.
llvm-svn: 273062
|
| |
|
|
|
|
| |
This change were suggested in http://reviews.llvm.org/D21154.
llvm-svn: 273059
|
| |
|
|
|
|
| |
Mesa doesn't emit this for llvm >= 3.8 anymore.
llvm-svn: 273050
|
| |
|
|
|
|
|
|
|
|
| |
eliminateFrameIndex
Reviewers: arsenm, tstellarAMD
Differential Revision: http://reviews.llvm.org/21438
llvm-svn: 272958
|
| |
|
|
|
|
|
| |
This was causing the conservative estimate of inline asm
size to be twice as big as expected.
llvm-svn: 272956
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21362
llvm-svn: 272919
|
| |
|
|
| |
llvm-svn: 272785
|