summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Use the new isInteger() method in a couple places, some random cleanup, andChris Lattner2010-01-111-23/+15
| | | | | | add a fixme. llvm-svn: 93179
* Fix type mismatch on 64-bit platforms (GNU ObjC).David Chisnall2010-01-111-1/+1
| | | | llvm-svn: 93169
* Roll out ASTContext::getTypeSizeInChars(), replacing instances ofKen Dyck2010-01-118-51/+63
| | | | | | | | | | "ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits ones as appropriate. Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType, fromQuantity(), and getQuantity() for clarity. llvm-svn: 93153
* Try to make cmake happyAnton Korobeynikov2010-01-101-1/+1
| | | | llvm-svn: 93119
* Generalize target weirdness handling having proper layering in mind:Anton Korobeynikov2010-01-106-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 commitsAnton Korobeynikov2010-01-101-0/+0
| | | | llvm-svn: 93117
* implement codegen support for preinc as an lvalue, PR5514.Chris Lattner2010-01-091-2/+10
| | | | llvm-svn: 93076
* refactor pre/postinc logic into CGF and require the caller to pass in theChris Lattner2010-01-094-129/+139
| | | | | | lvalue to poke, no functionality change. llvm-svn: 93075
* revert r92749, which is just dead code.Chris Lattner2010-01-091-10/+0
| | | | llvm-svn: 93074
* Fix for PR5967: Make const-marking for LLVM globals correct for cases requiringEli Friedman2010-01-084-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 Chisnall2010-01-081-5/+16
| | | | llvm-svn: 92973
* fix PR5869: mangle static symbols like gcc does to make it easier to diff ↵Nuno Lopes2010-01-071-1/+4
| | | | | | symbol tables llvm-svn: 92911
* Fix linkage for RTTI names by re-using the logic for computing theDouglas Gregor2010-01-063-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 Gregor2010-01-063-45/+59
| | | | | | virtual function has a body inlined in the class llvm-svn: 92855
* Fix for PR5691David Chisnall2010-01-061-1/+1
| | | | llvm-svn: 92846
* Fix (invalid) may-be-uninitialized warning.Daniel Dunbar2010-01-061-1/+2
| | | | llvm-svn: 92828
* Revert my available_externally vtables experiment. It's breaking the ↵Douglas Gregor2010-01-061-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 Stump2010-01-061-1/+1
| | | | llvm-svn: 92819
* Silence bogus GCC warningDouglas Gregor2010-01-051-1/+2
| | | | llvm-svn: 92787
* Make use of available_externally linkage for vtables when theDouglas Gregor2010-01-051-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 Gregor2010-01-052-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 Stump2010-01-051-0/+10
| | | | llvm-svn: 92749
* When emitting member function pointers, use the canonical decl if the member ↵Anders Carlsson2010-01-052-1/+4
| | | | | | function is virtual. Fixes PR5940. llvm-svn: 92680
* Revert r92431, this code isn't dead and broke the ntfs build.Daniel Dunbar2010-01-041-0/+1
| | | | llvm-svn: 92493
* Fix -Asserts warning.Daniel Dunbar2010-01-041-2/+2
| | | | llvm-svn: 92491
* Get rid of more dead code.Eli Friedman2010-01-032-51/+0
| | | | llvm-svn: 92439
* Get rid of some unnecessary code.Eli Friedman2010-01-021-27/+2
| | | | llvm-svn: 92432
* Delete impossible case.Eli Friedman2010-01-021-1/+0
| | | | llvm-svn: 92431
* Speculative MSVC fix.Anders Carlsson2010-01-021-3/+2
| | | | llvm-svn: 92421
* Move address points to CGVtableInfo, no functionality change.Anders Carlsson2010-01-025-15/+16
| | | | llvm-svn: 92420
* Correctly pass VTT parameters to constructors and destructors. The VTTs ↵Anders Carlsson2010-01-026-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 Carlsson2010-01-014-673/+672
| | | | llvm-svn: 92399
* Fix last patch, catch of reference to non-pointer.Mike Stump2010-01-011-10/+12
| | | | llvm-svn: 92386
* Fix catching a reference to a pointer.Mike Stump2010-01-011-3/+15
| | | | llvm-svn: 92385
* If the key function of a record is inline, then the RTTI data should have ↵Anders Carlsson2009-12-311-0/+8
| | | | | | weak_odr linkage. llvm-svn: 92371
* More RTTI builder cleanup.Anders Carlsson2009-12-311-76/+26
| | | | llvm-svn: 92360
* Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests.Anders Carlsson2009-12-302-215/+190
| | | | llvm-svn: 92319
* More RTTI cleanup, test that RTTI classes have the correct vtables.Anders Carlsson2009-12-301-52/+57
| | | | llvm-svn: 92284
* Match gcc and treat vector types as fundamental types.Anders Carlsson2009-12-291-9/+23
| | | | llvm-svn: 92278
* Handle enum types as well.Anders Carlsson2009-12-291-3/+22
| | | | llvm-svn: 92276
* Test linkage of RTTI descriptors of array types.Anders Carlsson2009-12-291-29/+61
| | | | llvm-svn: 92274
* Fix function type RTTI linkage and add tests.Anders Carlsson2009-12-291-4/+14
| | | | llvm-svn: 92266
* strength reduce this call away.Chris Lattner2009-12-291-1/+2
| | | | llvm-svn: 92253
* Get rid of FixedWidthIntType, as suggested by Chris and Eli.Anders Carlsson2009-12-293-12/+4
| | | | llvm-svn: 92246
* adjust for llvm api changes.Chris Lattner2009-12-281-10/+2
| | | | llvm-svn: 92236
* this form of SetDebugLocation is about to go away, add some #includes thatChris Lattner2009-12-282-7/+15
| | | | | | are about to not come in implicitly. llvm-svn: 92228
* Promote arguments of frameaddr / returnaddr builtins to i32 type, when needed.Anton Korobeynikov2009-12-271-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 fileEli Friedman2009-12-271-0/+2
| | | | | | a bug with a testcase hitting this assertion in a moment. llvm-svn: 92175
* Fix obvious mistake.Eli Friedman2009-12-271-1/+1
| | | | llvm-svn: 92172
* Remove some dead variables clang-analyzer found.Benjamin Kramer2009-12-253-7/+2
| | | | llvm-svn: 92162
OpenPOWER on IntegriCloud