[llvm] [Xtensa] Implement volatile load/store. (PR #110292)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 29 12:24:17 PDT 2024
================
@@ -1104,10 +1104,24 @@ XtensaTargetLowering::emitSelectCC(MachineInstr &MI,
MachineBasicBlock *XtensaTargetLowering::EmitInstrWithCustomInserter(
MachineInstr &MI, MachineBasicBlock *MBB) const {
DebugLoc DL = MI.getDebugLoc();
+ const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
switch (MI.getOpcode()) {
case Xtensa::SELECT:
return emitSelectCC(MI, MBB);
+ case Xtensa::S8I:
+ case Xtensa::S16I:
+ case Xtensa::S32I:
+ case Xtensa::L8UI:
+ case Xtensa::L16SI:
+ case Xtensa::L16UI:
+ case Xtensa::L32I: {
+ const MachineMemOperand &MMO = **MI.memoperands_begin();
+ if (MMO.isVolatile()) {
----------------
arsenm wrote:
Comment why this is needed? It's also possible memory operands get lost during selection, should defend against missing MMO and assume volatile if it's missing
https://github.com/llvm/llvm-project/pull/110292
More information about the llvm-commits
mailing list