summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Finish off fixing up debug information.Mike Stump2010-01-221-4/+4
| | | | llvm-svn: 94193
* Eliminate some Clang warningsDouglas Gregor2010-01-222-9/+9
| | | | llvm-svn: 94177
* Simplify code.Benjamin Kramer2010-01-221-18/+8
| | | | llvm-svn: 94175
* Ensure we output all non-virtual base vtables. Fixes PR5890.Mike Stump2010-01-221-29/+38
| | | | llvm-svn: 94163
* Update debugging code.Mike Stump2010-01-221-16/+18
| | | | llvm-svn: 94145
* Move the VTT related code into its own file, CGVTT.cppAnders Carlsson2010-01-213-378/+399
| | | | llvm-svn: 94079
* A Decl->getName() is not unique. However, the debug info descriptors Devang Patel2010-01-201-1/+8
| | | | | | | | | | are uniqued. The debug info descriptor describing record's context is necessary to keep two Decl's descriptor unique if their name match. There is more work to do to create descriptors for DeclContext. As a temp. step use type's name in FwdDecl. llvm-svn: 94050
* Emit human readable names for operators.Devang Patel2010-01-191-4/+3
| | | | llvm-svn: 93837
* First cut at emitting debugging information for C++ member functions.Devang Patel2010-01-192-2/+77
| | | | | | There is lot more work to do in this area. llvm-svn: 93836
* Use llvm::Function name as the linkage name, but strip off leading '01' from ↵Devang Patel2010-01-191-0/+2
| | | | | | display name. llvm-svn: 93822
* Refactor.Devang Patel2010-01-192-49/+62
| | | | llvm-svn: 93814
* llvm::Function name is the linkage name. If it has a '01' as a prefix then ↵Devang Patel2010-01-181-3/+0
| | | | | | probably there is a reason. llvm-svn: 93808
* More VTT builder fixes. With these fixes we now correctly handle the very ↵Anders Carlsson2010-01-181-1/+20
| | | | | | complex VTT example from the Itanium ABI spec. llvm-svn: 93725
* Move some common code into BuildVTT.Anders Carlsson2010-01-181-6/+3
| | | | llvm-svn: 93710
* Fix a bunch of VTT layout bugs, add simple tests for VTT layout.Anders Carlsson2010-01-181-4/+17
| | | | llvm-svn: 93709
* Minor VTT builder cleanup, no functionality change.Anders Carlsson2010-01-171-14/+12
| | | | llvm-svn: 93696
* Get the ctor vtable address points directly from the VTT builder.Anders Carlsson2010-01-171-2/+12
| | | | llvm-svn: 93681
* Add codgen for BI__builtin_llvm_memory_barrier.Tanya Lattner2010-01-161-0/+12
| | | | llvm-svn: 93611
* Fix crash generating debug info for constructor for anonymous struct.Eli Friedman2010-01-161-1/+1
| | | | llvm-svn: 93601
* Fix a couple bugs in copy assignment operator synthesis.Eli Friedman2010-01-151-12/+12
| | | | llvm-svn: 93546
* 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
OpenPOWER on IntegriCloud