OSDN Git Service

AMDGPU: Handle i64->v2i32 loads/stores in PreprocessISelDAG
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 25 Sep 2015 17:27:08 +0000 (17:27 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 25 Sep 2015 17:27:08 +0000 (17:27 +0000)
commit9225f0116927918414e24c5dc70e07b2bac824d3
tree9f6ef07c29a3ba0594a49da75bd11e070094b20d
parent7a6a7f2409d74c3639020d1b8436157eec7c8d94
AMDGPU: Handle i64->v2i32 loads/stores in PreprocessISelDAG

This fixes a select error when the i64 source was also
bitcasted to v2i32 in the original source.

Instead of awkwardly trying to select the modified source value and
the store, replace before isel begins.

Uses a worklist to avoid possible problems from mutating the DAG,
although it seems to work OK without it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248589 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
test/CodeGen/AMDGPU/extract-vector-elt-i64.ll [new file with mode: 0644]