Programming Languages Research Group: Git - oota-llvm.git/atom - lib/Target/AMDGPU/CMakeLists.txt history C/C++ LLVM-based compilers that forbids OOTA behaviors http://plrg.eecs.uci.edu/git/?p=oota-llvm.git Peizhao Ou static/git-favicon.png static/git-logo.png 2016-01-13T16:10:10Z gitweb AMDGPU/SI: Add SI Machine Scheduler 2016-01-13T16:10:10Z Nicolai Haehnle nhaehnle@gmail.com Nicolai Haehnle nhaehnle@gmail.com 2016-01-13T16:10:10Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=cead1b4a6d1a2cdc7bb8be1488f8c0363eb343a7
AMDGPU/SI: Add SI Machine Scheduler

Summary:
It is off by default, but can be used
with --misched=si

Patch by: Axel Davy

Reviewers: arsenm, tstellarAMD, nhaehnle

Subscribers: nhaehnle, solenskiner, arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D11885

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257609 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU/SI: Select constant loads with non-uniform addresses to MUBUF instructions 2015-12-15T20:55:55Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2015-12-15T20:55:55Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=6a0d02e088584bb29783924347a5de31aeb06f3d
AMDGPU/SI: Select constant loads with non-uniform addresses to MUBUF instructions

Summary:
We were previously selecting all constant loads to SMRD instructions and legalizing
the SMRDs with non-uniform addresses during the SIFixSGPRCopesPass.

This new solution is more simple and also generates much better code, because
the instruction selector is able to take advantage of all the MUBUF addressing
modes that are legalization pass wasn't able to.

We also no longer need to generate v_add_* instructions when we
have a uniform pointer and a non-uniform offset, as this is now folded into the
MUBUF instruction during instruction selection.

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D15425

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255672 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU/SI: Emit constant arrays in the .text section 2015-12-10T02:13:01Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2015-12-10T02:13:01Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=7d2a810fefbec714ee717e7090fea882c8d336ef
AMDGPU/SI: Emit constant arrays in the .text section

Summary:
This allows us to remove the END_OF_TEXT_LABEL hack we had been using
and simplifies the fixups used to compute the address of constant
arrays.

Reviewers: arsenm

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D15257

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255204 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU: Remove SIPrepareScratchRegs 2015-11-30T21:15:53Z Matt Arsenault Matthew.Arsenault@amd.com Matt Arsenault Matthew.Arsenault@amd.com 2015-11-30T21:15:53Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=956f59ab56fcbaf4256b6dc92dc6d8a9ac592365
AMDGPU: Remove SIPrepareScratchRegs

It does not work because of emergency stack slots.
This pass was supposed to eliminate dummy registers for the
spill instructions, but the register scavenger can introduce
more during PrologEpilogInserter, so some would end up
left behind if they were needed.

The potential for spilling the scratch resource descriptor
and offset register makes doing something like this
overly complicated. Reserve registers to use for the resource
descriptor and use them directly in eliminateFrameIndex.

Also removes creating another scratch resource descriptor
when directly selecting scratch MUBUF instructions.

The choice of which registers are reserved is temporary.
For now it attempts to pick the next available registers
after the user and system SGPRs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254329 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU: Create emergency stack slots during frame lowering 2015-11-06T18:17:45Z Matt Arsenault Matthew.Arsenault@amd.com Matt Arsenault Matthew.Arsenault@amd.com 2015-11-06T18:17:45Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=ade9b95acb1a35a2d9241da900da480f0f3b47d1
AMDGPU: Create emergency stack slots during frame lowering

Test has a bogus verifier error which will be fixed by later commits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252327 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU: Add pass to detect used kernel features 2015-11-06T18:01:57Z Matt Arsenault Matthew.Arsenault@amd.com Matt Arsenault Matthew.Arsenault@amd.com 2015-11-06T18:01:57Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=454a57ccb6a7b85c960074109d2e8c18b0a7f0ab
AMDGPU: Add pass to detect used kernel features

