From f8cd9148f9602d2df3325b830edb865b3e96c77c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 12 Feb 2004 23:13:33 +0000 Subject: [PATCH] Add support for memcpy and memmove intrinsics. Why isn't the cwriter using the intrinsiclowering code?? :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11362 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/CBackend/CBackend.cpp | 18 ++++++++++++++++++ lib/Target/CBackend/Writer.cpp | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index be6d4355fc7..43f50e9843b 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -1302,6 +1302,24 @@ void CWriter::visitCallInst(CallInst &I) { // exception throw. Out << "abort()"; return; + case Intrinsic::memcpy: + Out << "memcpy("; + writeOperand(I.getOperand(1)); + Out << ", "; + writeOperand(I.getOperand(2)); + Out << ", "; + writeOperand(I.getOperand(3)); + Out << ")"; + return; + case Intrinsic::memmove: + Out << "memmove("; + writeOperand(I.getOperand(1)); + Out << ", "; + writeOperand(I.getOperand(2)); + Out << ", "; + writeOperand(I.getOperand(3)); + Out << ")"; + return; } } visitCallSite(&I); diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index be6d4355fc7..43f50e9843b 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -1302,6 +1302,24 @@ void CWriter::visitCallInst(CallInst &I) { // exception throw. Out << "abort()"; return; + case Intrinsic::memcpy: + Out << "memcpy("; + writeOperand(I.getOperand(1)); + Out << ", "; + writeOperand(I.getOperand(2)); + Out << ", "; + writeOperand(I.getOperand(3)); + Out << ")"; + return; + case Intrinsic::memmove: + Out << "memmove("; + writeOperand(I.getOperand(1)); + Out << ", "; + writeOperand(I.getOperand(2)); + Out << ", "; + writeOperand(I.getOperand(3)); + Out << ")"; + return; } } visitCallSite(&I); -- 2.34.1