summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDecl.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Patch for destruction of array of objects on block exit.Fariborz Jahanian2009-10-291-4/+13
| | | | llvm-svn: 85512
* Fix 80-col violation.Mike Stump2009-10-211-2/+2
| | | | llvm-svn: 84719
* ignore 'using' directive in CodeGenFunction::EmitDecl(). this fixes PR5085Nuno Lopes2009-10-161-0/+1
| | | | llvm-svn: 84255
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-6/+3
| | | | llvm-svn: 83964
* Revert 83567.Devang Patel2009-10-091-6/+3
| | | | llvm-svn: 83676
* Record location info before emiting alloca for arguments. This allows ↵Devang Patel2009-10-081-3/+6
| | | | | | arguments to have proper location info. llvm-svn: 83567
* Set alignment on static function level decls and VLAs. Fixes PR5060.Anders Carlsson2009-09-261-6/+11
| | | | llvm-svn: 82868
* Improve debug info generation for __block variables.Mike Stump2009-09-221-17/+3
| | | | llvm-svn: 82508
* Fix another byref bug. This should hopefully get QuickLookPlugins building ↵Anders Carlsson2009-09-131-10/+10
| | | | | | successfully. llvm-svn: 81681
* Add FIXME for alignments that won't be honored.Mike Stump2009-09-121-0/+2
| | | | llvm-svn: 81620
* Add support for __block variables with alignment greater than __alignof(void *).Anders Carlsson2009-09-121-22/+57
| | | | llvm-svn: 81602
* For __block variables, cache the LLVM types as well as which LLVM field ↵Anders Carlsson2009-09-121-7/+22
| | | | | | where the variable is stored. llvm-svn: 81599
* GlobalDecl doesn't have an explicit constructor anymore.Anders Carlsson2009-09-101-1/+1
| | | | llvm-svn: 81481
* Make the forwarding member of block byref structs be a pointer to the block ↵Anders Carlsson2009-09-101-4/+13
| | | | | | byref struct itself. llvm-svn: 81423
* Suppress build warning.Daniel Dunbar2009-09-091-0/+1
| | | | llvm-svn: 81384
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-44/+44
| | | | llvm-svn: 81346
* Make BuildByRefType take a ValueDecl instead of a QualType and an alignment.Anders Carlsson2009-09-091-3/+12
| | | | llvm-svn: 81315
* Remove an ErrorUnsupported call.Anders Carlsson2009-08-171-5/+0
| | | | llvm-svn: 79261
* Add an IsInitializer flag to EmitAnyExpr. This is used to prevent ↵Anders Carlsson2009-08-161-2/+2
| | | | | | temporaries from being destroyed when they're bound to a reference variable. llvm-svn: 79179
* Update for LLVM API change.Owen Anderson2009-08-131-10/+12
| | | | llvm-svn: 78946
* Refactor some code and implement support for global destructors for static ↵Anders Carlsson2009-08-081-1/+1
| | | | | | variables. llvm-svn: 78507
* 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
OpenPOWER on IntegriCloud