summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Cast vtable address points to i32 (...)** to enable more globaloptReid Kleckner2014-12-031-4/+4
| | | | | | | | | | | | We currently use i32 (...)** as the type of the vptr field in the LLVM struct type. LLVM's GlobalOpt prefers any bitcasts to be on the side of the data being stored rather than on the pointer being stored to. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D5916 llvm-svn: 223267
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-5/+5
| | | | | | tests fail. llvm-svn: 188447
* clang side to match the LLVM IR type system rewrite patch.Chris Lattner2011-07-091-3/+3
| | | | llvm-svn: 134831
* Move unnamed_addr after the function arguments on Sabre's request.Rafael Espindola2011-01-251-5/+5
| | | | llvm-svn: 124210
* Add unnamed_addr to constructors and destructors.Rafael Espindola2011-01-111-5/+5
| | | | llvm-svn: 123197
* Back out r101911 and see if it makes the bots happy.Anders Carlsson2010-04-201-20/+0
| | | | llvm-svn: 101921
* Fix a bug which triggered the assertion I added yesterday. Basically, when ↵Anders Carlsson2010-04-201-0/+20
| | | | | | we initialize the vtable pointer for a virtual base, and there was another path from the most derived class to another base with the same class type, we would use the wrong base. llvm-svn: 101911
* More vtable improvements. We now compute and keep track of all vtable ↵Anders Carlsson2010-03-241-4/+4
| | | | | | related information which avoids computing the same vtable layout over and over. llvm-svn: 99403
* More vtable work; preparations for moving over to the new vtable layout code ↵Anders Carlsson2010-03-241-4/+4
| | | | | | (finally). llvm-svn: 99381
* Perform two more constructor/destructor code-size optimizations:John McCall2010-02-231-4/+7
| | | | | | | | | | | | | | | | 1) emit base destructors as aliases to their unique base class destructors under some careful conditions. This is enabled for the same targets that can support complete-to-base aliases, i.e. not darwin. 2) Emit non-variadic complete constructors for classes with no virtual bases as calls to the base constructor. This is enabled on all targets and in theory can trigger in situations that the alias optimization can't (mostly involving virtual bases, mostly not yet supported). These are bundled together because I didn't think it worthwhile to split them, not because they really need to be. llvm-svn: 96842
* Re-introduce the ctor/dtor alias optimization, this time hidden behind aJohn McCall2010-02-191-2/+2
| | | | | | command-line option which defaults off. llvm-svn: 96649
* Revert the ctor/dtor alias optimization for now; the buildbots can detectJohn McCall2010-02-181-2/+2
| | | | | | some failure here that I can't. llvm-svn: 96612
* Emit complete constructors and destructors as aliases to base constructorsJohn McCall2010-02-171-2/+2
| | | | | | | | and destructors when the two entities are semantically identical, i.e. when the class has no virtual base classes. We only do this for linkage types for which aliases are supported, i.e. internal and external, i.e. not linkonce. llvm-svn: 96451
* Make sure to set vtable pointers in the destructors as well.Anders Carlsson2010-02-071-0/+54
llvm-svn: 95525
OpenPOWER on IntegriCloud