Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Try to make cmake happy | Anton Korobeynikov | 2010-01-10 | 1 | -1/+1 |
| | | | | llvm-svn: 93119 | ||||
* | Generalize target weirdness handling having proper layering in mind: | Anton Korobeynikov | 2010-01-10 | 6 | -35/+175 |
| | | | | | | | | | 1. Add helper class for sema checks for target attributes 2. Add helper class for codegen of target attributes As a proof-of-concept - implement msp430's 'interrupt' attribute. llvm-svn: 93118 | ||||
* | Rename file to generalization in next commits | Anton Korobeynikov | 2010-01-10 | 1 | -0/+0 |
| | | | | llvm-svn: 93117 | ||||
* | implement codegen support for preinc as an lvalue, PR5514. | Chris Lattner | 2010-01-09 | 1 | -2/+10 |
| | | | | llvm-svn: 93076 | ||||
* | refactor pre/postinc logic into CGF and require the caller to pass in the | Chris Lattner | 2010-01-09 | 4 | -129/+139 |
| | | | | | | lvalue to poke, no functionality change. llvm-svn: 93075 | ||||
* | revert r92749, which is just dead code. | Chris Lattner | 2010-01-09 | 1 | -10/+0 |
| | | | | llvm-svn: 93074 | ||||
* | Fix for PR5967: Make const-marking for LLVM globals correct for cases requiring | Eli Friedman | 2010-01-08 | 4 | -14/+42 |
| | | | | | | | run-time initialization, and emit run-time initializers aggresively to avoid ordering issues with deferred globals. llvm-svn: 92976 | ||||
* | Export a public symbol for classes with the GNU runtime. | David Chisnall | 2010-01-08 | 1 | -5/+16 |
| | | | | llvm-svn: 92973 | ||||
* | fix PR5869: mangle static symbols like gcc does to make it easier to diff ↵ | Nuno Lopes | 2010-01-07 | 1 | -1/+4 |
| | | | | | | symbol tables llvm-svn: 92911 | ||||
* | Fix linkage for RTTI names by re-using the logic for computing the | Douglas Gregor | 2010-01-06 | 3 | -43/+26 |
| | | | | | | | | linkage of vtables. Before this, we were emitting RTTI names for template instantiations with strong external linkage rather than with weak ODR linkage. llvm-svn: 92857 | ||||
* | Fix marking of virtual members for nested classes whose first non-pure ↵ | Douglas Gregor | 2010-01-06 | 3 | -45/+59 |
| | | | | | | virtual function has a body inlined in the class llvm-svn: 92855 | ||||
* | Fix for PR5691 | David Chisnall | 2010-01-06 | 1 | -1/+1 |
| | | | | llvm-svn: 92846 | ||||
* | Fix (invalid) may-be-uninitialized warning. | Daniel Dunbar | 2010-01-06 | 1 | -1/+2 |
| | | | | llvm-svn: 92828 | ||||
* | Revert my available_externally vtables experiment. It's breaking the ↵ | Douglas Gregor | 2010-01-06 | 1 | -2/+7 |
| | | | | | | LLVM-with-Clang build with linker errors that I have yet to investigate. llvm-svn: 92822 | ||||
* | Reorder to avoid invalidating idx which is an accessor into VCall. | Mike Stump | 2010-01-06 | 1 | -1/+1 |
| | | | | llvm-svn: 92819 | ||||
* | Silence bogus GCC warning | Douglas Gregor | 2010-01-05 | 1 | -1/+2 |
| | | | | llvm-svn: 92787 | ||||
* | Make use of available_externally linkage for vtables when the | Douglas Gregor | 2010-01-05 | 1 | -4/+19 |
| | | | | | | | | | | non-inline key function of a class template instantiation, when no key function is present, the class template instantiation itself was instantiated with an explicit instantiation declaration (aka extern template). I'm fairly certain that the C++0x specification gives us this lattitude, although GCC doesn't take advantage of it. llvm-svn: 92779 | ||||
* | Improve key-function computation for templates. In particular: | Douglas Gregor | 2010-01-05 | 2 | -3/+18 |
| | | | | | | | | | | | | | | | | - All classes can have a key function; templates don't change that. non-template classes when computing the key function. - We always mark all of the virtual member functions of class template instantiations. - The vtable for an instantiation of a class template has weak linkage. We could probably use available_externally linkage for vtables of classes instantiated by explicit instantiation declarations (extern templates), but GCC doesn't do this and I'm not 100% that the ABI permits it. llvm-svn: 92753 | ||||
* | Add code to skip the emission of available externally functions at -O0. WIP. | Mike Stump | 2010-01-05 | 1 | -0/+10 |
| | | | | llvm-svn: 92749 | ||||
* | When emitting member function pointers, use the canonical decl if the member ↵ | Anders Carlsson | 2010-01-05 | 2 | -1/+4 |
| | | | | | | function is virtual. Fixes PR5940. llvm-svn: 92680 | ||||
* | Revert r92431, this code isn't dead and broke the ntfs build. | Daniel Dunbar | 2010-01-04 | 1 | -0/+1 |
| | | | | llvm-svn: 92493 | ||||
* | Fix -Asserts warning. | Daniel Dunbar | 2010-01-04 | 1 | -2/+2 |
| | | | | llvm-svn: 92491 | ||||
* | Get rid of more dead code. | Eli Friedman | 2010-01-03 | 2 | -51/+0 |
| | | | | llvm-svn: 92439 | ||||
* | Get rid of some unnecessary code. | Eli Friedman | 2010-01-02 | 1 | -27/+2 |
| | | | | llvm-svn: 92432 | ||||
* | Delete impossible case. | Eli Friedman | 2010-01-02 | 1 | -1/+0 |
| | | | | llvm-svn: 92431 | ||||
* | Speculative MSVC fix. | Anders Carlsson | 2010-01-02 | 1 | -3/+2 |
| | | | | llvm-svn: 92421 | ||||
* | Move address points to CGVtableInfo, no functionality change. | Anders Carlsson | 2010-01-02 | 5 | -15/+16 |
| | | | | llvm-svn: 92420 | ||||
* | Correctly pass VTT parameters to constructors and destructors. The VTTs ↵ | Anders Carlsson | 2010-01-02 | 6 | -83/+202 |
| | | | | | | aren't yet used in the ctors/dtors, but that will follow. llvm-svn: 92409 | ||||
* | Move a few more functions away from CGCXX and to CGClass and CGExprCXX. | Anders Carlsson | 2010-01-01 | 4 | -673/+672 |
| | | | | llvm-svn: 92399 | ||||
* | Fix last patch, catch of reference to non-pointer. | Mike Stump | 2010-01-01 | 1 | -10/+12 |
| | | | | llvm-svn: 92386 | ||||
* | Fix catching a reference to a pointer. | Mike Stump | 2010-01-01 | 1 | -3/+15 |
| | | | | llvm-svn: 92385 | ||||
* | If the key function of a record is inline, then the RTTI data should have ↵ | Anders Carlsson | 2009-12-31 | 1 | -0/+8 |
| | | | | | | weak_odr linkage. llvm-svn: 92371 | ||||
* | More RTTI builder cleanup. | Anders Carlsson | 2009-12-31 | 1 | -76/+26 |
| | | | | llvm-svn: 92360 | ||||
* | Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests. | Anders Carlsson | 2009-12-30 | 2 | -215/+190 |
| | | | | llvm-svn: 92319 | ||||
* | More RTTI cleanup, test that RTTI classes have the correct vtables. | Anders Carlsson | 2009-12-30 | 1 | -52/+57 |
| | | | | llvm-svn: 92284 | ||||
* | Match gcc and treat vector types as fundamental types. | Anders Carlsson | 2009-12-29 | 1 | -9/+23 |
| | | | | llvm-svn: 92278 | ||||
* | Handle enum types as well. | Anders Carlsson | 2009-12-29 | 1 | -3/+22 |
| | | | | llvm-svn: 92276 | ||||
* | Test linkage of RTTI descriptors of array types. | Anders Carlsson | 2009-12-29 | 1 | -29/+61 |
| | | | | llvm-svn: 92274 | ||||
* | Fix function type RTTI linkage and add tests. | Anders Carlsson | 2009-12-29 | 1 | -4/+14 |
| | | | | llvm-svn: 92266 | ||||
* | strength reduce this call away. | Chris Lattner | 2009-12-29 | 1 | -1/+2 |
| | | | | llvm-svn: 92253 | ||||
* | Get rid of FixedWidthIntType, as suggested by Chris and Eli. | Anders Carlsson | 2009-12-29 | 3 | -12/+4 |
| | | | | llvm-svn: 92246 | ||||
* | adjust for llvm api changes. | Chris Lattner | 2009-12-28 | 1 | -10/+2 |
| | | | | llvm-svn: 92236 | ||||
* | this form of SetDebugLocation is about to go away, add some #includes that | Chris Lattner | 2009-12-28 | 2 | -7/+15 |
| | | | | | | are about to not come in implicitly. llvm-svn: 92228 | ||||
* | Promote arguments of frameaddr / returnaddr builtins to i32 type, when needed. | Anton Korobeynikov | 2009-12-27 | 1 | -2/+10 |
| | | | | | | | This is needed for the platforms, where bitwidth of "int" is not 32 bits (e.g. 16 on msp430). llvm-svn: 92176 | ||||
* | Add a sanity assertion so that we don't silently generate bad code; I'll file | Eli Friedman | 2009-12-27 | 1 | -0/+2 |
| | | | | | | a bug with a testcase hitting this assertion in a moment. llvm-svn: 92175 | ||||
* | Fix obvious mistake. | Eli Friedman | 2009-12-27 | 1 | -1/+1 |
| | | | | llvm-svn: 92172 | ||||
* | Remove some dead variables clang-analyzer found. | Benjamin Kramer | 2009-12-25 | 3 | -7/+2 |
| | | | | llvm-svn: 92162 | ||||
* | Minor optimization; emit proper unsupported messages for a couple of cases. | Eli Friedman | 2009-12-25 | 3 | -6/+16 |
| | | | | llvm-svn: 92153 | ||||
* | Some small improvements to dead code elimination; helps a bit on | Eli Friedman | 2009-12-25 | 2 | -1/+10 |
| | | | | | | LLVM-Code-Symbols test. llvm-svn: 92152 | ||||
* | Make copy constructor elimination work in more cases; the case in question | Eli Friedman | 2009-12-24 | 1 | -0/+3 |
| | | | | | | here affects clang-on-clang. llvm-svn: 92151 |