OSDN Git Service

DAGCombiner: Merge store/loads when we have extload/truncstores
authorArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 2 Apr 2013 15:58:51 +0000 (15:58 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 2 Apr 2013 15:58:51 +0000 (15:58 +0000)
commite737018a86fa3da37f74ec1757603f933efcf5aa
treea71f4b636ede2250de338224c34f5cf44dcfc0b3
parente97f84e991f64640cc60bf5a5b20071845b08429
DAGCombiner: Merge store/loads when we have extload/truncstores

This is helps on architectures where i8,i16 are not legal but we have byte, and
short loads/stores. Allowing us to merge copies like the one below on ARM.

copy(char *a, char *b, int n) {
 do {
   int t0 = a[0];
   int t1 = a[1];
   b[0] = t0;
   b[1] = t1;

radar://13536387

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178546 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/ARM/MergeConsecutiveStores.ll [new file with mode: 0644]