Add support for the returnaddress and frameaddress intrinsics

llvm-svn: 11433
This commit is contained in:
Chris Lattner 2004-02-14 02:55:36 +00:00
parent 7ab8db4907
commit b8ecb673d1

View File

@ -1157,6 +1157,8 @@ void CWriter::lowerIntrinsics(Module &M) {
case Intrinsic::va_start:
case Intrinsic::va_copy:
case Intrinsic::va_end:
case Intrinsic::returnaddress:
case Intrinsic::frameaddress:
// We directly implement these intrinsics
break;
default:
@ -1205,6 +1207,16 @@ void CWriter::visitCallInst(CallInst &I) {
writeOperand(I.getOperand(1));
Out << ")";
return;
case Intrinsic::returnaddress:
Out << "__builtin_return_address(";
writeOperand(I.getOperand(1));
Out << ")";
return;
case Intrinsic::frameaddress:
Out << "__builtin_frame_address(";
writeOperand(I.getOperand(1));
Out << ")";
return;
}
}
visitCallSite(&I);