summaryrefslogtreecommitdiff
path: root/lib/Target
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-09-14 23:42:45 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-09-14 23:42:45 +0000
commit322ea080ada5608de41f82127f053f754e459910 (patch)
tree182baa79be3ff0fa3bf26602e64c23b1cc0d747d /lib/Target
parentf18544d1e55f6e8e3929c1bb840d8fb8709064d0 (diff)
downloadllvm-322ea080ada5608de41f82127f053f754e459910.tar.gz
llvm-322ea080ada5608de41f82127f053f754e459910.tar.bz2
llvm-322ea080ada5608de41f82127f053f754e459910.tar.xz
Fix the code creating VZEXT_LOAD so that it creates the right memoperand. Issue spotted in -debug output. I can't think of any practical effects at the moment, but it might matter if we start doing more aggressive alias analysis in CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139758 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 0839ecd175..5c17d1d746 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -5014,9 +5014,12 @@ static SDValue EltsFromConsecutiveLoads(EVT VT, SmallVectorImpl<SDValue> &Elts,
DAG.getTargetLoweringInfo().isTypeLegal(MVT::v2i64)) {
SDVTList Tys = DAG.getVTList(MVT::v2i64, MVT::Other);
SDValue Ops[] = { LDBase->getChain(), LDBase->getBasePtr() };
- SDValue ResNode = DAG.getMemIntrinsicNode(X86ISD::VZEXT_LOAD, DL, Tys,
- Ops, 2, MVT::i32,
- LDBase->getMemOperand());
+ SDValue ResNode =
+ DAG.getMemIntrinsicNode(X86ISD::VZEXT_LOAD, DL, Tys, Ops, 2, MVT::i64,
+ LDBase->getPointerInfo(),
+ LDBase->getAlignment(),
+ false/*isVolatile*/, true/*ReadMem*/,
+ false/*WriteMem*/);
return DAG.getNode(ISD::BITCAST, DL, VT, ResNode);
}
return SDValue();