[SDAG] Fix a result chain in ExpandUnalignedLoad
authorHal Finkel <hfinkel@anl.gov>
Tue, 4 Aug 2015 06:29:12 +0000 (06:29 +0000)
committerHal Finkel <hfinkel@anl.gov>
Tue, 4 Aug 2015 06:29:12 +0000 (06:29 +0000)
On the code path in ExpandUnalignedLoad which expands an unaligned vector/fp
value in terms of a legal integer load of the same size, the ChainResult needs
to be the chain result of the integer load.

No in-tree test case is currently available.

Patch by Jan Hranac!

llvm-svn: 243956

llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

index a253faa..79efa24 100644 (file)
@@ -439,7 +439,7 @@ ExpandUnalignedLoad(LoadSDNode *LD, SelectionDAG &DAG,
                              ISD::ANY_EXTEND, dl, VT, Result);
 
       ValResult = Result;
-      ChainResult = Chain;
+      ChainResult = newLoad.getValue(1);
       return;
     }