mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-05 14:34:55 +00:00
Fix the trunc(load) case, finally allowing crafty and povray to pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23718 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f98840531a
commit
24edbb7a6c
@ -462,6 +462,7 @@ SDOperand DAGCombiner::visitTokenFactor(SDNode *N) {
|
|||||||
if (N->getOperand(1).getOpcode() == ISD::EntryToken)
|
if (N->getOperand(1).getOpcode() == ISD::EntryToken)
|
||||||
return N->getOperand(0);
|
return N->getOperand(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// fold (tokenfactor (tokenfactor)) -> tokenfactor
|
// fold (tokenfactor (tokenfactor)) -> tokenfactor
|
||||||
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i) {
|
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i) {
|
||||||
SDOperand Op = N->getOperand(i);
|
SDOperand Op = N->getOperand(i);
|
||||||
@ -1386,8 +1387,8 @@ SDOperand DAGCombiner::visitTRUNCATE(SDNode *N) {
|
|||||||
DAG.getConstant(PtrOff, PtrType));
|
DAG.getConstant(PtrOff, PtrType));
|
||||||
WorkList.push_back(NewPtr.Val);
|
WorkList.push_back(NewPtr.Val);
|
||||||
SDOperand Load = DAG.getLoad(VT, N0.getOperand(0), NewPtr,N0.getOperand(2));
|
SDOperand Load = DAG.getLoad(VT, N0.getOperand(0), NewPtr,N0.getOperand(2));
|
||||||
CombineTo(N0.Val, Load, Load.getOperand(0));
|
|
||||||
WorkList.push_back(N);
|
WorkList.push_back(N);
|
||||||
|
CombineTo(N0.Val, Load, Load.getValue(1));
|
||||||
return SDOperand();
|
return SDOperand();
|
||||||
}
|
}
|
||||||
return SDOperand();
|
return SDOperand();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user