[PATCH] Change representation of member function pointers for MIPS targets
Zoran Jovanovic
zoran.jovanovic at imgtec.com
Fri Jan 23 07:46:58 PST 2015
Hi dsanders,
Member function pointer is represented with 2 words: <ptr, adj>
Currently, last significant bit of 'ptr' is used for marking virtual functions.
This can not be used for microMIPS and mips16 because odd addresses are valid for these platforms.
Patch introduces new TargetCXXABI - GenericMips. Only difference compered to GenericItanium (used for MIPS until now) is that it sets UseARMMethodPtrABI to true.
In order to be able to link with code for other MIPS targets and with code generated with gcc this should be used for all MIPS targets.
http://reviews.llvm.org/D7148
Files:
include/clang/Basic/TargetCXXABI.h
lib/AST/ASTContext.cpp
lib/Basic/TargetInfo.cpp
lib/Basic/Targets.cpp
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/ItaniumCXXABI.cpp
test/CodeGenCXX/member-function-pointers.cpp
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7148.18676.patch
Type: text/x-patch
Size: 4768 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150123/d77b15a5/attachment.bin>
More information about the llvm-commits
mailing list