From: Chris Lattner Date: Fri, 13 Jan 2006 02:22:08 +0000 (+0000) Subject: Add "support" for the llvm.stacksave/stackrestore intrinsics, this is X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0c067bc11d5274973c21f83b6c6403a9928265d8;p=oota-llvm.git Add "support" for the llvm.stacksave/stackrestore intrinsics, this is used by the C backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25267 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp index 256f0ffa567..08414a07a2e 100644 --- a/lib/CodeGen/IntrinsicLowering.cpp +++ b/lib/CodeGen/IntrinsicLowering.cpp @@ -248,6 +248,19 @@ void DefaultIntrinsicLowering::LowerIntrinsicCall(CallInst *CI) { break; } + case Intrinsic::stacksave: + case Intrinsic::stackrestore: { + static bool Warned = false; + if (!Warned) + std::cerr << "WARNING: this target does not support the llvm.stack" + << (Callee->getIntrinsicID() == Intrinsic::stacksave ? + "save" : "restore") << " intrinsic.\n"; + Warned = true; + if (Callee->getIntrinsicID() == Intrinsic::stacksave) + CI->replaceAllUsesWith(Constant::getNullValue(CI->getType())); + break; + } + case Intrinsic::returnaddress: case Intrinsic::frameaddress: std::cerr << "WARNING: this target does not support the llvm." @@ -263,8 +276,8 @@ void DefaultIntrinsicLowering::LowerIntrinsicCall(CallInst *CI) { case Intrinsic::pcmarker: break; // Simply strip out pcmarker on unsupported architectures case Intrinsic::readcyclecounter: { - std::cerr << "WARNING: this target does not support the llvm.readcyclecounter" - << " intrinsic. It is being lowered to a constant 0\n"; + std::cerr << "WARNING: this target does not support the llvm.readcyclecoun" + << "ter intrinsic. It is being lowered to a constant 0\n"; CI->replaceAllUsesWith(ConstantUInt::get(Type::ULongTy, 0)); break; }