@@ -317,14 +317,12 @@ bool RISCVExpandPseudo::expandRV32ZdinxStore(MachineBasicBlock &MBB,
317
317
.addReg (MBBI->getOperand (1 ).getReg ())
318
318
.add (MBBI->getOperand (2 ));
319
319
320
- MachineMemOperand *MMOHi = nullptr ;
321
- if (MBBI->hasOneMemOperand ()) {
322
- MachineMemOperand *OldMMO = MBBI->memoperands ().front ();
323
- MachineFunction *MF = MBB.getParent ();
324
- MachineMemOperand *MMOLo = MF->getMachineMemOperand (OldMMO, 0 , 4 );
325
- MMOHi = MF->getMachineMemOperand (OldMMO, 4 , 4 );
326
- MIBLo.setMemRefs (MMOLo);
327
- }
320
+ assert (MBBI->hasOneMemOperand () && " Expected mem operand" );
321
+ MachineMemOperand *OldMMO = MBBI->memoperands ().front ();
322
+ MachineFunction *MF = MBB.getParent ();
323
+ MachineMemOperand *MMOLo = MF->getMachineMemOperand (OldMMO, 0 , 4 );
324
+ MachineMemOperand *MMOHi = MF->getMachineMemOperand (OldMMO, 4 , 4 );
325
+ MIBLo.setMemRefs (MMOLo);
328
326
329
327
if (MBBI->getOperand (2 ).isGlobal () || MBBI->getOperand (2 ).isCPI ()) {
330
328
// FIXME: Zdinx RV32 can not work on unaligned memory.
@@ -336,16 +334,14 @@ bool RISCVExpandPseudo::expandRV32ZdinxStore(MachineBasicBlock &MBB,
336
334
.addReg (Hi, getKillRegState (MBBI->getOperand (0 ).isKill ()))
337
335
.add (MBBI->getOperand (1 ))
338
336
.add (MBBI->getOperand (2 ));
339
- if (MMOHi)
340
- MIBHi.setMemRefs (MMOHi);
337
+ MIBHi.setMemRefs (MMOHi);
341
338
} else {
342
339
assert (isInt<12 >(MBBI->getOperand (2 ).getImm () + 4 ));
343
340
auto MIBHi = BuildMI (MBB, MBBI, DL, TII->get (RISCV::SW))
344
341
.addReg (Hi, getKillRegState (MBBI->getOperand (0 ).isKill ()))
345
342
.add (MBBI->getOperand (1 ))
346
343
.addImm (MBBI->getOperand (2 ).getImm () + 4 );
347
- if (MMOHi)
348
- MIBHi.setMemRefs (MMOHi);
344
+ MIBHi.setMemRefs (MMOHi);
349
345
}
350
346
MBBI->eraseFromParent ();
351
347
return true ;
@@ -363,14 +359,11 @@ bool RISCVExpandPseudo::expandRV32ZdinxLoad(MachineBasicBlock &MBB,
363
359
Register Hi =
364
360
TRI->getSubReg (MBBI->getOperand (0 ).getReg (), RISCV::sub_gpr_odd);
365
361
366
- MachineMemOperand *MMOLo = nullptr ;
367
- MachineMemOperand *MMOHi = nullptr ;
368
- if (MBBI->hasOneMemOperand ()) {
369
- MachineMemOperand *OldMMO = MBBI->memoperands ().front ();
370
- MachineFunction *MF = MBB.getParent ();
371
- MMOLo = MF->getMachineMemOperand (OldMMO, 0 , 4 );
372
- MMOHi = MF->getMachineMemOperand (OldMMO, 4 , 4 );
373
- }
362
+ assert (MBBI->hasOneMemOperand () && " Expected mem operand" );
363
+ MachineMemOperand *OldMMO = MBBI->memoperands ().front ();
364
+ MachineFunction *MF = MBB.getParent ();
365
+ MachineMemOperand *MMOLo = MF->getMachineMemOperand (OldMMO, 0 , 4 );
366
+ MachineMemOperand *MMOHi = MF->getMachineMemOperand (OldMMO, 4 , 4 );
374
367
375
368
// If the register of operand 1 is equal to the Lo register, then swap the
376
369
// order of loading the Lo and Hi statements.
@@ -380,8 +373,7 @@ bool RISCVExpandPseudo::expandRV32ZdinxLoad(MachineBasicBlock &MBB,
380
373
auto MIBLo = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Lo)
381
374
.addReg (MBBI->getOperand (1 ).getReg ())
382
375
.add (MBBI->getOperand (2 ));
383
- if (MMOLo)
384
- MIBLo.setMemRefs (MMOLo);
376
+ MIBLo.setMemRefs (MMOLo);
385
377
}
386
378
387
379
if (MBBI->getOperand (2 ).isGlobal () || MBBI->getOperand (2 ).isCPI ()) {
@@ -392,24 +384,21 @@ bool RISCVExpandPseudo::expandRV32ZdinxLoad(MachineBasicBlock &MBB,
392
384
.addReg (MBBI->getOperand (1 ).getReg ())
393
385
.add (MBBI->getOperand (2 ));
394
386
MBBI->getOperand (2 ).setOffset (Offset);
395
- if (MMOHi)
396
- MIBHi.setMemRefs (MMOHi);
387
+ MIBHi.setMemRefs (MMOHi);
397
388
} else {
398
389
assert (isInt<12 >(MBBI->getOperand (2 ).getImm () + 4 ));
399
390
auto MIBHi = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Hi)
400
391
.addReg (MBBI->getOperand (1 ).getReg ())
401
392
.addImm (MBBI->getOperand (2 ).getImm () + 4 );
402
- if (MMOHi)
403
- MIBHi.setMemRefs (MMOHi);
393
+ MIBHi.setMemRefs (MMOHi);
404
394
}
405
395
406
396
// Order: Hi, Lo
407
397
if (IsOp1EqualToLo) {
408
398
auto MIBLo = BuildMI (MBB, MBBI, DL, TII->get (RISCV::LW), Lo)
409
399
.addReg (MBBI->getOperand (1 ).getReg ())
410
400
.add (MBBI->getOperand (2 ));
411
- if (MMOLo)
412
- MIBLo.setMemRefs (MMOLo);
401
+ MIBLo.setMemRefs (MMOLo);
413
402
}
414
403
415
404
MBBI->eraseFromParent ();
0 commit comments