4967a710c84587c654b56c828382219c3937dacb |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master Clang for rebase to r275480 Bug: http://b/31320715 This merges commit ac9cc4764cf47a6c3f031687d8592e080c9f5001 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Ic2875e5c3673c83448cd7d1013861e42947b1b55
/external/clang/lib/CodeGen/CGBlocks.cpp
|
87d948ecccffea9e9e37d0d053b246e2d6d6c47b |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r256229 http://b/26987366 Change-Id: I5d349c9843ea5c24d6e455956f8a446393b6873d
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b6d6993e6e6d3daf4d9876794254d20a134e37c2 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r239765 Change-Id: I0393bcc952590a7226af8c4b58534a8ee5fd2d99
/external/clang/lib/CodeGen/CGBlocks.cpp
|
58878f85ab89b13e9eea4af3ccf055e42c557bc8 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/CodeGen/CGBlocks.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c568f1e98938584c0ef0b12ae5018ff7d90a4072 |
|
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/CGBlocks.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/CodeGen/CGBlocks.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4ee7dc2369c1f0257a73b2e83a7d38fdebdd9176 |
|
02-Oct-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Thread a SourceLocation into the EmitCheck for "load_invalid_value". This occurs when scalars are loaded / undergo lvalue-to-rvalue conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c3030bc285d90a139fb74629daadef5617283203 |
|
26-Aug-2013 |
David Blaikie <dblaikie@gmail.com> |
Simplify/clean up debug info suppression in CodeGenFunction CodeGenFunction is run on only one function - a new object is made for each new function. I would add an assertion/flag to this effect, but there's an exception: ObjC properties involve emitting helper functions that are all emitted by the same CodeGenFunction object, so such a check is not possible/correct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b6cdc96e7679f0344a36395a87c249930fac8a9f |
|
24-Jul-2013 |
Adrian Prantl <aprantl@apple.com> |
Debug Info: Fix an oversight of r186553. Ensure that the function prologue of an artificial function gets an artificial location as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b061ce2c7af5bb19294e16dbaf19a6b37ed2f716 |
|
18-Jul-2013 |
Adrian Prantl <aprantl@apple.com> |
s/BuiltinLocation/ArtificialLocation/ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b3f111bf631b2a306a4bd6eefce314418ad61e1c |
|
18-Jul-2013 |
Adrian Prantl <aprantl@apple.com> |
Don't generate bogus line table entries for __copy_helper_block_ and __destroy_helper_block_, but do generate scope information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ed6bbe4ab8d06cd09fdfd294e2b2f8ab3808f84a |
|
18-Jul-2013 |
Adrian Prantl <aprantl@apple.com> |
Replace llvm::DIBuilder::DisableDebugLocations() with two RAII interfaces inspired by CodegenFunction::LexicalScope. - NoLocation temporarily turns off debug locations altogether. This is useful for emitting instructions that should be counted towards the function prologue. - BuiltinLocation temporarily switches to an artificial debug location that has a valid scope, but no line information. This is useful when emitting compiler-generated helper functions that have no source location associated with them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c1b8d095c18c3f55d662c49e59f7a934ae7e9440 |
|
13-Jul-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Compute 'this' correctly for block in lambda. Using CurFuncDecl is both correct and simple compared to crawling the DeclContexts of the block. Fixes <rdar://problem/14415072>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
41487f37d3174dcf827761d7c95a7e9d4ffdf56d |
|
09-May-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Comment: use \code...\endcode for code examples git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5b382770ec07ee1b4b0ad14e7be39ab7b30ba1eb |
|
09-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
unbreak buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f5ebf9bf1df10ac15ba32a4b24dfe171b7848c58 |
|
03-May-2013 |
John McCall <rjmccall@apple.com> |
Correctly emit certain implicit references to 'self' even within a lambda. Bug #1 is that CGF's CurFuncDecl was "stuck" at lambda invocation functions. Fix that by generally improving getNonClosureContext to look through lambdas and captured statements but only report code contexts, which is generally what's wanted. Audit uses of CurFuncDecl and getNonClosureAncestor for correctness. Bug #2 is that lambdas weren't specially mapping 'self' when inside an ObjC method. Fix that by removing the requirement for that and using the normal EmitDeclRefLValue path in LoadObjCSelf. rdar://13800041 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d4147c4b2d4eba0327658f36c5a2c63f2d234991 |
|
02-May-2013 |
Adrian Prantl <aprantl@apple.com> |
Use a more idiomatic way to disable debug locations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
64aa4b3ec7e62288e2e66c1935487ece995ca94b |
|
17-Apr-2013 |
John McCall <rjmccall@apple.com> |
Standardize accesses to the TargetInfo in IR-gen. Patch by Stephen Lin! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4b9bcd667776932e9b4c84144a9e7e8d581ffa63 |
|
09-Apr-2013 |
John McCall <rjmccall@apple.com> |
Don't copy just to capture a strong block pointer under ARC. It turns out that the optimizer can't eliminate this without extra information, for which there's a separate bug. rdar://13588325 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d83cdd61341ec95c0954687ad387f1175cc2d7bd |
|
08-Apr-2013 |
Adrian Prantl <aprantl@apple.com> |
fix indentation git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d2615cc53b916e8aae45783ca7113b93de515ce3 |
|
03-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add 178663 back. http://lab.llvm.org:8011/builders/clang-x86_64-darwin10-gdb went back green before it processed the reverted 178663, so it could not have been the culprit. Revert "Revert 178663." This reverts commit 4f8a3eb2ce5d4ba422483439e20c8cbb4d953a41. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4f8a3eb2ce5d4ba422483439e20c8cbb4d953a41 |
|
03-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 178663. Looks like it broke http://lab.llvm.org:8011/builders/clang-x86_64-darwin10-gdb Revert "Don't compute a patched/semantic storage class." This reverts commit 8f187f62cb0487d31bc4afdfcd47e11fe9a51d05. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8f187f62cb0487d31bc4afdfcd47e11fe9a51d05 |
|
03-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't compute a patched/semantic storage class. For variables and functions clang used to store two storage classes. The one "as written" in the code and a patched one, which, for example, propagates static to the following decls. This apparently is from the days clang lacked linkage computation. It is now redundant and this patch removes it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7959194fded7b2b1d37ead268d42c8ae6b10fe25 |
|
02-Apr-2013 |
Adrian Prantl <aprantl@apple.com> |
un-break remaining gdb buildbot testcases. Make sure we do not generate line info for debugging-related frame setup. Follow-up to r178361 / rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9b97adfb770c3b55c1a45049d53b624bbc6f62e1 |
|
29-Mar-2013 |
Adrian Prantl <aprantl@apple.com> |
Bugfix/Followup for r177086. * Store the .block_descriptor (instead of self) in the alloca so we can guarantee that all captured variables are available at -O0. * Add the missing OpDeref for the alloca. rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
836e7c9357b312fd1ee5c90898ce2c81bb384997 |
|
14-Mar-2013 |
Adrian Prantl <aprantl@apple.com> |
Allocate stack storage for .block_descriptor and captured self at -O0. This way the register allocator will not optimize away the debug info for captured variables. Fixes rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5b07e8077a20b80fee90bd76c43c6150c676e4a8 |
|
13-Mar-2013 |
John McCall <rjmccall@apple.com> |
Tighten up the rules for precise lifetime and document the requirements on the ARC optimizer. rdar://13407451 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0353a7b2df9dc36784f9ec354c266f9c603053e1 |
|
04-Mar-2013 |
John McCall <rjmccall@apple.com> |
Fix the emission of the copy-initialization of a block capture from a lambda capture when the capture is not trivially-copyable. rdar://13295759 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bd7370a78604e9a20d698bfe328c1e43f12a0613 |
|
28-Feb-2013 |
John McCall <rjmccall@apple.com> |
Use the actual ABI-determined C calling convention for runtime calls and declarations. LLVM has a default CC determined by the target triple. This is not always the actual default CC for the ABI we've been asked to target, and so we sometimes find ourselves annotating all user functions with an explicit calling convention. Since these calling conventions usually agree for the simple set of argument types passed to most runtime functions, using the LLVM-default CC in principle has no effect. However, the LLVM optimizer goes into histrionics if it sees this kind of formal CC mismatch, since it has no concept of CC compatibility. Therefore, if this module happens to define the "runtime" function, or got LTO'ed with such a definition, we can miscompile; so it's quite important to get this right. Defining runtime functions locally is quite common in embedded applications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b62faef5ec86c1931785ffa805ece9b491735894 |
|
22-Jan-2013 |
John McCall <rjmccall@apple.com> |
Use the correct field to copy/dispose a __block variable. We were previously hard-coding a particular field index. This was fine before (because we were obviously guaranteed the presence of a copy/dispose member) except for (1) alignment padding and (2) future extensions adding extra members to the header, such as the extended-layout pointer. Note that we only introduce the extended-layout pointer in the presence of structs. (We also seem to be introducing it even in the presence of an all-non-object layout, but that's a different potential issue.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
90a2d39d3082518566d5a22409a7bbba0d42f054 |
|
17-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objC block layout: Patch reorders block layout to produce more inline layout metadata. // rdar://12752901 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ba3c9ca16b3992248ec654ce9ec8c841c1c6d1e9 |
|
05-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
In my last patch initialize the destination to null (with a simple store) before doing a storeStrong to it. // rdar://12530881 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7a77f1994bdbe67db361b851a0907cf49fddfd91 |
|
05-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C arc: in copy helper function for __strong __block variables, perform objc_storeStrong on source and destination instead of direct move. This is done with -O0 and to improve some analysis. // rdar://12530881 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3c7a0e1a75ebe13366a646a9eb8c4aa61e4728d3 |
|
04-Jan-2013 |
Manman Ren <mren@apple.com> |
Debug Info: fix the line location for cleanup code of a block function The line information was changed when emitting debug information for all the DeclRefExprs and we should change it back to get ready for PopClenupBlocks called from FinishFunction. rdar://11562117 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
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/CGBlocks.cpp
|
e56bb36e8eea89bae7dfe6eb6ea0455af126bf4a |
|
07-Dec-2012 |
John McCall <rjmccall@apple.com> |
Fix the required args count for variadic blocks. We were emitting calls to blocks as if all arguments were required --- i.e. with signature (A,B,C,D,...) rather than (A,B,...). This patch fixes that and accounts for the implicit block-context argument as a required argument. In addition, this patch changes the function type under which we call unprototyped functions on platforms like x86-64 that guarantee compatibility of variadic functions with unprototyped function types; previously we would always call such functions under the LLVM type T (...)*, but now we will call them under the type T (A,B,C,D,...)*. This last change should have no material effect except for making the type conventions more explicit; it was a side-effect of the most convenient implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ff685c562c8fd5dfc6effec17377fde9dad6f271 |
|
04-Dec-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-c blocks: Consider padding due to alignment after the fixed size block header when generating captured block variable info. // rdar://12773256 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
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/CGBlocks.cpp
|
b15c8984ea300624fbbde385d3907667ce1043fa |
|
29-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C blocks: Make sure that identical logic is used in deciding a copy/dispose field is needed in a byref structure and when generating the copy/dispose helpers. In certain cases, these fields were being added but no copy/dispose was being generated. This was uncovered in ARC, but not in MRR. // rdar://12759433 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
426391cd51af86f9d59eceb0fb1c42153eccbb9a |
|
16-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
A step towards sorting out handling of triviality of special members in C++11. Separate out the notions of 'has a trivial special member' and 'has a non-trivial special member', and use them appropriately. These are not opposites of one another (there might be no special member, or in C++11 there might be a trivial one and a non-trivial one). The CXXRecordDecl predicates continue to produce incorrect results, but do so in fewer cases now, and they document the cases where they might be wrong. No functionality changes are intended here (they will come when the predicates start producing the right answers...). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7d4b9fabf3778ca90aa45392a49cb9c082709929 |
|
14-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
fixes a buildbot failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3ca23d7dc6cb61e6f363a58d9256d548199d120c |
|
14-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C blocks: Provide layout map for byref variables captured in a block. // rdar://12184410 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f22ae6512dec60d9e526fe55b988f8d42ced5b57 |
|
01-Nov-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C block meta-data. This patch completes meta-data generation for captured block variables in arc mode. This includes inlined version of the meta-data when it can be done. It also includes severat tests. This is wip. // rdar://12184410. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c46b43517a18c8f41934a38a3580bd477ab54265 |
|
27-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C arc/mrr: Patch for the new block variable layout meta-data. It is currently off (so no tests). This is wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
af879c0222791b5e026653a834df1c5c1fb41552 |
|
25-Oct-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
Provide comment describing what buildBlockDescriptor does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
34b41f80aad3679c545a4ba9bca9c1a318d41844 |
|
25-Oct-2012 |
Alexey Samsonov <samsonov@google.com> |
Initialize debug info for special cases of functions that lack declarations and are generated by Clang (global initializers/destructors, thunks) . Fixes PR13942. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4cdad3151bfb2075c6bdbfe89fbb08f31a90a45b |
|
23-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
Switch CodeGenOptions over to a .def file, like we do with LangOptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
015f33b6741ffceba3a71ee2d71d46418a7dc34c |
|
17-Oct-2012 |
John McCall <rjmccall@apple.com> |
At -O0, prefer objc_storeStrong with a null new value to the combination of a load+objc_release; this is generally better for tools that try to track why values are retained and released. Also use objc_storeStrong when copying a block (again, only at -O0), which requires us to do a preliminary store of null in order to compensate for objc_storeStrong's assign semantics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a240df2ec1b374b3e9e7f760875ffb17cd64506f |
|
16-Oct-2012 |
Alexey Samsonov <samsonov@google.com> |
Transform pattern: if (CGM.getModuleDebugInfo()) DebugInfo = CGM.getModuleDebugInfo() into a call: maybeInitializeDebugInfo(); This is a simplification for a possible future fix of PR13942. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
25a6a84cf5067b32c271e3ba078676dee838798d |
|
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0f3d0970dcdf6cf17550b86838dff12813968dbc |
|
07-Jul-2012 |
John McCall <rjmccall@apple.com> |
Distinguish more carefully between free functions and C++ instance methods in the ABI arrangement, and leave a hook behind so that we can easily tweak CCs on platforms that use different CCs by default for C++ instance methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4904bf4e84cfb48080270ebaa9005327f18ab0e5 |
|
26-Jun-2012 |
Fariborz Jahanian <fjahanian@apple.com> |
block literal irgen: several improvements on naming block literal helper functions. All helper functions (global and locals) use block_invoke as their prefix. Local literal helper names are prefixed by their enclosing mangled function names. Blocks in non-local initializers (e.g. a global variable or a C++11 field) are prefixed by their mangled variable name. The descriminator number added to end of the name starts off with blank (for first block) and _<N> (for the N+2-th block). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
29a93f810ae5277446f610e8b6cdf0985febb989 |
|
16-May-2012 |
Douglas Gregor <dgregor@apple.com> |
Fix code generation of variables reference expressions when mixing blocks and lambdas, based heavily on a patch from Meador Inge. Fixes PR12746 / <rdar://problem/11465120>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
fd00eecad6fa5400cf37269d84361a0551d0e6d3 |
|
04-May-2012 |
Alexey Samsonov <samsonov@google.com> |
This patch adds a new Clang compiler flag "-gline-tables-only". It reduces the amount of emitted debug information: 1) DIEs in .debug_info have types DW_TAG_compile_unit, DW_TAG_subprogram, DW_TAG_inlined_subroutine (for opt builds) and DW_TAG_lexical_block only. 2) .debug_str contains only function names. 3) No debug data for types/namespaces/variables is emitted. 4) The data in .debug_line is enough to produce valid stack traces with function names and line numbers. Reviewed by Eric Christopher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6c803f7f46533c69e2f8a9a882af9ae3b7fffb6f |
|
01-May-2012 |
John McCall <rjmccall@apple.com> |
During block layout, after padding up to the max field alignment, the alignment might actually exceed the max field alignment; don't assert in this case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6ea4841da1390b4f76d066f25333f11f6d8c5f40 |
|
26-Apr-2012 |
John McCall <rjmccall@apple.com> |
Fix a bug with block layout when the block contains something more aligned than the block header but also contains something smaller than the block-header alignment but not exactly half the difference between the large alignment and the header alignment. Got that? I'm really not sure what I was thinking with the buggy computation here, but the fix is pretty obvious. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
38baeabb253f3e04d5b54bf834dbd9f5ebdc9e5c |
|
13-Apr-2012 |
John McCall <rjmccall@apple.com> |
Don't enter cleanups for unreachable variables. It's impossible to jump into these scopes, and the cleanup-entering code sometimes wants to do some operations first (e.g. a GEP), which can leave us with unparented IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b92bd4b3271b7892abe9fd8c74fb54a27ad702ab |
|
12-Apr-2012 |
Eric Christopher <echristo@apple.com> |
These functions too have no prototypes. Audited the rest of Sema for FunctionDecl::Create calls as well. rdar://11079003 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e5bbebb4d14347700ff0b1838f14cae3b8a35c69 |
|
12-Apr-2012 |
Eric Christopher <echristo@apple.com> |
The copy and destroy helper functions aren't prototyped, don't call them so. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9595dae5f78cd1762d8f0076887821be65f7e5a6 |
|
04-Apr-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Don't crash (assert failure) when generating blocks for C++ types with a non-const copy constructor. This was caused by the code deciding the number of fields in the byref structure using a different test to the part of the code creating the GEPs into said structure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
649b4a1a9b5e6f768ca0cb84bd97b00f51083e15 |
|
29-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
Revert r153613 as it's causing large compile-time regressions on the nightly testers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
57cd1b89cd91433ce1991a5bff36fe776a263796 |
|
29-Mar-2012 |
John McCall <rjmccall@apple.com> |
When we can't prove that the target of an aggregate copy is a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f4b88a45902af1802a1cb42ba48b1c474474f228 |
|
10-Mar-2012 |
John McCall <rjmccall@apple.com> |
Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
23f0267e2d56c0407f12e62df3561ecf75d74e6e |
|
01-Mar-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type. This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap. Note that this transformation has a substantial semantic effect outside of ARC: it gives the converted lambda lifetime semantics similar to a block literal. With ARC, the effect is much less obvious because the lifetime of blocks is already managed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
64bee65a3436e3f0c352fcfe2130676f3502cffe |
|
25-Feb-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
de5d3c717684f3821b8db58037bc7140acf134aa |
|
17-Feb-2012 |
John McCall <rjmccall@apple.com> |
Whether an argument is required (in contrast with being an optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. This shouldn't really change anything for our existing platforms, with one minor exception --- we should now call variadic ObjC methods with the ... in the "right place" (see the test case), which I guess matters for anyone running GNUStep on MIPS. Mostly it's just a substantial clean-up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8b418685e9e4f02f4eb2a76e1ec063e07552b68d |
|
07-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6f42b62b6194f53bcbc349f5d17388e1936535d7 |
|
05-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import OwningPtr<> into clang namespace git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
516bbd42e62d709013824d6fb8445a0cfda3129a |
|
26-Jan-2012 |
Peter Collingbourne <peter@pcc.me.uk> |
Use function pointers, rather than references, to pass Destroyers around, in the process cleaning up the various gcc/msvc compiler workarounds. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2d6a5670465cb3f1d811695a9f23e372508240d2 |
|
14-Jan-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants. Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other entrypoints dealing with constant member pointers are no longer necessary and will be removed in a later change. Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to VarDecl::evaluateValue. This performs caching and deals with the nasty cases in C++11 where a non-const object's initializer can refer indirectly to previously-initialized fields within the same object. Building the intermediate APValue object incurs a measurable performance hit on pathological testcases with huge initializer lists, so we continue to build IR directly from the Expr nodes for array and record types outside of C++11. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6da2c716017d5c8530ec99779524491ebc5dadb8 |
|
03-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Switch LValue so that it exposes alignment in CharUnits. (No functional change.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6f103ba42cb69d50005a977c5ea583984ab63fc4 |
|
10-Nov-2011 |
John McCall <rjmccall@apple.com> |
Whenever explicitly activating or deactivating a cleanup, we need to provide a 'dominating IP' which is guaranteed to dominate the (de)activation point but which cannot be avoided along any execution path from the (de)activation point to the push-point of the cleanup. Using the entry block is bad mojo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1a343ebbf413e8eae6b2737b2b2d79cbf5765571 |
|
10-Nov-2011 |
John McCall <rjmccall@apple.com> |
Enter the cleanups for a block outside the enclosing full-expression. Naturally they're inactive before we enter the block literal expression. This restores the intended behavior that blocks belong to their enclosing scope. There's a useful -O0 / compile-time optimization that we're missing here with activating cleanups following straight-line code from their inactive beginnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a59e4b7fca1d46afd8f315fa87fa8bf1a68df9cd |
|
09-Nov-2011 |
John McCall <rjmccall@apple.com> |
Emit the copy and dipose helpers for ARC __strong block-typed __block variables using objc_retainBlock and objc_dispose. Previously we were using _Block_object_assign and _Block_object_destroy with BLOCK_BYREF_CALLER, which causes the runtime to completely ignore the retain and release. In most cases this doesn't cause catastrophe because the retain/release are balanced and because the block in the variable was copied upon assignment there. However, the stack copy of the variable will be released when it goes out of scope, which is a problem if that value was released due to an assignment to the heap copy. Similarly, a leak can occur if the variable is assigned after the copy to the heap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c637d738897b1745af3bad7fc551f26b98da838c |
|
02-Nov-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
back out changes in r143399 and r143475. rvale-references are captured by reference in blocks. // rdar://9971124. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d8c4551fa22a9c346e6a9e56333915197c97e394 |
|
01-Nov-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Adds IRGen support for captured rvalue references in blocks. In this case, temporary value is copied into block descriptor as their own copy to work on. // rdar://9971124 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
73fb35003aad027492e661a3749e921b5d1ecaf9 |
|
13-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Recommit: Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 after fixing a few bugs that were exposed in gdb testsuite testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
28e06354b5d4dd539be6781e388ff27c0dffd807 |
|
12-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Revert file/scope handling patches. gdb testing revealed a couple of bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4b2d5498729a74a8e952bdf762e6f2d8c6b52690 |
|
12-Oct-2011 |
Eric Christopher <echristo@apple.com> |
Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
225bf773d19bb4e3a673a52bebc6892285cb8e23 |
|
30-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Minor cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
578faa837b552403e2002b97fdfbfde14f2448e5 |
|
27-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
de-tmpify clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e289d81369914678db386f6aa86faf8f178e245d |
|
13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Switch LangOptions over to a .def file that describes header of the language options. Use that .def file to declare the LangOptions class and initialize all of its members, eliminating a source of annoying initialization bugs. AST serialization changes are next up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
13db5cfc4e5f03eb70efe0d227b53b8280f16161 |
|
09-Sep-2011 |
John McCall <rjmccall@apple.com> |
Treat the weak export of block runtime symbols as a deployment-target feature akin to the ARC runtime checks. Removes a terrible hack where IR gen needed to find the declarations of those symbols in the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c1c20114a401e503c07d68c47e0728bb063f35c8 |
|
12-Aug-2011 |
Chris Lattner <sabre@nondot.org> |
switch clang to use the new-new way of creating llvm::StructType's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c55db3b76df62f2c89e9bcc7437d1065512fb139 |
|
09-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Cleanup; no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.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/CGBlocks.cpp
|
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
de-constify llvm::Type, patch by David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ad346f4f678ab1c3222425641d851dc63e9dfa1a |
|
12-Jul-2011 |
John McCall <rjmccall@apple.com> |
Generalize Cleanup::Emit's "isForEH" parameter into a set of flags. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5bcd95efc380b0f7e74290e0555facb760935767 |
|
12-Jul-2011 |
John McCall <rjmccall@apple.com> |
Ugh, use this compiler workaround again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9928c4805aa8d5fabd488d0d0c5aeb64fd50f0e3 |
|
12-Jul-2011 |
John McCall <rjmccall@apple.com> |
Switch field destruction over to use the new destroyer-based API and kill a lot of redundant code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ef6de3da8572607f786303c07150daa6e140ab19 |
|
11-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
De-constify Types in StructType::get() and TargetData::getIntPtrType(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9cbe4f0ba01ec304e1e3d071c071f7bca33631c0 |
|
09-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
clang side to match the LLVM IR type system rewrite patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9d5ac7c9ca31ef4d7f79822b3e4c486ec80f1c26 |
|
06-Jul-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
revert patch for // rdar://9227352 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5d9b6bf9de98a33427fc7a3beeca90a3002b4744 |
|
29-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Use existing -fcatch-undefined-behavior option, replacing -freset-local-blocks. // rdar://9227352 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1077e420b89c9541396135157f22a1eff6062edf |
|
29-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Under a compiler flag, -freset-local-blocks, wipe out stack blocks when they go out of scope. // rdar://9227352 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c5cbb909e8a27deb8f1a2b6b7bf56a96051af81a |
|
20-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Update to match mainline ConstantStruct::get API change. Also, use ConvertType on InitListExprs as they are being converted. This is needed for a forthcoming patch, and improves the IR generated anyway (see additional type names in testcases). This patch also converts a bunch of std::vector's in CGObjCMac to use C arrays. There are a ton more that should be converted as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7650d95a1a616ea300f37126a8dfc93dc19a662a |
|
19-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
update for api change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a07398ed98ea2b55ad7a505a3aab18aed93b149f |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Restore correct use of GC barriers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f85e193739c953358c865005855253af4f68a497 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7a614d8380297fcd2bc23986241905d97222948c |
|
11-Jun-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement support for C++11 in-class initialization of non-static data members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0774cb84719f2aea3016493a2bbd9a02aa3e0541 |
|
15-May-2011 |
John McCall <rjmccall@apple.com> |
Use arrays and SmallVectors instead of std::vectors when building function types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t alias. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2bb110125e0e5adb7c1c65d12adfa34151ca1c47 |
|
13-May-2011 |
Douglas Gregor <dgregor@apple.com> |
When determining whether we can make a declaration into a global constant, also consider whether it's a class type that has any mutable fields. If so, it can't be a global constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
58dc5ca0841900b197de7733197196f435bf0cc3 |
|
02-May-2011 |
Devang Patel <dpatel@apple.com> |
Emit debug info for __destroy_helper_block_ and __copy_helper_block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
04c9a49ee251424b11d7c4e8b1c23637684cecb6 |
|
02-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Simplify code a bit by using CallArgList::add. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
361701965ed119099d180d419ac25a0503fcc0fe |
|
31-Mar-2011 |
John McCall <rjmccall@apple.com> |
Whoops. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f0c11f7e6848f023ced6a5b51399ba787c7d4d0b |
|
31-Mar-2011 |
John McCall <rjmccall@apple.com> |
After much contemplation, I've decided that we probably shouldn't "unique" __block object copy/dispose helpers for C++ objects with those for different variables with completely different semantics simply because they happen to both be no more aligned than a pointer. Found by inspection. Also, internalize most of the helper generation logic within CGBlocks.cpp, and refactor it to fit my peculiar aesthetic sense. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5af02db5a48476e0748f135369663080eae87c64 |
|
31-Mar-2011 |
John McCall <rjmccall@apple.com> |
Move all the significant __block code into CGBlocks.cpp. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3f4cb252832cf14f72d66ed707316d3759c8a689 |
|
25-Mar-2011 |
Devang Patel <dpatel@apple.com> |
Provide blockDecl's startLoc to startFunction. This fixes hidden bug exposed by recent code gen changes. This is tested by global-blocks-lines.exp in gdb testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
64cd2328ef55735c910d3d51dd40eafc38d7a504 |
|
09-Mar-2011 |
John McCall <rjmccall@apple.com> |
Remove a rather egregious use of getFunctionInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d26bc76c98006609002d9930f8840490e88ac5b5 |
|
09-Mar-2011 |
John McCall <rjmccall@apple.com> |
Use the "undergoes default argument promotion" bit on parameters to simplify the logic of initializing function parameters so that we don't need both a variable declaration and a type in FunctionArgList. This also means that we need to propagate the CGFunctionInfo down in a lot of places rather than recalculating it from the FAL. There's more we can do to eliminate redundancy here, and I've left FIXMEs behind to do it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
df045200e0220f10bf03de05ca878949e0c40a5a |
|
08-Mar-2011 |
John McCall <rjmccall@apple.com> |
Emit block capture initializers as if they were normal initializers for a local variable that just happens to be stored in a wierd place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ff676cb48fe8bf7be2feaa251dc7c5fb15af4730 |
|
08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for all DeclaratorDecl's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6d1155be2aca28659a47fbe612222845811ff2a3 |
|
07-Mar-2011 |
Devang Patel <dpatel@apple.com> |
CodeGenFunction::GenerateBlockFunction() should initialize DebugInfo just like CodeGenFunction::GenerateCode() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
aa11289f754d220c9c155b68a4f84cdcfcefef6a |
|
07-Mar-2011 |
Devang Patel <dpatel@apple.com> |
DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change during compilation. Make this layering explicit and fix accidental cases where the code generator was checking whether module has debug info enabled instead of checking whether debug info is enabled for this function or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9c6082fe89c61af697f017aa80937581cc2128d8 |
|
02-Mar-2011 |
Tilmann Scheller <tilmann.scheller@googlemail.com> |
Revert "Add CC_Win64ThisCall and set it in the necessary places." This reverts commit 126863. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
88d117c2eedd7c5bec57ac983a98d5e12bdd2cc6 |
|
02-Mar-2011 |
Tilmann Scheller <tilmann.scheller@googlemail.com> |
Add CC_Win64ThisCall and set it in the necessary places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8178df3b39ab923ff5d24538812628abee33df79 |
|
22-Feb-2011 |
John McCall <rjmccall@apple.com> |
Emit the structure layout of the block literal parameter to a block invocation function into the debug info. Rather than faking up a class, which is tricky because of the custom layout we do, we just emit a struct directly from the layout information we've already got. Also, don't emit an unnecessarily parameter alloca for this "variable". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
34695856c0e67b3765b46304cc71b5d2cd5b71c7 |
|
22-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize the emission of local variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c20e20498e3d248c754c7c5c8d0277f444d584df |
|
16-Feb-2011 |
John McCall <rjmccall@apple.com> |
Don't call objc_read_weak as part of emitting a block literal. Nobody ever gave me a clear reason for why we were doing this, and now it's apparently causing serious problems, so if *not* having this causes problems, we get to solve them the right way this time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5936e33bf74dd6bf126ceee0f6169a2593d03a69 |
|
15-Feb-2011 |
John McCall <rjmccall@apple.com> |
Assorted cleanup: - Have CGM precompute a number of commonly-used types - Have CGF copy that during initialization instead of recomputing them - Use TBAA info when initializing a parameter variable - Refactor the scalar ++/-- code git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d16c2cf1cafa413709aa487cbbd5dc392f1ba1ff |
|
08-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize CodeGen{Function,Module} to eliminate the unfortunate Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
461c9c1bc39ed8cbe8311f396f7ee3839e9fda53 |
|
08-Feb-2011 |
John McCall <rjmccall@apple.com> |
Extend the const capture optimization to C++ record types with no mutable fields and with trivial destructors and copy constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bb699b07426be017056c2c549ac3ffb488cab6e3 |
|
07-Feb-2011 |
John McCall <rjmccall@apple.com> |
When copy-capturing values for a nested capture, use a BlockDeclRefExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6b5a61b6dc400027fd793dcadceeb9da944a37ea |
|
07-Feb-2011 |
John McCall <rjmccall@apple.com> |
A few more tweaks to the blocks AST representation: - BlockDeclRefExprs always store VarDecls - BDREs no longer store copy expressions - BlockDecls now store a list of captured variables, information about how they're captured, and a copy expression if necessary With that in hand, change IR generation to use the captures data in blocks instead of walking the block independently. Additionally, optimize block layout by emitting fields in descending alignment order, with a heuristic for filling in words when alignment of the end of the block header is insufficient for the most aligned field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125005 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3dbdb58e2e920ad69fecbd56c25b58577ab693e8 |
|
20-Jan-2011 |
Ken Dyck <kd@kendyck.com> |
Add CharUnits::RoundUpToAlignment() to simplify rounding in character units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f4c7371fb1d3cebcfb40abad4537bb82515704ea |
|
19-Jan-2011 |
John McCall <rjmccall@apple.com> |
Change QualType::getTypePtr() to return a const pointer, then change a thousand other things which were (generally inadvertantly) relying on that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.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/CGBlocks.cpp
|
711c52bb20d0c69063b52a99826fb7d2835501f1 |
|
05-Jan-2011 |
John McCall <rjmccall@apple.com> |
Refactor the application of type attributes so that attributes from the declaration-specifiers and on the declarator itself are moved to the appropriate declarator chunk. This permits a greatly simplified model for how to apply these attributes, as well as allowing a much more efficient query for the GC attribute. Now all qualifier queries follow the same basic strategy of "local qualifiers, local qualifiers on the canonical type, then look through arrays". This can be easily optimized by changing the canonical qualified-array-type representation. Do not process type attributes as decl attributes on declarations with declarators. When computing the type of a block, synthesize a prototype function declarator chunk if the decl-spec type was not a function. This simplifies the logic for building block signatures. Change the logic which inserts an objc_read_weak on a block literal to only fire if the block has a __weak __block variable, rather than if the return type of the block is __weak qualified, which is not actually a sensible thing to ask. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
830937bc1100fba7682f7c32c40512085870f50c |
|
02-Dec-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
IR Gen. part of API support for __block cxx objects imported into blocks. //rdar://8594790. Will have a test case coming (as well as one sent to llvm test suite). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
12f78a6741a4cb3d904340f8d3d2714568b50e7a |
|
02-Dec-2010 |
John McCall <rjmccall@apple.com> |
Simplify the ASTs by consolidating ObjCImplicitGetterSetterExpr and ObjCPropertyRefExpr into the latter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f89e55ab1bfb3ea997f8b02997c611a02254eb2d |
|
18-Nov-2010 |
John McCall <rjmccall@apple.com> |
Calculate the value kind of an expression when it's created and store it on the expression node. Also store an "object kind", which distinguishes ordinary "addressed" l-values (like variable references and pointer dereferences) and bitfield, @property, and vector-component l-values. Currently we're not using these for much, but I aim to switch pretty much everything calculating l-valueness over to them. For now they shouldn't necessarily be trusted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e38be617437ccdcc180c5a49e447cbcd07539292 |
|
17-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes synthesis of type for the object which holds info. about a __block cxx object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e220455a059d926953befe72857b9525273717ef |
|
16-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Implements __block API for c++ objects. There is still issue with runtime which I am discussing it with Blaine. This is wip (so no test yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2715b207a6a22970441da162313e1729d54dc24e |
|
15-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Some cleanup of block API code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
eec82172dc997a504c2f95a5d38fbe4ea5b37184 |
|
14-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Removed unnecessary initialization of a flag which somehow got several block tests fail with a linux built compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bc74764e47f059c4b2e1af4136490b44de381f03 |
|
14-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Initialize couple of fields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
34999876e215b22febc240b1a6dc054215d12f9c |
|
13-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Block API patch to do copy ctor of copied-in cxx objects in copy helper function and dtor of copied cxx objects in dispose helper functions. __block variables TBD next. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e27e9d673346056e6ff7dca1d7fb1d75dfd42956 |
|
11-Nov-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Adding couple of Block API, a bug fix and a test change, all for blocks. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
46ec70e2e6541a067d33b2513505bec74582b53c |
|
28-Oct-2010 |
John McCall <rjmccall@apple.com> |
When emitting l-values for bool non-__block decl references, make a pointer using the memory type; fixes an assert. Fixes rdar://problem/8605032 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8ac2d449820fd0df00fcbde5bf82165c1f49854d |
|
14-Oct-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Eliminate usage of ObjCSuperExpr used for 'super' as receiver of property or a setter/getter methods. //rdar: //8525788 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
558d2abc7f9fd6801cc7677200992313ae90b5d8 |
|
15-Sep-2010 |
John McCall <rjmccall@apple.com> |
one piece of code is responsible for the lifetime of every aggregate slot. The easiest way to do that was to bundle up the information we care about for aggregate slots into a new structure which demands that its creators at least consider the question. I could probably be convinced that the ObjC 'needs GC' bit should be rolled into this structure. Implement generalized copy elision. The main obstacle here is that IR-generation must be much more careful about making sure that exactly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c5904b40c3d76b612fb09c6d2717f646a0af6670 |
|
11-Sep-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes an obscure bug in importd block variable layout information when imported variable is used more than once. Originally though to be a bug in importing block varibles. Fixes radar 8417746. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d931b086984257de68868a64a235c2b4b34003fb |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
De-memberify the VarDecl and FunctionDecl StorageClass enums. This lets us remove Sema.h's dependency on Expr.h and Decl.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2de56d1d0c3a504ad1529de2677628bdfbb95cd4 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
GCC didn't care for my attempt at API compatibility, so brute-force everything to the new constants. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8404f670f5bda1efb60076c701613b86b576533d |
|
13-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Make use of __func__ in a block actually refer to block's helper function. Fixes radar 7860965. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
44034db24bf59a53aa7699f4bbf59b939710bb3c |
|
04-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
More objc block variable layout info. work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
89ecd41e0a6bfb3b0913dbe41c3c666340b308c7 |
|
04-Aug-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Some early work for providing block layout info. for objective-c/c++ blocks (NeXt runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7edddb896e10d7ab494927842f7402583d9fa02d |
|
28-Jul-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fix flags in global block descriptor when block returns structs. Fies radar 8241648. Executable test added to llvm test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
673431a2986f750b4d8fadb57abf3f00db27bbbd |
|
16-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Move blocks runtime interfaces to CodeGenModule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
dacf9dda17346c628fdd8c5df53c681738db0dc5 |
|
15-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
CodeGen/ObjC/NeXT: Fix Obj-C message send to match llvm-gcc when choosing whether to use objc_msgSend_fpret; the choice is target dependent, not Obj-C ABI dependent. - <rdar://problem/8139758> arm objc _objc_msgSend_fpret bug git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f1549f66a8216a78112286e3978cea2c29d6334c |
|
06-Jul-2010 |
John McCall <rjmccall@apple.com> |
Validated by nightly-test runs on x86 and x86-64 darwin, including after self-host. Hopefully these results hold up on different platforms. I tried to keep the GNU ObjC runtime happy, but it's hard for me to test. Reimplement how clang generates IR for exceptions. Instead of creating new invoke destinations which sequentially chain to the previous destination, push a more semantic representation of *why* we need the cleanup/catch/filter behavior, then collect that information into a single landing pad upon request. Also reorganizes how normal cleanups (i.e. cleanups triggered by non-exceptional control flow) are generated, since it's actually fairly closely tied in with the former. Remove the need to track which cleanup scope a block is associated with. Document a lot of previously poorly-understood (by me, at least) behavior. The new framework implements the Horrible Hack (tm), which requires every landing pad to have a catch-all so that inlining will work. Clang no longer requires the Horrible Hack just to make exceptions flow correctly within a function, however. The HH is an unfortunate requirement of LLVM's EH IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1d110e05e0ff48c1c7a483d6b7fd094cdf28316a |
|
01-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Remove unnecessary ASTContext parameter from CXXRecordDecl::getDestructor(); no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ef160b4a5a498e48ef8e5ccdabfe29aa4c73e0a1 |
|
28-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor refactorin of my last patch (radar 7860965 related). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
16ac5ce5fd7d9b4dd67ca8d57403c8f45e3dcf2d |
|
28-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Have __func__ and siblings point to block's implementation function name. Fixes radar 7860965. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
77b89b87c3b9220fea1bc80f6d6598d2003cc8a8 |
|
27-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
finally get around to doing a significant cleanup to irgen: have CGF create and make accessible standard int32,int64 and intptr types. This fixes a ton of 80 column violations introduced by LLVMContextification and cleans up stuff a lot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.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/CGBlocks.cpp
|
ac7362dedab6002a0811f47ccfcaf81a9c728d35 |
|
08-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Block Code Gen. API. Call destructor on descriptior entry previously constructed via copy constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
19739ae839fd4ebe472da4bdb9d65df452313ae4 |
|
07-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixed a block regression caused by trying to use an existing ir for load of a bock variable. This cannot be done across basic blocks. Fixes radar 8064140. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
59da45a1fc10a3af4f3b3152f45504b4c5ca7385 |
|
04-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Build AST for copy-construction of copied-in class object in blocks and carry it to IRGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
df8b8ea3492a314488ffee72704665b22bc73989 |
|
04-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
For C++ copied in objects, use copy constructors in setting up block's descriptor. This is on going work to support c++ specific issues in setting up blocks various APIs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7965172058761ae34e6f8b2c5b801fee8840f964 |
|
02-Jun-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Block C++ code gen. Adds support for block reference argument types. Executable test will be added to LLVM test suite. (radar 8041962). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6e5d9b08f852a1052e5a2af4727f6b797e57d578 |
|
25-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix compilation failure git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
35415f5132f70ad5097a3514ab84251e10db3664 |
|
25-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve name mangling for blocks and support mangling of static local variables within blocks. We loosely follow GCC's mangling, but since these are always internal symbols the names don't really matter. I intend to revisit block mangling later, because GCC's mangling is rather verbose. <rdar://problem/8015719>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f54b80f2348ff49bedf4081ccd2f60e5d63a26c6 |
|
21-May-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Add braces to avoid an ambiguous else, fixing a GCC warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ee5042903d53fa7b0fbc1902d0ea07d57c7775b1 |
|
21-May-2010 |
John McCall <rjmccall@apple.com> |
Allocate space in a block record for implicit references to the Objective C 'self' variable arising from uses of the 'super' keyword. Also reorganize some code so that BlockInfo (now CGBlockInfo) can be opaque outside of CGBlocks.cpp. Fixes rdar://problem/8010633. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ea1471e0e967548c596a71469702f8846dbaf3c0 |
|
20-May-2010 |
John McCall <rjmccall@apple.com> |
Support implicitly closing on 'this' in a block. Fixed PR7165. (the codegen works here, too, but that's annoying to test without execution) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ba55ec29033efba015878744dc5e1946a47a795a |
|
11-May-2010 |
Douglas Gregor <dgregor@apple.com> |
It's bad form to create VarDecl's without DeclContexts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d33ded52b06f7be00b95c1ce546924b4468adf9a |
|
04-May-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes a code gen crash when block is a reference type, etc. (radar 7495203). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2888b65aae768f54062505330df7be230a0510c7 |
|
30-Apr-2010 |
John McCall <rjmccall@apple.com> |
When synthesizing Objective C records, give the synthetic fields public access. Fixes an assertion. Fixes rdar://problem/7927811. Too lazy to reduce a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
16573fa9705b546b7597c273b25b85d6321e2b33 |
|
20-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Keep track of the actual storage specifier written on a variable or function declaration, since it may end up being changed (e.g., "extern" can become "static" if a prior declaration was static). Patch by Enea Zaffanella and Paolo Bolzoni. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6876fe615e16b0e76c7711e129e470305b7e9d41 |
|
31-Mar-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Minor include pruning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
264ba48dc98f3f843935a485d5b086f7e0fdc4f1 |
|
30-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
the big refactoring bits of PR3782. This introduces FunctionType::ExtInfo to hold the calling convention and the noreturn attribute. The next patch will extend it to include the regparm attribute and fix the bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a36e22399cc13100ee531adf80e9ed7b1ac8b2d4 |
|
05-Mar-2010 |
Blaine Garst <blaine@apple.com> |
add support for a 1<<29 bit in the block flags field to mark blocks using alternate struct return ABI git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2a7eb28397148079cbc8e54e8a3871ef01c4f4bc |
|
23-Feb-2010 |
Blaine Garst <blaine@apple.com> |
Unconditionally support block introspection data in a new field at the end of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c0ea8855adbc22f5a431f275ba1f7c3b9e0abc6b |
|
19-Feb-2010 |
Blaine Garst <blaine@apple.com> |
remove unused function & enumerations git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0b63ba4d4642467529afbddc227a06979b6080fb |
|
17-Feb-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Patch to remove arbitrary imporation of 'self' into a block without it being used. This causes over release of objects in certain runtime-senitive apps. (fixes radar 7581175). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1d04e83ee5dc01c52fc6b0218ddcbdc520746abc |
|
17-Feb-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Did not intend to check this in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2f14c4d18fcba4b4577dbe43016d6d42ef9973cf |
|
17-Feb-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Use proper lexcial context for newly added ivars. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
263c4dec5f0fda5a77ed99f3ccd456c15cb8720f |
|
11-Feb-2010 |
Fariborz Jahanian <fjahanian@apple.com> |
Generate the objc_read_weak API when calling a __weak block. Fixes radar 7628591. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
04a67a6aa3dfdc92d57f7f8d93ba397348c868a4 |
|
05-Feb-2010 |
John McCall <rjmccall@apple.com> |
Standardize the parsing of function type attributes in a way that follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8b752f10c394b140f9ef89e049cbad1a7676fc25 |
|
27-Jan-2010 |
Ken Dyck <ken.dyck@onsemi.com> |
Change the return type of ASTContext::getDeclAlignInBytes() to CharUnits and, now that the "InBytes" part of the name is implied by the return type, rename it to getDeclAlign(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
30a8a272f091054ce92b9daa1992bcff887c3ee4 |
|
26-Jan-2010 |
Ken Dyck <ken.dyck@onsemi.com> |
Use CharUnits for alignments in character units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
687cc4a850b59116efee061018f0d8df50728b82 |
|
26-Jan-2010 |
Ken Dyck <ken.dyck@onsemi.com> |
Introduce CodeGenModule::GetTargetTypeStoreSize() to calculate the store size of LLVM types in character units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
14b1a363fbc42f3bac7e6a08a5a7bc425d3537bf |
|
25-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
simplify code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3cf7c5dc23569ae76bd4bddaed22f696233d8e44 |
|
22-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
199c3d6cd16aebbb9c7f0d42af9d922c9628bf70 |
|
11-Jan-2010 |
Ken Dyck <ken.dyck@onsemi.com> |
Roll out ASTContext::getTypeSizeInChars(), replacing instances of "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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a1736c0c750d4514a5d8fda36670addf1e4de54a |
|
24-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Pass the return value slot to all call exprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f3c47c9525153aea2de0ec4bd615b9cf2d81c103 |
|
24-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Pass ReturnValueSlot to EmitCall. No functionality change yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
dbd872f273a8dbf22e089b3def6c09f0a460965d |
|
08-Dec-2009 |
John McCall <rjmccall@apple.com> |
DeclRefExpr stores a ValueDecl internally. Template instantiation can re-use DeclRefExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
10976d99e4e129dfc66c19fd425408cdd9a90268 |
|
05-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
various cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2da84ff228a231adbd3f6f236b857f752d02959a |
|
29-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Don't pass false (default) for isVolatile parameter to CreateLoad. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0da76df9218d7c27b471b0a4d83a5b29fe24e5b4 |
|
23-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Centralize and complete the computation of value- and type-dependence for DeclRefExprs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5e530af5d51572a0ed5dbe50da54bd333840c63d |
|
17-Nov-2009 |
David Chisnall <csdavec@swan.ac.uk> |
Added block type introspection support. As per Fariborz's suggestion, committed now but can be reverted later if the used flag is problematic for Apple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d3dd0aeb14fc9b12af1e2a36aa040234eddc6582 |
|
22-Oct-2009 |
Mike Stump <mrs@apple.com> |
Remove some misguided code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
083c25eea14bb4cc4ecc3ec763c60e2e609e22bd |
|
22-Oct-2009 |
Mike Stump <mrs@apple.com> |
Extend out the block descriptor structure for debug information with the copy/dispose helpers as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0298d3888bcc666e7bd902de9b8497f53ccd1b3d |
|
22-Oct-2009 |
Mike Stump <mrs@apple.com> |
Turn on the preallocation of all BlockDeclRefExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
38e1627e895cd276186ebf177f75ba5d229c3fd7 |
|
22-Oct-2009 |
Mike Stump <mrs@apple.com> |
Refine collection of BlockDeclRefExprs. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bfbd5df38ba91234821c48dcf14adb0e1be512f2 |
|
21-Oct-2009 |
Mike Stump <mrs@apple.com> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bf5fd788b0069e6da159ad95e9d0c4315eb266b6 |
|
21-Oct-2009 |
Mike Stump <mrs@apple.com> |
Refactor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ea26cb522e88fc86b0d1cae61dcefcfe4cc20231 |
|
21-Oct-2009 |
Mike Stump <mrs@apple.com> |
Prep work to always preallocate BlockDeclRefExprs so that we can generate the debug information for the first parameter to the block invoke functions. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bf1914ba8b3ed6c8492ac5857d790384b019cd0a |
|
20-Oct-2009 |
Mike Stump <mrs@apple.com> |
For now, we need to have the llvm type of the block pointer remain as it was. Fixes codegen bug introduced yesterday. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
adaaad3715c9c26cdcfdfe3401a13d7b4423ddcf |
|
20-Oct-2009 |
Mike Stump <mrs@apple.com> |
Refine the type of the first parameter to block invoke functions. WIP. I have yet to find the magic incantation to get the structure type to be defined. If someone has a pointer, love to hear it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3c0ef8cc0dc246bd3083e8cdd63005e8873d36d2 |
|
13-Oct-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify pointer creation with the new Type::getInt*Ptr methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b289b3f324eb10d416b87080e39b315f6c17a695 |
|
02-Oct-2009 |
Mike Stump <mrs@apple.com> |
Implement a FIXME. This improves codegen just a tad. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
de8c5c77e27b6b0064c45d964ea8bcc2c853114d |
|
01-Oct-2009 |
Mike Stump <mrs@apple.com> |
A couple of refinements for laying out debug information for BlockDeclRefDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b1a6e687967105bf1e18dfba196d0248e6700a4e |
|
30-Sep-2009 |
Mike Stump <mrs@apple.com> |
Improve debugging information for BlockDeclRefExpr. WIP. Given this scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bb30419d81ec5d87d547a74a8273a4bd7ddbbf76 |
|
25-Sep-2009 |
Mike Stump <mrs@apple.com> |
Fix 80-col violation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
39605b4eab472a37cec287f9d4663805e60346f3 |
|
22-Sep-2009 |
Mike Stump <mrs@apple.com> |
Improve debug info generation for __block variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
183700f494ec9b6701b6efe82bcb25f4c79ba561 |
|
22-Sep-2009 |
John McCall <rjmccall@apple.com> |
Change all the Type::getAsFoo() methods to specializations of Type::getAs(). Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0d36dd28bb40b08a93d7f64196794882eee08ee8 |
|
19-Sep-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Make clang stop relying on ConstantStruct::get's default value for isPacked which will be going away (ie. it's becoming a required parameter) later today. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
18be84c37b2b796fddfb36447c2b29141d7fdd18 |
|
12-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
Add support for __block variables with alignment greater than __alignof(void *). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7dfa4079f4b37507048b19bfc693d3b015d9dd11 |
|
12-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
For __block variables, cache the LLVM types as well as which LLVM field where the variable is stored. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
db52dcdae7d2e25565096d07ee74fa307061cc32 |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Reflow comments and some minor whitespace fixups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9ad5513b0f9d3999705659fb1aeb0e6c53455f43 |
|
09-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
Make BuildByRefType take a ValueDecl instead of a QualType and an alignment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f42e4a6e089e8413247400fe58ad299193371f9c |
|
24-Aug-2009 |
Torok Edwin <edwintorok@gmail.com> |
Fix build of clang with gcc-4.4: #include <cstdio> was missing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a5d82000f7b173a0a5ce34dc8c09a03f98d9e439 |
|
21-Aug-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove TypeSpecStartLocation from VarDecl/FunctionDecl/FieldDecl, and use DeclaratorInfo to get this information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a1d5662d96465f0fddf8819d245da4d19b892eff |
|
19-Aug-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Introduce DeclaratorDecl and pass DeclaratorInfo through the Decl/Sema interfaces. DeclaratorDecl contains a DeclaratorInfo* to keep type source info. Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl. EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo. Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0032b2781b4deb131f8c9b7968f2030bf2489cdd |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
47a434ff3d49e7906eda88e8e8242e4297725b32 |
|
06-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c9c88b4159791c48e486ca94e3743b5979e2b7a6 |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
286d36832c597772d8796f74a08c1e56185b3de5 |
|
31-Jul-2009 |
Mike Stump <mrs@apple.com> |
Fix spacing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b3589f44c5d295cd41de2c83f3475116835eeebd |
|
31-Jul-2009 |
Mike Stump <mrs@apple.com> |
Canonicalize else spacing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
96e0fc726c6fe7538522c60743705d5e696b40af |
|
30-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6217b80b7a1379b74cced1c076338262c3c980b3 |
|
29-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Change uses of: Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3c4972def972f8ca44dcd0561779a12aaa6fec97 |
|
29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
08e252425ca2cbdc44ba65d9a657ed5398014e36 |
|
28-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4a28d5deeba33722aa009eab488591fb9055cc7e |
|
25-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
35366a67baa970c287c714c957cf78a4131cf60d |
|
17-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methods until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1a1a6e2bd4c5aefd7fd643cf25915f9623a02e59 |
|
16-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Add member template 'Type::getAs<T>', which converts a Type* to a respective T*. This method is intended to eventually replace the individual Type::getAsXXXType<> methods. The motivation behind this change is twofold: 1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of them are basically copy-and-paste. 2) By centralizing the implementation of the getAs<Type> logic we can more smoothly move over to Doug Gregor's proposed canonical type smart pointer scheme. Along with this patch: a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>. b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a1cf15f4680e5cf39e72e28c5ea854fcba792e84 |
|
15-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change, and contextify a bunch of related stuff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
69243825cb5c91ec7207256aa57ae327cfaf8cb2 |
|
13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1c431b323d776362490bbf7cc796b74fedaf19f2 |
|
08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c14f0d230257a8db58aee6329116a7e245e6bbd6 |
|
08-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Update for LLVM API change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3899a7fb9c7eeed19cc38d082921dd8b3d0d6624 |
|
06-Jun-2009 |
Mike Stump <mrs@apple.com> |
As an optimization, we maintain a cache of generated ___Block_byref_id_object_dispose and ___Block_byref_id_object_copy functions so that we can simply reuse instead of creating a new one. Additionally, add an assert to ensure no one yet tries to align a __block variable beyond the alignment of a pointer as the codegen is incomplete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f5408fe484495ee4efbdd709c8a2c2fdbbbdb328 |
|
16-May-2009 |
Mike Stump <mrs@apple.com> |
Reflow some comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e2f79b6a4f9114738fe50ee30eb222945d914341 |
|
13-May-2009 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://6880259 - invalid function name in block call (__NSConcreteGlobalBlock2) by using the appropriate CGM interface instead of directly creating a global. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
dd2fb9c5ebc02f48a5b91a9c2a5f1e4562d02a0b |
|
01-May-2009 |
Mike Stump <mrs@apple.com> |
Don't assert when we think we need copy/dispose, but don't need them. Radar 6838889 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4863db4266d066617a1e5ad7c0f3f28c7995c61b |
|
23-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
fix a problem producing debug info with global blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b5437d238752dc297e42410e98d38d5250fe0463 |
|
23-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
the logic for computing __func__ and friends is really broken: the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0e4f40e1bbc4dce16bbb9870300a435419f1b3d5 |
|
17-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Attributes on block functions were not being set. - <rdar://problem/6800351> clang not producing correct large struct return code for Blocks git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
c2f4c34ed8f79b4136f2c03e41ce3ea0c781bc9a |
|
16-Apr-2009 |
Mike Stump <mrs@apple.com> |
Fixup codegen for copy/dispose for block literals. Radar 6791245 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
963dfbde17a28bc88ee1647bc85fd8407bfc9555 |
|
15-Apr-2009 |
Devang Patel <dpatel@apple.com> |
Set DebugInfo at the beginning of GenerateBlockFunction(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5466c7b0ca8ce662e2c0bc295cecba2b78d6957d |
|
14-Apr-2009 |
Daniel Dunbar <daniel@zuster.org> |
Audit __private_extern__ handling. - Exposed quite a few Sema issues and a CodeGen crash. - See FIXMEs in test case, and in SemaDecl.cpp (PR3983). I'm skeptical that __private_extern__ should actually be a storage class value. I think that __private_extern__ basically amounts to extern A __attribute__((visibility("hidden"))) and would be better off handled (a) as that, or (b) with an extra bit in the VarDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
da0895d003dff3e9c57ca899fc2a3a2b397edb2e |
|
11-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Minor refactoring of my last patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
140fb26e747a1ba728287f02d585d0bb65d5d0da |
|
11-Apr-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Fixes a ir-gen crash for K&R style blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
b7477cf6cf6cf4f132ba7beff42684e59bed15f4 |
|
10-Apr-2009 |
Mike Stump <mrs@apple.com> |
Fixup codegen for nested blocks that use copy/dispose in the inner blocks, so that the outer blocks use it as well. Radar 6762279 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
782f397c1459ef7d8b910c0fb6b95c5f1c19c14f |
|
09-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Use the new EmitCallArgs function. No indented functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a17d7ccc2ed77e321855990e180f2a34ec304bfc |
|
08-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Don't assume that a block always has a FunctionProtoType. Fixes rdar://6768379. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6e460ff03f984d34d6f3ba7f191380b823b6062f |
|
08-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Shuffle some call code around. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f8544a466744a1c02ebceffee9b54071f7801753 |
|
07-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Use the new getFunctionInfo that takes a BlockPointerType parameter, and get rid of getBlockFunctionType from CGBlocks.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
aab0f7a749e939d1d485a436f57ae56d14ba3016 |
|
01-Apr-2009 |
Mike Stump <mrs@apple.com> |
Fix block comparisons. Radar 6732116. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
48f9122dc6f1f1cef540246b0412d8ff9e90a868 |
|
28-Mar-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Move where block-related variables are initialized so that block types don't get generated when blocks aren't used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4927abdc2e8c630117261fd9266304290b1cf32f |
|
25-Mar-2009 |
Mike Stump <mrs@apple.com> |
Remove -f__block as codegen for __block variables should be solid. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a803b0e6ca0d1c71a0b3f5d7380da8bbacf2f983 |
|
25-Mar-2009 |
Mike Stump <mrs@apple.com> |
Fixup codegen for block literals that bleed copy/dispose information from previous block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a8b60c9bd8e992bed2096aa2c9982c3045e8247c |
|
21-Mar-2009 |
Mike Stump <mrs@apple.com> |
Fixup codegen for nested block literals so that we generate copy_helpers and dispose_helpers as necessary for them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
6cc88f78fd36d3511b89412b193494b3e423cbff |
|
20-Mar-2009 |
Mike Stump <mrs@apple.com> |
Fix codegen for support for super inside block literal expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7f28a9c37e67ae16396042ad9c085830969daf29 |
|
14-Mar-2009 |
Mike Stump <mrs@apple.com> |
Do up codegen for function static data and externs in functions in block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9d25423797de98f4e286fd681a6bbe5b48b0493a |
|
13-Mar-2009 |
Mike Stump <mrs@apple.com> |
Remove FIXME, issue has been resolved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e78b809bbcd92928a63da81f2cd843faad3e4dfd |
|
13-Mar-2009 |
Steve Naroff <snaroff@apple.com> |
Fix <rdar://problem/6675489> BlockDecl should not use llvm::smallvector. Also changed BlockDecl API to be more consistent (wrt FunctionDecl). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d67b09abf241e527ecb2fd02b772f9486b30fd2f |
|
12-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix uninitialized use in GetAddrOfGlobalBlock, reenable assert. - Mike, please verify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a91b5905755a9066576db16f1d3ac0ffb9e43e09 |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
If someone could figure out this is necessary, that would be good. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8e5d9f1aadc11fb39b669770f729fbe40c94f5be |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
Fix typo, need parens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
63822bab6e76041b623204566c9ea657023315b0 |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
Remove last FIXME for block literal codegen that I know about and turn on all the new code by default. There is still plenty of testing to do and issues I'm sure need resolving. Let me know if you find anything. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f4bc312fc701100af8d3b5af73366715169f5585 |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
Remove some FIXMEs for block literals that should be close to working. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1edf6b646ea161ce1193ba278ae88de82ff7114d |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
codegen support for dispose helpers for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0892099dbc640720400a1d9decd2733a09d733e5 |
|
07-Mar-2009 |
Mike Stump <mrs@apple.com> |
Codegen support for copy helpers for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
cf62d39bc2f09855c6ab08bdc5d0bf54067f0041 |
|
06-Mar-2009 |
Mike Stump <mrs@apple.com> |
Pass the type of the block literal around to make required temporal ordering of code clearer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ee09422b014151a6a47c2ce704a81e94467bc786 |
|
06-Mar-2009 |
Mike Stump <mrs@apple.com> |
Complete __Block_byref_id_object_copy cogegen for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
1851b68aaa6717783609f366f5d87bbd0030f189 |
|
06-Mar-2009 |
Mike Stump <mrs@apple.com> |
Finish off __Block_byref_id_object_dispose codegen for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
416d92ef0b8ad96ab679de7856bdb55c5f31d814 |
|
06-Mar-2009 |
Mike Stump <mrs@apple.com> |
Remove extra arg. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
45031c08c608e548ac12caf0547f89574e994b96 |
|
06-Mar-2009 |
Mike Stump <mrs@apple.com> |
More codegen support for the copy/dispose helpers for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a4f668f3b7e03629066a01b04e415cb2b4655daf |
|
06-Mar-2009 |
Mike Stump <mrs@apple.com> |
Framework for codegen for copy/dispose helpers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
00470a1c4c44c5ed26bad9a38b4d3904b02d7a28 |
|
05-Mar-2009 |
Mike Stump <mrs@apple.com> |
prep work for copy/destroy helpers for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
797b6327571f9d7b1c45404a56ddcbf9b9298ae8 |
|
05-Mar-2009 |
Mike Stump <mrs@apple.com> |
Add codegen support for __block variables to call _Block_object_dispose as necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
58a851409298a53e1a6245cb24b8403ac09264ff |
|
04-Mar-2009 |
Mike Stump <mrs@apple.com> |
Fixup __block codegen in nested block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3947de5edda7e0c32060c568cc5f7b2aae6f70b4 |
|
04-Mar-2009 |
Mike Stump <mrs@apple.com> |
Move some of the CodeGenFunction blocks code up and out. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
90a904309c79977fcba2ff0542e2e4cd8e3c3faf |
|
04-Mar-2009 |
Mike Stump <mrs@apple.com> |
Move more of the blocks code up and out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
2a998148a6823c44d67da347c95eb2ea21f6b986 |
|
04-Mar-2009 |
Mike Stump <mrs@apple.com> |
Move more of blocks codegen out of CodeGenModule and into the BlockModule. No functionality change. This should help people that don't want to know anything about blocks not be confused by the overloaded use of the term block or nor want to see all the blocks goop. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
58919e1f982da4f57356afd38bc86b13d84199df |
|
04-Mar-2009 |
Mike Stump <mrs@apple.com> |
Add __block codegen testcase. We introduce a temporary flag to enable codegen, until such time as codegen is complete enough to turn on with -fblocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
dab514fc30242c7afd6c03956e46136c400fb0d3 |
|
04-Mar-2009 |
Mike Stump <mrs@apple.com> |
Improved ABI compliance for __block variables. No testcases yet as we still give an unsupported error for them due to the fact this is a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
82573ee7419091e5ec87e2f4fa254c7a285781d6 |
|
02-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Avoid crash when child iterator gives null result. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
31937a5f7cb689377ff39397f4d0a8cff22d7359 |
|
02-Mar-2009 |
Mike Stump <mrs@apple.com> |
Push checking down, also, give the user a hit as to which part of the block literal is causing the problem, instead of the vague reference to the entire block literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8045ee072879657370cbd97dca46aea45ec44e2d |
|
01-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Add BLOCK_HAS_DESCRIPTOR to global blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
5570cfec4ee736bd01b2fb940631acf49110bf41 |
|
01-Mar-2009 |
Mike Stump <mrs@apple.com> |
Be sure to mark blocks with no imports as being global. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
554d6caff0c4fc8fed336e6f7d81cf51d1658d25 |
|
01-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Remove debugging code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
0df8c925710facc059d643b16dffc6df3d415363 |
|
01-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Emit errors about unsupported blocks features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4de9fce48e42cc7ec1345c0fd21b3dbc5b9114c8 |
|
01-Mar-2009 |
Anders Carlsson <andersca@mac.com> |
Do some blocks cleanup and simplification. Fix a crash, and add a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
161d36de7ee686b09525bb919ad1b20592e499fc |
|
28-Feb-2009 |
Chris Lattner <sabre@nondot.org> |
improve compatibility with the VC++'08 C++ compiler. Patch by Niklas Larsson! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a99038c0757a836c6faeeddaa5dfd249b32f6e9e |
|
28-Feb-2009 |
Mike Stump <mrs@apple.com> |
First cut CodeGen support for __block variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
72564e73277e29f6db3305d1f27ba408abb7ed88 |
|
27-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Create a new TypeNodes.def file that enumerates all of the types, giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
8a2b4b1c5b960710db95e9b296d9a600aee37c00 |
|
26-Feb-2009 |
Mike Stump <mrs@apple.com> |
CodeGen support for copied BlockDeclRefExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
911e0af45196b15e9dd8557ca9ebf00fb01c4fdc |
|
24-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Pass the CodeGenModule object to GenerateBlockFunction, instead of *this (which will call the copy constructor). Also, since we're creating a new CodeGenFunction object for each block function, we don't need to clear the BreakContinueStack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3d5e06254909d5a58cc5fcff4ebeef1f3faebaf9 |
|
24-Feb-2009 |
Mike Stump <mrs@apple.com> |
Ensure that we can't break or continue out of a block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
20733cd4fd5c9755cdfab583db862223c93732c8 |
|
22-Feb-2009 |
Mike Stump <mrs@apple.com> |
Cleanp code with some recent suggestions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d6840002c37ba25effe5eb4bb89c4ae2e1d80945 |
|
21-Feb-2009 |
Mike Stump <mrs@apple.com> |
The blocks ABI is wrong, add a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
4e7a1f7682d94811bd41fca8aefccc38f686db23 |
|
21-Feb-2009 |
Mike Stump <mrs@apple.com> |
Add CodeGen support for the helper for BlockDeclRefExprs. The easier stuff is mostly done. Move BlockHasCopyDispose up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
bd65cac8de63d108a681035782a71d42954b03ab |
|
19-Feb-2009 |
Mike Stump <mrs@apple.com> |
More codegen for blocks. The type of block literals should be better. The size calculation is improved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
190506199ebbfe9bf33c1b4410c7aecd7f348ab1 |
|
18-Feb-2009 |
Mike Stump <mrs@apple.com> |
Avoid getNameAsCString when the decl doesn't have a name. Build of the parm list with the iterator, not end(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
cb71722bce938bebaa02f4482b284380a44a19f7 |
|
17-Feb-2009 |
Mike Stump <mrs@apple.com> |
Be sure to initialize Name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
30395dd7b77ec1abfae9ebfcacf86f5d72b91fef |
|
14-Feb-2009 |
Mike Stump <mrs@apple.com> |
Use getNameAsCString instead of getNameAsString and reflow the type. Thanks Anders. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
67a6448a8d52ae46d1cba4e474f9f6b3968d2ff9 |
|
14-Feb-2009 |
Mike Stump <mrs@apple.com> |
Generate the helper function for blocks. Now basic codegen is starting to work for blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7d6dc4ff45917c480d8b3350385337f34511ebaf |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Let the backend unique these. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f744895f3c2ebc27d15a523c3be8ebcd9f3644be |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Fix spelling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
324699105567f2948db316c3a3dc4c1d38a3657e |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Move DescriptorUniqueCount into CGM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
59c5b118dfbcbc22c65ae42b8f5ef5979ec802ee |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Move NSConcreteStackBlock into CGM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3fa3dc13e9fddb3394c28b4384f28f087f2d7cb8 |
|
13-Feb-2009 |
Douglas Gregor <dgregor@apple.com> |
Eliminate an unused variable git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
26efc3388adb010984da2f70e1f24e8286e6476d |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Move GlobalUniqueCount up into CGM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
f99f1d022614200f04a94f0fc5586aa2f5e6226d |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Condense NSConcreteGlobalBlock handling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
3ba8215d5b14fca14835076f0f40334ecc967121 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Calculate size correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
56129b1f98e8a40d493476fdb7f57cee63ceb7e7 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Size should be unsigned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
e5fee25e71266712522cff554f25c59b3078a429 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Condense all the blocks code into CGBlocks.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
7cbb3608a7c28a7fb285fdc7f44060c5c175c8a0 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Fixup types, the runtime uses int, not int32. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
a5448544eea6663f8dce30a50343ef5125559794 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Fixup spacing a tad. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
9b8a7977109604d573b49d517e98badbbb9d5ac7 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Move GenericBlockLiteralType into CGM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
ab695143861b520f5c9f8f982534a71d355396f1 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
Move BlockDescriptorType into CGM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
d5cab5435371b8cc74a9e05ebd40b5995ebad149 |
|
12-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Add a very basic implemenation of global blocks. This needs to be cleaned up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|
acfde805d644bc71dfeac54ddbc9f12cdae0bb02 |
|
12-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Add support for generating block call expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGBlocks.cpp
|