[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