summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InferAddressSpaces
Commit message (Collapse)AuthorAgeFilesLines
* InferAddressSpaces: Fix bug about replacing addrspacecastYaxun Liu2017-10-301-0/+13
| | | | | | | | | | | | | | InferAddressSpaces assumes the pointee type of addrspacecast is the same as the operand, which is not always true and causes invalid IR. This bug cause build failure in HCC. This patch fixes that. Differential Revision: https://reviews.llvm.org/D39432 llvm-svn: 316957
* [InferAddressSpaces] Fix assertion about null pointerYaxun Liu2017-07-071-0/+12
| | | | | | | | | | | | | InferAddressSpaces does not check address space in collectFlatAddressExpressions, which causes values with non flat address space put into Postorder and causes assertion in cloneValueWithNewAddressSpace. This patch fixes assertion in OpenCL 2.0 conformance test generic_address_space subtest for amdgcn target. Differential Revision: https://reviews.llvm.org/D34991 llvm-svn: 307349
* InferAddressSpaces: Avoid assertion failure with replacing identicalNirav Dave2017-06-081-0/+36
| | | | | | | | | | | | | | | cloned constexpr Have cloneConstantExprWithNewAddressSpaces return nullptr when returning initial ConstantExpr. Reviewers: arsenm Subscribers: jholewinski, wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D33995 llvm-svn: 304975
* InferAddressSpaces: Search constant expressions for addrspacecastsMatt Arsenault2017-04-282-3/+20
| | | | | | | These are pretty common when using local memory, and the 64-bit generic addressing is much more expensive to compute. llvm-svn: 301711
* InferAddressSpaces: Infer from just addrspacecastsMatt Arsenault2017-04-282-7/+58
| | | | | | | | Eliminates some more cases where some subset of the addressing computation remains flat. Some cases with addrspacecasts in nested constant expressions are still left behind however. llvm-svn: 301704
* InferAddressSpaces: Infer for just GEPsMatt Arsenault2017-04-211-0/+48
| | | | | | | | | | | Fixes leaving intermediate flat addressing computations where a GEP instruction's source is a constant expression. Still leaves behind a trivial addrspacecast + gep pair that instcombine is able to handle, which ideally could be folded here directly. llvm-svn: 301044
* AMDGPU: Add all atomicrmw fields to atomic.inc/decMatt Arsenault2017-03-301-20/+74
| | | | | | Add scope, order, isVolatile llvm-svn: 299122
* AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernelMatt Arsenault2017-03-216-62/+62
| | | | | | | | | | | | 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
* Let llvm.objectsize be conservative with null pointersGeorge Burgess IV2017-03-211-6/+6
| | | | | | | | | | | This adds a parameter to @llvm.objectsize that makes it return conservative values if it's given null. This fixes PR23277. Differential Revision: https://reviews.llvm.org/D28494 llvm-svn: 298430
* Bug 31948: Fix assertion when bitcasting constantexpr pointersMatt Arsenault2017-02-173-0/+26
| | | | llvm-svn: 295387
* InferAddressSpaces: Handle more cases with constant select operandsMatt Arsenault2017-02-021-15/+114
| | | | llvm-svn: 293859
* InferAddressSpaces: Handle selectMatt Arsenault2017-02-011-0/+165
| | | | | | | This fails to handle some cases where one of the inputs is a constant to be fixed in a later commit. llvm-svn: 293723
* InferAddressSpaces: Fix broken casting of constantsMatt Arsenault2017-01-311-2/+20
| | | | llvm-svn: 293718
* InferAddressSpaces: Handle icmpMatt Arsenault2017-01-312-4/+145
| | | | llvm-svn: 293593
* InferAddressSpaces: Support memory intrinsicsMatt Arsenault2017-01-313-1/+249
| | | | llvm-svn: 293587
* InferAddressSpaces: Support atomicsMatt Arsenault2017-01-312-0/+78
| | | | llvm-svn: 293584
* InferAddressSpaces: Don't replace volatile usersMatt Arsenault2017-01-311-0/+82
| | | | llvm-svn: 293582
* AMDGPU: Implement hook for InferAddressSpacesMatt Arsenault2017-01-314-0/+453
For now just port some of the existing NVPTX tests and from an old HSAIL optimization pass which approximately did the same thing. Don't enable the pass yet until more testing is done. llvm-svn: 293580
OpenPOWER on IntegriCloud