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)
commit20f6c0732f8b9e50c66dcb1f65782bd0124b5f5c
treeef6216dd361f58ecba1e4d9e00bc8cbe4f93e4a3
parentf9317f15861fbcce774e9ccec71d8aefb3a03e56
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.

llvm-svn: 226945
llvm/lib/Target/R600/AMDGPUISelDAGToDAG.cpp
llvm/lib/Target/R600/AMDGPUISelLowering.cpp
llvm/test/CodeGen/R600/misaligned-load.ll [new file with mode: 0644]