ef8225444452a1486bd721f3285301fe84643b00 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/CodeGen/CGVTables.h
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/CodeGen/CGVTables.h
|
5f0db587078b5af32fc9ac41fe4276b80918fd8d |
|
05-Nov-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Fix vbtable indices when a class shares the vbptr with a non-virtual base git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
f07465828da2a07297646a2277ba8fe3abd2d4c3 |
|
09-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Code cleanup: rename VTableContext to ItaniumVTableContext, VTableBuilder to ItaniumVTableBuilder and clang-format code around git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
2cb17a06befb61b1434aaa991652fea4338c95d7 |
|
09-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Reland 192220 "Abstract out parts of thunk emission code, add support for simple thunks when using -cxx-abi microsoft" with relaxed assertions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
0ac66c03c01ae95bc34cca71067ba8dd65e06a1d |
|
08-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Revert 192220 as it fails on an assertion git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
c3dcfa20f8ec56fad90ffe42d0f4bc0168a2e138 |
|
08-Oct-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out parts of thunk emission code, add support for simple thunks when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1787 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
a53d7a0259ff88f78ba8ecac7d0cb3ea96302b1d |
|
27-Sep-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out the emission of vtables, add basic support for vtable emission when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1532 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
8f189a9911a992a5c4118c3789485a85bd96e045 |
|
21-Aug-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out virtual calls and virtual function prologue code generation; implement them for -cxx-abi microsoft git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
635de28950ef84ae26308ff734e778bad1ddde92 |
|
30-Jul-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Add MicrosoftVFTableContext to AST git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
e1e35f761970fd662696b803a839c1f4a56f61b2 |
|
28-Jun-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
[ms-cxxabi] Move CodeGenVTables::needsVTTParameter to ItaniumCXXABI. This function only makes sense there. Eventually it should no longer be part of the CGCXXABI interface, as it is an Itanium-specific detail. Differential Revision: http://llvm-reviews.chandlerc.com/D821 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
d5617eeafc93209a26b9f88276c88cf997c3a0a7 |
|
25-Jan-2013 |
John McCall <rjmccall@apple.com> |
The standard ARM C++ ABI dictates that inline functions are never key functions. We did not implement that rule for the iOS ABI, which was driven by what was implemented in gcc-4.2. However, implement it now for other ARM-based platforms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
3b844ba7d5be205a9b4f5f0b0d1b7978977f4b8c |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
f3477c13eeaf11b32a41f181398fb5deffd0dd73 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
94ff8e1f57c6382d91d0de981a4f311509d83e37 |
|
27-Sep-2012 |
Sylvestre Ledru <sylvestre@debian.org> |
Fix a typo 'iff' => 'if' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
24018467ddb13857b764182f7753764d2f32f87d |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move VTable builder to AST git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
ab172b5858d80af7254be7547980b5b9bf86e4e5 |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Have CodeGenVTables::GenerateConstructionVTable use VTableLayout git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
e00fe697ccc755a1f4aca4dab2d47fcb40903947 |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Implement VTableContext::createConstructionVTableLayout git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
e09cdf46aa2b86c24e6bf7a7ead2eaded964f2ff |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move all vtable layout data into new VTableLayout class git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
ba6ffeb51f89aefbec50347e4c73c17e825bd694 |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move VTableComponent to header file git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
84fcc48817bb04c7de1acafcaa1f54ee3235a97b |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move vtable component accessors to VTableContext git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
bf1c5aeadc5d4bb7fca5b0ee12208a94971f8492 |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Remove CodeGenVTables::ComputeVTableRelatedInformation dependency on CodeGen git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
1d2b31710539d705a3850c9fc3aa1804c2a5efee |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Create a VTableContext class and start moving CodeGenVTables methods to it git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
33446f1a22a662335c76e2ef7511e48f61801a35 |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move BaseSubobject class to AST git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
e2ff5abe47e12d63341b76f0f8e311aa9dbc3f94 |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Make the VTTBuilder class independent of LLVM core git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
fd05ca03abdfb38f78b9535d996ecc9c39d3b0db |
|
14-Jun-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move GlobalDecl to AST git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
14c65ca4cd914f3090d7eedb9bff4deb0ffc7927 |
|
07-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
[Reapply r128776, modified so that it does not break debug info.] Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
1a7f7526b7fd817e3f49c210302d189eff981b5e |
|
07-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
[Reapply r128773. This is not the source of the issues Devang was seeing with debug info.] Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
62c117db25cf7142e149fce82d2b3caa1237674c |
|
04-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
4fbabd37fd107e0e477b45146499d38a77bf9335 |
|
02-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
d22153218848a8c7c4d81758aec09da39fef29ae |
|
02-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
bda0d6bda0f1a08a9fdf3ee4cf550b6b10d454ec |
|
27-Mar-2011 |
John McCall <rjmccall@apple.com> |
We were emitting construction v-tables with internal linkage all the time. Emit them instead with the linkage of the VTT. I'm actually really ambivalent about this; it's what GCC does, but outside of improving code size (if the linkage is coalescing), I'm not sure it's at all relevant. Construction vtables are naturally referenced only by the VTT, which is itself only referenced by complete-object constructors and destructors; giving the construction vtables possibly-external linkage is important if you have an optimization that drills through the VTT to a reference to a particular construction vtable which it cannot just emit itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
4230d529a8797bbeef2328b60abeae333f7e143f |
|
24-Mar-2011 |
Ken Dyck <kd@kendyck.com> |
Convert the BaseOffset member of BaseSubobject to CharUnits from bits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
14e82fd91c6d5041aa840574143521d244f185cd |
|
06-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
When building with optimizations, emit thunks with available_externally linkage so devirtualized function calls can also be de-thunked. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
1cbce125b91cad81c8be3f8bbae8df917211176c |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Make emitting a VTT a two-step process, much like emitting a VTable. You first get the address of the VTT, and then pass it to EmitVTTDefinition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
14110477887e3dc168ffc6c191e72d705051f99e |
|
13-Jan-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move name mangling support from CodeGen to AST. In the process, perform a number of refactorings: - Move MiscNameMangler member functions to MangleContext - Remove GlobalDecl dependency from MangleContext - Make MangleContext abstract and move Itanium/Microsoft functionality to their own classes/files - Implement ASTContext::createMangleContext and have CodeGen use it No (intended) functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
d2c47bde3bc0c0debd8a9728781d3375efe22bc5 |
|
11-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make sure the VTables for template instantiations are emitted even if the key function doesn't have a body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
06a54a38be5054c910ffc92db60edab23f9ea105 |
|
07-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Introduce Decl::hasBody() and FunctionDecl::hasBody() and use them instead of getBody() when we are just checking the existence of a body, to avoid de-serialization of the body from PCH. Makes de-serialization of the function body even more "lazier". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
e21323588b32caf674213c9897dd12e2f0ea3cc5 |
|
02-Jun-2010 |
John McCall <rjmccall@apple.com> |
Don't try to emit the vtable for a class just because we're emitting a virtual function from it. Fixes PR7241. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
6fb745bdf1ff1e32caf07e42093a7920726892c1 |
|
13-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Rework when and how vtables are emitted, by tracking where vtables are "used" (e.g., we will refer to the vtable in the generated code) and when they are defined (i.e., because we've seen the key function definition). Previously, we were effectively tracking "potential definitions" rather than uses, so we were a bit too eager about emitting vtables for classes without key functions. The new scheme: - For every use of a vtable, Sema calls MarkVTableUsed() to indicate the use. For example, this occurs when calling a virtual member function of the class, defining a constructor of that class type, dynamic_cast'ing from that type to a derived class, casting to/through a virtual base class, etc. - For every definition of a vtable, Sema calls MarkVTableUsed() to indicate the definition. This happens at the end of the translation unit for classes whose key function has been defined (so we can delay computation of the key function; see PR6564), and will also occur with explicit template instantiation definitions. - For every vtable defined/used, we mark all of the virtual member functions of that vtable as defined/used, unless we know that the key function is in another translation unit. This instantiates virtual member functions when needed. - At the end of the translation unit, Sema tells CodeGen (via the ASTConsumer) which vtables must be defined (CodeGen will define them) and which may be used (for which CodeGen will define the vtables lazily). From a language perspective, both the old and the new schemes are permissible: we're allowed to instantiate virtual member functions whenever we want per the standard. However, all other C++ compilers were more lazy than we were, and our eagerness was both a performance issue (we instantiated too much) and a portability problem (we broke Boost test cases, which now pass). Notes: (1) There's a ton of churn in the tests, because the order in which vtables get emitted to IR has changed. I've tried to isolate some of the larger tests from these issues. (2) Some diagnostics related to implicitly-instantiated/implicitly-defined virtual member functions have moved to the point of first use/definition. It's better this way. (3) I could use a review of the places where we MarkVTableUsed, to see if I missed any place where the language effectively requires a vtable. Fixes PR7114 and PR6564. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
3855a07db05677883f4a9534e324da22ed1c6f9a |
|
03-May-2010 |
Anders Carlsson <andersca@mac.com> |
Store the entire base subobject in SubVTTIndices. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
c11bb2191088b9e74bec5007a4e05c78b41a8f64 |
|
03-May-2010 |
Anders Carlsson <andersca@mac.com> |
Have getSubVTTIndex take a BaseSubobject instead of just a base. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
b8cab18e8562994b87f8d7c06f8c122beb712677 |
|
19-Apr-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
If a method is virtual and the class key function is in another file, emit the method as available_externally. Fixes PR6747 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
046c294a43024874ff35656c6e785b64e72f1f36 |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Vtable -> VTable renames across the board. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|
461e326e74fa840945330a04df33b1180b08ddc0 |
|
08-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Rename CGVtable files to CGVTables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGVTables.h
|