mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-02 17:55:18 +00:00
Properly enable load clustering.
Operand 2 on a load instruction does not have to be a RegisterSDNode for this to work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100497 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
18141eed26
commit
fc8e1c3635
@ -2961,10 +2961,6 @@ X86InstrInfo::areLoadsFromSameBasePtr(SDNode *Load1, SDNode *Load2,
|
|||||||
Load1->getOperand(2) == Load2->getOperand(2)) {
|
Load1->getOperand(2) == Load2->getOperand(2)) {
|
||||||
if (cast<ConstantSDNode>(Load1->getOperand(1))->getZExtValue() != 1)
|
if (cast<ConstantSDNode>(Load1->getOperand(1))->getZExtValue() != 1)
|
||||||
return false;
|
return false;
|
||||||
SDValue Op2 = Load1->getOperand(2);
|
|
||||||
if (!isa<RegisterSDNode>(Op2) ||
|
|
||||||
cast<RegisterSDNode>(Op2)->getReg() != 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
// Now let's examine the displacements.
|
// Now let's examine the displacements.
|
||||||
if (isa<ConstantSDNode>(Load1->getOperand(3)) &&
|
if (isa<ConstantSDNode>(Load1->getOperand(3)) &&
|
||||||
|
Loading…
Reference in New Issue
Block a user