R600/SI: Move i64 -> v2i32 load promotion into AMDGPUDAGToDAGISel::Select()
authorTom Stellard <thomas.stellard@amd.com>
Fri, 23 Jan 2015 22:05:45 +0000 (22:05 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 23 Jan 2015 22:05:45 +0000 (22:05 +0000)
commit511a3c71fcbe64acb6dd4ac42bfd99249b52191f
tree6551333e1b656b5927b4b037c0613745641352d1
parentb5ef83de3345370f3ee516d7807cff32db6a9088
R600/SI: Move i64 -> v2i32 load promotion into AMDGPUDAGToDAGISel::Select()

We used to do this promotion during DAG legalization, but this
caused an infinite loop in ExpandUnalignedLoad() because it assumed
that i64 loads were legal if i64 was a legal type.

It also seems better to report i64 loads as legal, since they actually
are and we were just promoting them to simplify our tablegen files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226945 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/R600/AMDGPUISelDAGToDAG.cpp
lib/Target/R600/AMDGPUISelLowering.cpp
test/CodeGen/R600/misaligned-load.ll [new file with mode: 0644]