summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert the type of the LValue offset variable in APValue to CharUnits, movingKen Dyck2010-01-151-1/+1
| | | | | | the LValue-related methods of APValue out of line to avoid header file leaching. llvm-svn: 93512
* Emit linkage name even if it matches regular name. The code generator uses ↵Devang Patel2010-01-141-3/+3
| | | | | | linkage name to find subprogram entry for the current function. llvm-svn: 93461
* Add comment.Devang Patel2010-01-141-0/+3
| | | | llvm-svn: 93434
* Made ObjC method name mangling match GCC (which does it in a stupid and ↵David Chisnall2010-01-141-2/+5
| | | | | | broken way that can give conflicts on method names containing underscores, but is needed for gdb to work because gdb does not know how to read ObjC class tables and relies on the mangling). llvm-svn: 93427
* Store the address points for constructor vtables directly in the VTT ↵Anders Carlsson2010-01-142-24/+99
| | | | | | builder, because that's the only time they're needed. llvm-svn: 93412
* Add a DenseMapInfo specialization for BaseSubobject.Anders Carlsson2010-01-141-2/+37
| | | | llvm-svn: 93399
* Because CurLoc is the current source location as far as CGDebugInfo is ↵Devang Patel2010-01-141-1/+0
| | | | | | concerned. It is expected that this is set (usually left bracket location of function body compound statement) before EmitfunctionStart() is used. llvm-svn: 93389
* Emit human readable names for c/c++ functions. Avoid emitting linkage name ↵Devang Patel2010-01-143-15/+51
| | | | | | if it matches regular name. llvm-svn: 93383
* Add a BaseSubobject class to uniquely identify a base class subobject. Not ↵Anders Carlsson2010-01-131-0/+25
| | | | | | yet used. llvm-svn: 93345
* 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
OpenPOWER on IntegriCloud