[PATCH] D147761: [AVR] Disable post increment load from program memory space
Ben Shi via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 11 21:00:29 PDT 2023
This revision was automatically updated to reflect the committed changes.
Closed by commit rG811759b1009b: [AVR] Disable post increment load from program memory space (authored by benshi001).
Changed prior to commit:
https://reviews.llvm.org/D147761?vs=511601&id=512647#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147761/new/
https://reviews.llvm.org/D147761
Files:
llvm/lib/Target/AVR/AVRISelLowering.cpp
llvm/test/CodeGen/AVR/load.ll
Index: llvm/test/CodeGen/AVR/load.ll
===================================================================
--- llvm/test/CodeGen/AVR/load.ll
+++ llvm/test/CodeGen/AVR/load.ll
@@ -140,3 +140,18 @@
%r.0.lcssa = phi i16 [ 0, %entry ], [ %add, %while.body ]
ret i16 %r.0.lcssa
}
+
+define ptr addrspace(1) @load16_postinc_progmem(ptr addrspace(1) readonly %0) {
+; CHECK-LABEL: load16_postinc_progmem:
+; CHECK: movw r30, [[REG0:r[0-9]+]]
+; CHECK: lpm [[REG1:r[0-9]+]], Z+
+; CHECK: lpm [[REG1:r[0-9]+]], Z
+; CHECK: call foo
+; CHECK: adiw [[REG0:r[0-9]+]], 2
+ %2 = load i16, ptr addrspace(1) %0, align 1
+ tail call addrspace(1) void @foo(i16 %2)
+ %3 = getelementptr inbounds i16, ptr addrspace(1) %0, i16 1
+ ret ptr addrspace(1) %3
+}
+
+declare void @foo(i16)
Index: llvm/lib/Target/AVR/AVRISelLowering.cpp
===================================================================
--- llvm/lib/Target/AVR/AVRISelLowering.cpp
+++ llvm/lib/Target/AVR/AVRISelLowering.cpp
@@ -1151,6 +1151,12 @@
return false;
}
+ // FIXME: We temporarily disable post increment load from program memory,
+ // due to bug https://github.com/llvm/llvm-project/issues/59914.
+ if (const LoadSDNode *LD = dyn_cast<LoadSDNode>(N))
+ if (AVR::isProgramMemoryAccess(LD))
+ return false;
+
Base = Op->getOperand(0);
Offset = DAG.getConstant(RHSC, DL, MVT::i8);
AM = ISD::POST_INC;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147761.512647.patch
Type: text/x-patch
Size: 1458 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230412/5fe2bda6/attachment.bin>
More information about the llvm-commits
mailing list