forked from OSchip/llvm-project
Fix a bug that David Greene found in the DAGCombiner's logic
that checks whether it's safe to transform a store of a bitcast value into a store of the original value. llvm-svn: 65201
This commit is contained in:
parent
0c4eda5923
commit
e7fe80fcf9
|
@ -4903,9 +4903,9 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
|||
// resultant store does not need a higher alignment than the original.
|
||||
if (Value.getOpcode() == ISD::BIT_CONVERT && !ST->isTruncatingStore() &&
|
||||
ST->isUnindexed()) {
|
||||
unsigned Align = ST->getAlignment();
|
||||
unsigned OrigAlign = ST->getAlignment();
|
||||
MVT SVT = Value.getOperand(0).getValueType();
|
||||
unsigned OrigAlign = TLI.getTargetData()->
|
||||
unsigned Align = TLI.getTargetData()->
|
||||
getABITypeAlignment(SVT.getTypeForMVT());
|
||||
if (Align <= OrigAlign &&
|
||||
((!LegalOperations && !ST->isVolatile()) ||
|
||||
|
|
Loading…
Reference in New Issue