diff options
| author | Juergen Ributzka <juergen@apple.com> | 2013-11-19 00:57:56 +0000 |
|---|---|---|
| committer | Juergen Ributzka <juergen@apple.com> | 2013-11-19 00:57:56 +0000 |
| commit | 354362524a72b3fa43a6c09380b7ae3b2380cbba (patch) | |
| tree | db9821d531f3ec0554d83400221f54e4e322877b /lib/Target/XCore | |
| parent | 26efdc5621043d28dc0c78addc7b7a75d1591a10 (diff) | |
| download | external_llvm-354362524a72b3fa43a6c09380b7ae3b2380cbba.zip external_llvm-354362524a72b3fa43a6c09380b7ae3b2380cbba.tar.gz external_llvm-354362524a72b3fa43a6c09380b7ae3b2380cbba.tar.bz2 | |
[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to
a single object file. The memory leaks in this version have been fixed. Thanks
Alexey for pointing them out.
Differential Revision: http://llvm-reviews.chandlerc.com/D2068
Reviewed by Andy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195064 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore')
| -rw-r--r-- | lib/Target/XCore/XCoreInstrInfo.cpp | 6 | ||||
| -rw-r--r-- | lib/Target/XCore/XCoreInstrInfo.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/XCore/XCoreInstrInfo.cpp b/lib/Target/XCore/XCoreInstrInfo.cpp index d6b8c2d..33c7f31 100644 --- a/lib/Target/XCore/XCoreInstrInfo.cpp +++ b/lib/Target/XCore/XCoreInstrInfo.cpp @@ -22,7 +22,7 @@ #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/TargetRegistry.h" -#define GET_INSTRINFO_CTOR +#define GET_INSTRINFO_CTOR_DTOR #include "XCoreGenInstrInfo.inc" namespace llvm { @@ -39,6 +39,10 @@ namespace XCore { using namespace llvm; + +// Pin the vtable to this file. +void XCoreInstrInfo::anchor() {} + XCoreInstrInfo::XCoreInstrInfo() : XCoreGenInstrInfo(XCore::ADJCALLSTACKDOWN, XCore::ADJCALLSTACKUP), RI() { diff --git a/lib/Target/XCore/XCoreInstrInfo.h b/lib/Target/XCore/XCoreInstrInfo.h index 51d66a1..4429b07 100644 --- a/lib/Target/XCore/XCoreInstrInfo.h +++ b/lib/Target/XCore/XCoreInstrInfo.h @@ -24,6 +24,7 @@ namespace llvm { class XCoreInstrInfo : public XCoreGenInstrInfo { const XCoreRegisterInfo RI; + virtual void anchor(); public: XCoreInstrInfo(); |