Mark kernels that use certain features that require user
SGPRs to support with kernel attributes. We need to know
before instruction selection begins because it impacts
the kernel calling convention lowering.

For now this only detects the workitem intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252323 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU: Split DiagnosticInfoUnsupported into its own file 2015-10-21T22:37:46Z Matt Arsenault Matthew.Arsenault@amd.com Matt Arsenault Matthew.Arsenault@amd.com 2015-10-21T22:37:46Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=07437a8e790e2bde6b76e0a15e5c39b9f5431052
AMDGPU: Split DiagnosticInfoUnsupported into its own file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250959 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU/SI: Use .hsatext section instead of .text for HSA 2015-09-25T21:41:28Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2015-09-25T21:41:28Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=1566e71dbdcafe8bea842ffe564ca5bddedd6611
AMDGPU/SI: Use .hsatext section instead of .text for HSA

Reviewers: arsenm, grosbach, rafael

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D12424

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248619 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU: Add pass to lower OpenCL image and sampler arguments. 2015-08-07T23:19:30Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2015-08-07T23:19:30Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=945ad7d241ab24e92e8315ac3906b0a52a5d5b0d
AMDGPU: Add pass to lower OpenCL image and sampler arguments.

The pass adds new kernel arguments for image attributes, and
resolves calls to dummy attribute and resource id getter functions.

Patch by: Zoltan Gilian

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244372 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU/SI: Add hsa code object directives 2015-06-26T21:15:07Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2015-06-26T21:15:07Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=ac1a45e511ea62c0f13d33c573eb72966259c63c
AMDGPU/SI: Add hsa code object directives

Reviewers: arsenm

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D10757

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240831 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
R600 -> AMDGPU rename 2015-06-13T03:28:10Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2015-06-13T03:28:10Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=953c6814730951ad9a286d7991e9c8c481433d45
R600 -> AMDGPU rename

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239657 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
Revert "AMDGPU: Add core backend files for R600/SI codegen v6" 2012-07-16T18:19:53Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2012-07-16T18:19:53Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=b1162b8d4be6680c9f2c9f3124ce279876e2bb15
Revert "AMDGPU: Add core backend files for R600/SI codegen v6"

This reverts commit 4ea70107c5e51230e9e60f0bf58a0f74aa4885ea.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160303 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
Revert "Target/AMDGPU: [CMake] Fix dependencies. 1) Add intrinsics_gen. Add AMDGPUCom... 2012-07-16T18:19:40Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2012-07-16T18:19:40Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=3685e223fd90d9117df70b1fdd1956cc2f179b8d
Revert "Target/AMDGPU: [CMake] Fix dependencies. 1) Add intrinsics_gen. Add AMDGPUCommonTableGen."

This reverts commit ebc934ba32ee71abbb8f0f2eb6a0fbaa613ba0d2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160298 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
Target/AMDGPU: [CMake] Fix dependencies. 1) Add intrinsics_gen. Add AMDGPUCommonTableGen. 2012-07-16T15:09:11Z NAKAMURA Takumi geek4civic@gmail.com NAKAMURA Takumi geek4civic@gmail.com 2012-07-16T15:09:11Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=694fbf17777f96e65e782667826dbccbe7524c32
Target/AMDGPU: [CMake] Fix dependencies. 1) Add intrinsics_gen. Add AMDGPUCommonTableGen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160276 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt
AMDGPU: Add core backend files for R600/SI codegen v6 2012-07-16T14:17:08Z Tom Stellard thomas.stellard@amd.com Tom Stellard thomas.stellard@amd.com 2012-07-16T14:17:08Z http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff;h=23dc769a9b592b356accb74a2e8816e6630ebaa8
AMDGPU: Add core backend files for R600/SI codegen v6

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160270 91177308-0d34-0410-b5e6-96231b3b80d8
  • [D] lib/Target/AMDGPU/CMakeLists.txt