summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove old thunks code.Anders Carlsson2010-03-245-339/+0
| | | | llvm-svn: 99374
* Flip the switch and use the new vtable layout code for thunks by default. ↵Anders Carlsson2010-03-241-7/+0
| | | | | | Add a thunks.cpp test. llvm-svn: 99367
* Add CodeGenFunction::GenerateThunk and implement it.Anders Carlsson2010-03-242-1/+179
| | | | llvm-svn: 99365
* Minor cleanup.Anders Carlsson2010-03-241-10/+8
| | | | llvm-svn: 99364
* revert 99311. Looks like it broke darwin bootstrap.Rafael Espindola2010-03-232-22/+3
| | | | llvm-svn: 99317
* Avoid producing implicit methods when we have a explicit template instantiationRafael Espindola2010-03-232-3/+22
| | | | | | declaration. llvm-svn: 99311
* Code gen for compound assignment of complexFariborz Jahanian2010-03-231-2/+7
| | | | | | | types using property syntax to access setter/getters. (also radar 7351147). llvm-svn: 99307
* More work on thunks - don't assert if there's a variable with the same name ↵Anders Carlsson2010-03-232-2/+34
| | | | | | as the thunk already. llvm-svn: 99303
* Patch to implement code gen. use of compound assignent onFariborz Jahanian2010-03-231-6/+19
| | | | | | properties of complex type. Radar 7351147. llvm-svn: 99299
* More thunks scaffolding.Anders Carlsson2010-03-234-5/+86
| | | | llvm-svn: 99294
* More work on thunks.Anders Carlsson2010-03-232-1/+68
| | | | llvm-svn: 99287
* Move ThunkInfo as well.Anders Carlsson2010-03-232-29/+28
| | | | llvm-svn: 99280
* Move ReturnAdjustment and ThisAdjustment out into CGVtable.hAnders Carlsson2010-03-232-64/+63
| | | | llvm-svn: 99279
* Use the canonical destructor, which fixes the self-host build. Thanks to Eli ↵Anders Carlsson2010-03-231-1/+2
| | | | | | for noticing. llvm-svn: 99260
* Baby steps towards making thunks be emitted from the new vtable layout code.Anders Carlsson2010-03-232-9/+18
| | | | llvm-svn: 99254
* Some renames.Anders Carlsson2010-03-231-19/+18
| | | | llvm-svn: 99253
* Always emit associated thunks when emitting the function itself. Remove ↵Anders Carlsson2010-03-234-43/+15
| | | | | | getVtableAddressPoint, it's not used. llvm-svn: 99252
* Rename MaybeEmitVtable to EmitVTableRelatedData in preparation for making it ↵Anders Carlsson2010-03-233-3/+5
| | | | | | emit thunks as well. llvm-svn: 99251
* Rename CGVtableInfo to CodeGenVTables in preparation of adding another ↵Anders Carlsson2010-03-2313-87/+85
| | | | | | VTableInfo class. llvm-svn: 99250
* Comment the reasons for the strange little dance we do with the main file ↵Douglas Gregor2010-03-221-0/+4
| | | | | | name for debug information llvm-svn: 99215
* More work on thunks; almost there now.Anders Carlsson2010-03-221-9/+34
| | | | llvm-svn: 99199
* Add less than operators to ThisAdjustment, ReturnAdjustment and ThunkInfo. ↵Anders Carlsson2010-03-221-1/+29
| | | | | | Sort the thunks before dumping them. llvm-svn: 99184
* Improve dumping of thunks.Anders Carlsson2010-03-221-3/+16
| | | | llvm-svn: 99181
* We want to add all thunks, not just 'this' adjustment thunks.Anders Carlsson2010-03-221-2/+25
| | | | llvm-svn: 99177
* AddThunk should take a const reference.Anders Carlsson2010-03-211-2/+2
| | | | llvm-svn: 99140
* Fix PR6648 by not creating a temporary with the type of aRafael Espindola2010-03-211-4/+0
| | | | | | | | | | | CXXExprWithTemporaries. Not emitting the expression as an aggregate might be the right thing to do, but is orthogonal. Emitting it as an scalar expression will still try to create a temporary for the incomplete type of the CXXExprWithTemporaries and fail. llvm-svn: 99134
* Fixed synthesizing properties declared in properties (GNU runtime).David Chisnall2010-03-201-1/+1
| | | | llvm-svn: 99077
* IRgen: Wrap atomic intrinsics with memory barriers, to ensure we honor the ↵Daniel Dunbar2010-03-201-25/+51
| | | | | | | | semantics. - This should be conservatively correct, we eventually should have target hooks for platforms that are less strict. llvm-svn: 99050
* C++: Add support for -fno-use-cxa-atexit.Daniel Dunbar2010-03-204-18/+101
| | | | | | | | - So much typing, so little gain... Also, rename the __cxx_global_initialization function just to match llvm-gcc. llvm-svn: 99039
* IRgen: Inline GenerateCXXGlobal[VarDecl]InitFunc into sole caller.Daniel Dunbar2010-03-202-38/+15
| | | | llvm-svn: 99038
* Change CodeGenModule to rely on the Module's symbol table instead ofJohn McCall2010-03-196-172/+156
| | | | | | | | | | | | | shadowing it in the GlobalDeclMap. Eliminates the string-uniquing requirement for mangled names, which should help C++ codegen times a little. Forces us to do string lookups instead of pointer lookups, which might hurt codegen times a little across the board. We'll see how it plays out. Removing the string-uniquing requirement implicitly fixes any bugs like PR6635 which arose from the fact that we had multiple uniquing tables for different kinds of identifiers. llvm-svn: 99012
* Try to improve computation of the main file name for debugDouglas Gregor2010-03-191-7/+10
| | | | | | information, to address recent gdb failures. llvm-svn: 98959
* For debug information, get the main file name from the source managerDouglas Gregor2010-03-181-2/+7
| | | | | | | rather than from the -main-file-name flag, since the source manager has proper path information. Fixes <rdar://problem/7769538>. llvm-svn: 98898
* Replace some SmallVectors with arrays.Benjamin Kramer2010-03-181-21/+13
| | | | llvm-svn: 98833
* When dumping vtables, also dump the thunks.Anders Carlsson2010-03-181-9/+66
| | | | llvm-svn: 98799
* More work on thunks.Anders Carlsson2010-03-171-2/+39
| | | | llvm-svn: 98765
* Correctly mangle dependent TypenameType.Rafael Espindola2010-03-171-24/+21
| | | | | | Fixes PR6625. llvm-svn: 98707
* Fixed copy-and-paste error causing categories to contain the protocols ↵David Chisnall2010-03-131-2/+2
| | | | | | declared on the class, not the protocols declared on the category. llvm-svn: 98455
* Give explicit template instantiations weak ODR linkage. FormerDouglas Gregor2010-03-132-8/+18
| | | | | | | | | iterations of this patch gave explicit template instantiation link-once ODR linkage, which permitted the back end to eliminate unused symbols. Weak ODR linkage still requires the symbols to be generated. llvm-svn: 98441
* Use raw_ostream instead of sprintf.Benjamin Kramer2010-03-131-3/+2
| | | | llvm-svn: 98438
* Use SmallString instead of SmallVectorKovarththanan Rajaratnam2010-03-131-52/+52
| | | | llvm-svn: 98436
* Re-revert the explicit template instantiation linkage patch. I am beginning ↵Douglas Gregor2010-03-132-12/+9
| | | | | | to look incompetent llvm-svn: 98425
* Reinstate patch to turn explicit template instantiations into weak symbolsDouglas Gregor2010-03-132-9/+12
| | | | llvm-svn: 98424
* Allow users to set CPPFLAGS and CXXFLAGS on the make command line.Jeffrey Yasskin2010-03-121-2/+2
| | | | | Tested: make CPPFLAGS=-m64 CXXFLAGS=-m64 -j8 && (cd tools/clang;make test) llvm-svn: 98399
* Fix a rare corner case bug which exposed a serious block API generationFariborz Jahanian2010-03-121-62/+62
| | | | | | | | | | | when initialized variable is a byref block variable and is referenced recursively in the initializer (you guessed it, it is block implementation of fibonacci number). Fix, on the other hand is trvial, by generating the API for byref variable before API for its initializer. We will have this test added to our internal test suite as a clang-style test is not possible due to very convoluted IR sequence. Fixes radar 7745514. llvm-svn: 98393
* If main file name is empty then use "<unknown>".Devang Patel2010-03-121-1/+4
| | | | llvm-svn: 98385
* More this adjustment simplification.Anders Carlsson2010-03-121-56/+59
| | | | llvm-svn: 98333
* Revert the linkage change for explicit template instantiations; something is ↵Douglas Gregor2010-03-122-12/+9
| | | | | | amiss llvm-svn: 98332
* Remove OldOffset.Anders Carlsson2010-03-121-7/+2
| | | | llvm-svn: 98331
* Remove debug output.Anders Carlsson2010-03-121-3/+0
| | | | llvm-svn: 98330
OpenPOWER on IntegriCloud