mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-23 05:29:23 +00:00
Bug fix: should check ABI alignment, not pref. alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37094 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9307292ae2
commit
93003b8cf2
@ -2685,7 +2685,7 @@ SDOperand DAGCombiner::visitBIT_CONVERT(SDNode *N) {
|
||||
TLI.isOperationLegal(ISD::LOAD, VT)) {
|
||||
LoadSDNode *LN0 = cast<LoadSDNode>(N0);
|
||||
unsigned Align = TLI.getTargetMachine().getTargetData()->
|
||||
getPrefTypeAlignment(getTypeForValueType(VT));
|
||||
getABITypeAlignment(getTypeForValueType(VT));
|
||||
unsigned OrigAlign = LN0->getAlignment();
|
||||
if (Align <= OrigAlign) {
|
||||
SDOperand Load = DAG.getLoad(VT, LN0->getChain(), LN0->getBasePtr(),
|
||||
@ -3564,7 +3564,7 @@ SDOperand DAGCombiner::visitSTORE(SDNode *N) {
|
||||
unsigned Align = ST->getAlignment();
|
||||
MVT::ValueType SVT = Value.getOperand(0).getValueType();
|
||||
unsigned OrigAlign = TLI.getTargetMachine().getTargetData()->
|
||||
getPrefTypeAlignment(getTypeForValueType(SVT));
|
||||
getABITypeAlignment(getTypeForValueType(SVT));
|
||||
if (Align <= OrigAlign && TLI.isOperationLegal(ISD::STORE, SVT))
|
||||
return DAG.getStore(Chain, Value.getOperand(0), Ptr, ST->getSrcValue(),
|
||||
ST->getSrcValueOffset());
|
||||
|
Loading…
x
Reference in New Issue
Block a user