diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-04-09 19:38:15 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-04-09 19:38:15 +0000 |
commit | 99cbde9e827363712eaf7f38668980aa17aa25d3 (patch) | |
tree | 65b746624da0e23e82077f8af57812a3299b6d4d /llvm/lib/Target/ARM/ARMISelLowering.cpp | |
parent | 35fa2655dd2b667836847c5e0305ba99fd315551 (diff) | |
download | bcm5719-llvm-99cbde9e827363712eaf7f38668980aa17aa25d3.tar.gz bcm5719-llvm-99cbde9e827363712eaf7f38668980aa17aa25d3.zip |
Update comments and remove unnecessary isVolatile() check.
llvm-svn: 154336
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index af5bbf163b3..15bd3390ce3 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -7338,15 +7338,15 @@ static SDValue PerformVMOVDRRCombine(SDNode *N, SelectionDAG &DAG) { /// ISD::STORE. static SDValue PerformSTORECombine(SDNode *N, TargetLowering::DAGCombinerInfo &DCI) { - // Bitcast an i64 store extracted from a vector to f64. - // Otherwise, the i64 value will be legalized to a pair of i32 values. StoreSDNode *St = cast<StoreSDNode>(N); SDValue StVal = St->getValue(); if (!ISD::isNormalStore(St) || St->isVolatile()) return SDValue(); + // Split a store of a VMOVDRR into two integer stores to avoid mixing NEON and + // ARM stores of arguments in the same cache line. if (StVal.getNode()->getOpcode() == ARMISD::VMOVDRR && - StVal.getNode()->hasOneUse() && !St->isVolatile()) { + StVal.getNode()->hasOneUse()) { SelectionDAG &DAG = DCI.DAG; DebugLoc DL = St->getDebugLoc(); SDValue BasePtr = St->getBasePtr(); @@ -7367,6 +7367,8 @@ static SDValue PerformSTORECombine(SDNode *N, StVal.getNode()->getOpcode() != ISD::EXTRACT_VECTOR_ELT) return SDValue(); + // Bitcast an i64 store extracted from a vector to f64. + // Otherwise, the i64 value will be legalized to a pair of i32 values. SelectionDAG &DAG = DCI.DAG; DebugLoc dl = StVal.getDebugLoc(); SDValue IntVec = StVal.getOperand(0); |