[llvm-commits] CVS: llvm/lib/Target/CBackend/Writer.cpp
Chris Lattner
lattner at cs.uiuc.edu
Fri Feb 13 20:56:01 PST 2004
Changes in directory llvm/lib/Target/CBackend:
Writer.cpp updated: 1.159 -> 1.160
---
Log message:
Add support for the returnaddress and frameaddress intrinsics
---
Diffs of the changes: (+12 -0)
Index: llvm/lib/Target/CBackend/Writer.cpp
diff -u llvm/lib/Target/CBackend/Writer.cpp:1.159 llvm/lib/Target/CBackend/Writer.cpp:1.160
--- llvm/lib/Target/CBackend/Writer.cpp:1.159 Fri Feb 13 18:31:10 2004
+++ llvm/lib/Target/CBackend/Writer.cpp Fri Feb 13 20:55:36 2004
@@ -1157,6 +1157,8 @@
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:
@@ -1202,6 +1204,16 @@
Out << "0;";
Out << "va_copy(*(va_list*)&" << Mang->getValueName(&I) << ", ";
Out << "*(va_list*)&";
+ 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;
More information about the llvm-commits
mailing list