7cd84baa533ae337e3eb6b7951d94ce94093d521 |
|
16-Mar-2013 |
Manman Ren <mren@apple.com> |
revert r177211 due to its potential issues git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
2710ed8fd997be04ff447b8be2190f8fb34ac22b |
|
16-Mar-2013 |
Manman Ren <mren@apple.com> |
Exploit this-return of a callsite in a this-return function. For constructors/desctructors that return 'this', if there exists a callsite that returns 'this' and is immediately before the return instruction, make sure we are using the return value from the callsite. We don't need to keep 'this' alive through the callsite. It also enables optimizations in the backend, such as tail call optimization. rdar://12818789 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
1d4fff5551c2347010b955b4337a2aa7d65a050e |
|
27-Feb-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Better support for constructors with -cxx-abi microsoft, partly fixes PR12784 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0f9827f5d6248d7008063768eb5f2c3e6ba83e94 |
|
15-Feb-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Abstract out emitting the vdtor calls and do it properly when using -cxx-abi microsoft; also fix vdtor calls for the ARM ABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
59660c21178b6af518bd4b564e032d5c9cc218cb |
|
13-Feb-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
Emit virtual/deleting destructors properly with -cxx-abi microsoft, PR15058 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
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/MicrosoftCXXABI.cpp
|
649c7316aa29181df7270732722fe5d07ab3c7ad |
|
21-Jan-2013 |
Timur Iskhodzhanov <timurrrr@google.com> |
First step towards vftable generation with -cxx-abi microsoft PR13231 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
956a5a17713deb1b5b27893303c4f308a1bd2a62 |
|
25-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Cleanup some clang code to use new type functions instead of using cast<>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
2eb9a959d24ad757a82ecab61f343635ad67749a |
|
17-Oct-2012 |
David Blaikie <dblaikie@gmail.com> |
PR13684: Emit vtable entries for deleted functions as __cxa_deleted_function. This is consistent/interoperable with GCC 4.7 (& __cxa_deleted_function isn't present in 4.4 - not sure when it got added, but you'll need something with that function available for this to work). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
ecd03b447bb0e2ed1954c77441d49a4a17ca8138 |
|
25-Sep-2012 |
John McCall <rjmccall@apple.com> |
When performing a ::delete of an object with a virtual destructor, be sure to delete the complete object pointer, not the original pointer. This is necessary if the base being deleted is at a non-zero offset in the complete object. This is only required for objects with virtual destructors because deleting an object via a base-class subobject when the base does not have a virtual destructor is undefined behavior. Noticed while reviewing the last four years of cxx-abi-dev activity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
bd31574a0f01da2cb2abde004b36772eb8a048dc |
|
25-Sep-2012 |
John McCall <rjmccall@apple.com> |
In the MS ABI, ctors return 'this'. Patch by Dmitry Sokolov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
285baac67d722beb6854f5faa45ee1aa62a7ce92 |
|
17-Jul-2012 |
Joao Matos <ripzonetriton@gmail.com> |
[Windows] Abstract pure virtual method calls in the ABI. Fix the Windows ABI to forward to the correct function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
9ee494f98610dcd79441dce469d7bf609fcd7b92 |
|
24-Jun-2012 |
Charles Davis <cdavis@mines.edu> |
IRGen: Factor v-table generation into the CGCXXABI object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
20bb175cb8ae5844034828db094fb948c0e3454a |
|
01-May-2012 |
John McCall <rjmccall@apple.com> |
Abstract the emission of global destructors into ABI-specific code and only consider using __cxa_atexit in the Itanium logic. The default logic is to use atexit(). Emit "guarded" initializers in Microsoft mode unconditionally. This is definitely not correct, but it's closer to correct than just not emitting the initializer. Based on a patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
e2b45e2a43ae46bc00026b63ba7c04ef2b78c3ff |
|
01-May-2012 |
John McCall <rjmccall@apple.com> |
Refactor the C++ ABI code a little bit to take advantage of what I'm going to treat as basically universal properties of array-cookie code. Implement MS array cookies on top of that. Based on a patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
beeb460aa571d23318fc0f6b8abcd868def791fa |
|
04-Apr-2012 |
John McCall <rjmccall@apple.com> |
ErrorUnsupported on array cookies in the MS C++ ABI code; patch by Timur Iskhodzhanov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
fd708265e3b1dcfaae6a6832186aabb0de0c0aef |
|
27-Jan-2011 |
John McCall <rjmccall@apple.com> |
Notes on dynamic array cookies in MSVC. My thanks to chapuni for his help in investigating this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
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/MicrosoftCXXABI.cpp
|
3f59c975aa5d047f7edd1b900b5e885c38af0ef7 |
|
26-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
The -fshort-wchar option causes wchar_t to become unsigned, in addition to being 16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
7536dd5e6c99584481b7dab68b7e7d8df9c54054 |
|
20-Dec-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new type, PackExpansionType, to capture types that are pack expansions, e.g. given template<typename... Types> struct tuple; template<typename... Types> struct tuple_of_refs { typedef tuple<Types&...> types; }; the type of the "types" typedef is a PackExpansionType whose pattern is Types&. This commit introduces support for creating pack expansions for template type arguments, as above, but not for any other kind of pack expansion, nor for any form of instantiation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
ee743f903858e337434ac0335f147f4de4ecae05 |
|
09-Nov-2010 |
Charles Davis <cdavis@mines.edu> |
Use the right calling convention when mangling names in the Microsoft C++ mangler. Now member functions and pointers thereof have their calling convention mangled as __thiscall if they have the default CC (even though, they technically still have the __cdecl CC). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
5cd91b513455fd7753e8815b54f0a49bbca6602d |
|
08-Sep-2010 |
John McCall <rjmccall@apple.com> |
Implement ARM static local initialization guards, which are more compact than Itanium guards and use a slightly different compiled-in API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
52fc314e1b5e1baee6305067cf831763d02bd243 |
|
03-Sep-2010 |
Dawn Perchik <dawn@burble.org> |
Add symantic support for the Pascal calling convention via "__attribute((pascal))" or "__pascal" (and "_pascal" under -fborland-extensions). Support still needs to be added to llvm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
4c40d98ab7acf5f27fa89b17bd8fc0ef7683df37 |
|
31-Aug-2010 |
John McCall <rjmccall@apple.com> |
Teach IR generation to return 'this' from constructors and destructors under the ARM ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
d608cdb7c044365cf4e8764ade1e11e99c176078 |
|
22-Aug-2010 |
John McCall <rjmccall@apple.com> |
Experiment with using first-class aggregates to represent member function pointers. I find the resulting code to be substantially cleaner, and it makes it very easy to use the same APIs for data member pointers (which I have conscientiously avoided here), and it avoids a plethora of potential inefficiencies due to excessive memory copying, but we'll have to see if it actually works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
9b7d6701dabc24387cc152e4d13bf9aec6aa461a |
|
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
zap dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
071cc7deffad608165b1ddd5263e8bf181861520 |
|
16-Aug-2010 |
Charles Davis <cdavis@mines.edu> |
Implement support for member pointers under the Microsoft C++ ABI in the AST library. This also adds infrastructure for supporting multiple C++ ABIs in the AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
4d254836f4a6a03fb3c77d0636c3cb5475540eb0 |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle Objective-C pointers and block pointers in the Microsoft C++ Mangler. ObjC pointers were easy enough (as far as the ABI is concerned, they're just pointers to structs), but I had to invent a new mangling for block pointers. This is particularly worrying with the Microsoft ABI, because it is a vendor-specific ABI; extending it could come back to bite us later when MS extends it on their own (and you know they will). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
08778269cfbf803fb216870060c60eb2adb25ef6 |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Fix mangling of array dimensions in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
cd712cb5711b597bf3a2a67a4027e2238c8b9828 |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle member pointer types in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
1139da148e44193a71585f418be96ef9c5f6defa |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Fix mangling of function pointers in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
4f0a3376a5e5c9028b0c736ac935895aabdb5fcd |
|
03-Jul-2010 |
Charles Davis <cdavis@mines.edu> |
Fix mangling of array parameters for functions in the Microsoft C++ Mangler. Only actual functions get mangled correctly; I don't know how to fix it for function pointers yet. Thanks to John McCall for the hint. Also, mangle anonymous tag types. I don't have a suitable testcase yet; I have a feeling that that's going to need support for static locals, and I haven't figured out exactly how MSVC's scheme for mangling those works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
0b8fe8c68eb503b9955f13c0c27b18b1f8321158 |
|
30-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle arrays in the Microsoft C++ Mangler. It's not quite finished (it doesn't mangle array parameters right), but I think that should be fixed in Sema (Doug, John, what do you think?). Also, stub out the remaining mangleType() routines. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
3a0d41d29192ff42870310e33800939f4e34bb55 |
|
26-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle pointer and (lvalue) reference types in the Microsoft C++ Mangler. Also, fix mangling of throw specs. Turns out MSVC totally ignores throw specs when mangling names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
564360be450b319aeafc26698be9811837bfb826 |
|
24-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to correctly mangle block helper functions when block literal is declared inside a ctor/dtor. Fixes radr 8096995. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c62458f6aead5e4c0d0f4534d52142e7864ba02b |
|
18-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle tag types (unions, structs, classes, enums) in the Microsoft C++ Mangler. Also, test that static members with default visibility in a struct have the right mangling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
21e2a7e8d38120e358bead9e1f14ed526d37bc90 |
|
17-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Mangle operator names in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
65161d17cbf8980e24643c65b74a5127dcb7ac22 |
|
16-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Start mangling function types in the Microsoft C++ Mangler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
b021f8bd445959e2a5c958624a464ff621253ae4 |
|
14-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Microsoft C++ Mangler: - Mangle qualifiers. - Start mangling variables' types into the name. A variable declared with a builtin type should now mangle properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
570d2763bc9ee6c26b12c0b6316dd87261520bfe |
|
12-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Microsoft C++ Mangler: - Don't mangle static variables at global scope. - Add support for mangling builtin types. This will be used later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
971154db24429b103280d15423b8c200cfb2380c |
|
11-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
When mangling for the Microsoft C++ ABI, mangle variables in the global namespace, too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
e60cea829b3bc45fcfedbfdb08cffb61f5bde79f |
|
11-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Start implementing the Microsoft-style name mangler. Mangle simple names (but not their types; that's later). NOTE: Right now, variables in the global namespace don't get mangled, even though they're supposed to be. This is because the default mangler implements the shouldMangleDeclName() method that tells clang not to mangle them. This will be fixed in a later patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
98b7c5c496dfccb39287b8f7d8f1444594936d10 |
|
11-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Add an option to specify the target C++ ABI to the frontend. Use it to select either the default Itanium ABI or the new, experimental Microsoft ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|
c3926645d70842eae22641df1bf69da457a0ff11 |
|
10-Jun-2010 |
Charles Davis <cdavis@mines.edu> |
Add a stub Microsoft Visual C++ ABI class (with stub mangler). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/MicrosoftCXXABI.cpp
|