summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDecl.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Update for LLVM API change.Owen Anderson2009-08-051-1/+1
| | | | llvm-svn: 78259
* assert(nyi) on attempt to destruct an array of objects.Fariborz Jahanian2009-08-031-2/+6
| | | | llvm-svn: 77993
* ir-gen for destructor calls.Fariborz Jahanian2009-08-031-0/+12
| | | | llvm-svn: 77991
* use CodeGenModule::EmitNullConstant in a couple of places.Anders Carlsson2009-08-021-3/+2
| | | | llvm-svn: 77915
* Update for LLVM API change.Owen Anderson2009-07-311-1/+1
| | | | llvm-svn: 77722
* Canonicalize else spacing.Mike Stump2009-07-301-2/+1
| | | | llvm-svn: 77629
* Update for LLVM API change.Owen Anderson2009-07-291-6/+6
| | | | llvm-svn: 77514
* Update for LLVM API change.Owen Anderson2009-07-291-2/+2
| | | | llvm-svn: 77492
* Switch to using llvm::Value::getName()Daniel Dunbar2009-07-261-2/+1
| | | | llvm-svn: 77147
* Update for LLVM API change.Owen Anderson2009-07-241-3/+3
| | | | llvm-svn: 77012
* Fix thinko.Daniel Dunbar2009-07-191-4/+1
| | | | llvm-svn: 76362
* Avoid generation of dead code in a few more situations.Daniel Dunbar2009-07-191-2/+24
| | | | | | | | | | | | | - Emit variable declarations as "simple", we want to avoid forcing the creation of a dummy basic block, but still need to make the variable available for later use. - With that, we can now skip IRgen for other unreachable statements (which don't define a label). - Anders, I added two fixmes on calls to EmitVLASize, can you check them? llvm-svn: 76361
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-141-12/+13
| | | | llvm-svn: 75705
* Update for LLVM API change.Owen Anderson2009-07-131-1/+1
| | | | llvm-svn: 75446
* Update for LLVM API change.Owen Anderson2009-07-081-6/+6
| | | | llvm-svn: 75028
* Update for LLVM API change.Owen Anderson2009-07-081-2/+4
| | | | llvm-svn: 74986
* Remove the ASTContext parameter from the attribute-related methods of Decl.Argyrios Kyrtzidis2009-06-301-6/+6
| | | | | | | | | The implementations of these methods can Use Decl::getASTContext() to get the ASTContext. This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it. llvm-svn: 74501
* typoDevang Patel2009-06-261-1/+1
| | | | llvm-svn: 74305
* Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>.Douglas Gregor2009-06-181-6/+6
| | | | llvm-svn: 73702
* As an optimization, we maintain a cache of generatedMike Stump2009-06-051-8/+11
| | | | | | | | | | ___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. llvm-svn: 72974
* Add IRGen support for local variables of reference type.Eli Friedman2009-05-271-6/+4
| | | | llvm-svn: 72462
* Targets like PIC16 generate Static decls for automatic variables, emit the ↵Sanjiv Gupta2009-05-221-1/+4
| | | | | | appropriate debug descriptor as well in that case. llvm-svn: 72261
* Pass the destination QualType to EmitStoreOfScalar. No functionality change.Anders Carlsson2009-05-191-2/+3
| | | | llvm-svn: 72118
* Since we miscompile many cases when declaring a variable with a reference ↵Anders Carlsson2009-05-181-0/+10
| | | | | | type, make them unsupported for now. llvm-svn: 72034
* Fixup debug information for the location information for __blockMike Stump2009-05-151-2/+4
| | | | | | | | | | | | | | | | | | | | variables. For this to work, the backend needs to handle more complex forms for locations. A typical utterance would be: %forwarding = getelementptr %0* %use_by_ref, i32 0, i32 1 ; <i8**> [#uses=1] %0 = load i8** %forwarding ; <i8*> [#uses=1] %1 = bitcast i8* %0 to %0* ; <%0*> [#uses=1] %x = getelementptr %0* %1, i32 0, i32 4 ; <i32*> [#uses=1] %2 = bitcast i32* %x to { }* ; <{ }*> [#uses=1] call void @llvm.dbg.declare({ }* %2, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to { }*)) Presently when selection finds something it doesn't understand, it just avoids generating any information, which is safe, just incomplete. Radar 6867696 llvm-svn: 71824
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-1/+1
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* When calling the cleanup function specified by __attribute__((cleanup)), ↵Anders Carlsson2009-04-261-2/+13
| | | | | | make sure to bitcast the argument so it has the same type as the first argument of the cleanup function. Fixes <rdar://problem/6827047>. llvm-svn: 70098
* PR3247: Handle a couple of cases where we weren't emitting VLA sizes (and Eli Friedman2009-04-201-0/+4
| | | | | | subsequently crashed). llvm-svn: 69567
* PR3853: Add CodeGen support for __thread.Eli Friedman2009-04-191-6/+3
| | | | llvm-svn: 69545
* Audit __private_extern__ handling.Daniel Dunbar2009-04-141-6/+7
| | | | | | | | | | | | | | - 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. llvm-svn: 69020
* Update to use hasAttr() instead of getAttr().Daniel Dunbar2009-04-131-3/+3
| | | | | | - No functionality change. llvm-svn: 68987
* Make messages consistent.Chris Lattner2009-04-101-1/+1
| | | | llvm-svn: 68756
* reject codegen of __thread variables as unimplemented, rdar://6775265Chris Lattner2009-04-101-0/+4
| | | | llvm-svn: 68755
* Add a destination type argument to EmitConstantExpr. This will be used for ↵Anders Carlsson2009-04-081-1/+1
| | | | | | when the destination has a reference type. (No functionality change yet) llvm-svn: 68593
* Don't use static globals for params as it confuses the optimzer that their ↵Sanjiv Gupta2009-04-021-6/+0
| | | | | | values are never being used in the function. llvm-svn: 68328
* When compiling C++ code, always mangle the names of static block var decls.Anders Carlsson2009-04-021-10/+16
| | | | llvm-svn: 68280
* Code gen does not yet supports __asm__ on a variableFariborz Jahanian2009-03-301-0/+3
| | | | | | declaration. Reject it. llvm-svn: 68058
* don't set the name of a call instruction to "call" in release-asserts Chris Lattner2009-03-221-1/+1
| | | | | | build. This shaves another 3% off. llvm-svn: 67460
* fix CreateTempAlloca to not set a name on the alloca for temporariesChris Lattner2009-03-221-3/+5
| | | | | | | | | in release-assert builds. For automatic variables, explicitly set a name with setName that does not make a temporary std::string. This speeds up -emit-llvm-only -disable-free on PR3810 by 4.6% llvm-svn: 67459
* Fixup codegen for nested block literals so that we generateMike Stump2009-03-211-2/+0
| | | | | | copy_helpers and dispose_helpers as necessary for them. llvm-svn: 67453
* Fix codegen for support for super inside block literal expressions.Mike Stump2009-03-201-4/+0
| | | | llvm-svn: 67406
* Mangle param names with .arg. only.Sanjiv Gupta2009-03-071-1/+1
| | | | llvm-svn: 66343
* Remove some FIXMEs for block literals that should be close to working.Mike Stump2009-03-071-2/+5
| | | | llvm-svn: 66322
* Complete __Block_byref_id_object_copy cogegen for block literals.Mike Stump2009-03-061-1/+2
| | | | llvm-svn: 66257
* Finish off __Block_byref_id_object_dispose codegen for block literals.Mike Stump2009-03-061-5/+7
| | | | llvm-svn: 66247
* Remove extra arg.Mike Stump2009-03-061-1/+1
| | | | llvm-svn: 66243
* More codegen support for the copy/dispose helpers for block literals.Mike Stump2009-03-061-2/+2
| | | | llvm-svn: 66241
* Framework for codegen for copy/dispose helpers.Mike Stump2009-03-061-2/+2
| | | | llvm-svn: 66231
* Don't mangle names of local variables.Daniel Dunbar2009-03-051-2/+2
| | | | | | | | - For one thing, this adds unneeded overhead; for another, this routine can be used to emit unnamed decls which we shouldn't try to mangle. llvm-svn: 66212
* prep work for copy/destroy helpers for block literals.Mike Stump2009-03-051-2/+9
| | | | llvm-svn: 66159
OpenPOWER on IntegriCloud