[PATCH] D7241: Partially fix memcpy / memset / memmove lowering in SelectionDAG construction if address space != 0.

David Chisnall via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 29 08:44:48 PST 2015


theraven added inline comments.

================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4560
@@ +4559,3 @@
+  if (AS != 0 && !TLI->isNoopAddrSpaceCast(AS, 0)) {
+    report_fatal_error("cannot lower memory intrinsic in address space " +
+                       Twine(AS));
----------------
I'm not sure why we're doing this assertion at all.  The correct thing to do is delegate to the target here and ask it for the *correct* memcpy variant.  We currently work around this limitation by doing an IR pass that translates memcpy intrinsics into the correct calls but that prevents expansion in the back end.


http://reviews.llvm.org/D7241





More information about the llvm-commits mailing list