summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/CostModel/AMDGPU
Commit message (Collapse)AuthorAgeFilesLines
* AMDGPU: Make some packed shuffles freeMatt Arsenault2017-05-103-41/+119
| | | | | | | VOP3P instructions can encode access to either half of the register. llvm-svn: 302730
* AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernelMatt Arsenault2017-03-2112-99/+99
| | | | | | | | | | | | Currently the default C calling convention functions are treated the same as compute kernels. Make this explicit so the default calling convention can be changed to a non-kernel. Converted with perl -pi -e 's/define void/define amdgpu_kernel void/' on the relevant test directories (and undoing in one place that actually wanted a non-kernel). llvm-svn: 298444
* AMDGPU: Cost model for basic integer operationsMatt Arsenault2016-03-254-0/+343
| | | | | | | This resolves bug 21148 by preventing promotion to i64 induction variables. llvm-svn: 264376
* AMDGPU: Partially implement getArithmeticInstrCost for FP opsMatt Arsenault2016-03-254-0/+358
| | | | llvm-svn: 264374
* TTI: Report 0 cost for free addrspacecastsMatt Arsenault2016-03-251-0/+45
| | | | llvm-svn: 264369
* TTI: Use 0 for cost of fabs if freeMatt Arsenault2016-03-251-0/+97
| | | | | | | Ideally this would also happen for fneg, but that isn't a distinct operation in the IR. llvm-svn: 264368
* AMDGPU: TTI: Make insertelement free.Matt Arsenault2016-03-251-0/+37
| | | | | | We don't want to have a cost to scalarizing operations. llvm-svn: 264364
* AMDGPU: Override getCFInstrCostMatt Arsenault2015-12-161-0/+45
| | | | | | The default cost was 0 with the assumption that it is predictable. llvm-svn: 255796
* AMDGPU: Report extractelement as free in cost modelMatt Arsenault2015-12-012-0/+112
The cost for scalarized operations is computed as N * (scalar operation cost + 1 extractelement + 1 insertelement). This partially fixes inflating the cost of scalarized operations since every operation is scalarized and free. I don't think we want any cost asociated with scalarization, but for now insertelement is still counted. I'm not sure if we should pretend that insertelement is also free, or add a way to compute a custom scalarization cost. llvm-svn: 254438
OpenPOWER on IntegriCloud