summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* When constructing debug information for synthesized variables for theEric Christopher2011-10-061-3/+8
| | | | | | | | | | non-fragile ABI we may not be able to lay out the type and the debugger would ignore us even if we did put in the offset. Go ahead and just put any value there and don't look up the offset since it may not exist. rdar://10210157 llvm-svn: 141261
* Reformat comment.Eric Christopher2011-10-061-6/+6
| | | | llvm-svn: 141260
* PTX: Set proper calling conventions for PTX in OpenCL mode.Justin Holewinski2011-10-051-5/+40
| | | | llvm-svn: 141193
* Add bitmaps for strong / weak ivar layout (GNUstep runtime).David Chisnall2011-10-041-18/+102
| | | | llvm-svn: 141085
* Mark calls to objc_retainBlock that don't result from castsJohn McCall2011-10-043-13/+52
| | | | | | to id so that we can still optimize them appropriately. llvm-svn: 141064
* Propagate __attribute__((returns_twice)) from C to IL.Rafael Espindola2011-10-031-0/+3
| | | | llvm-svn: 141002
* Allow getting all source locations of selector identifiers in a ObjCMethodDecl.Argyrios Kyrtzidis2011-10-034-5/+3
| | | | | | | | | | | | | Instead of always storing all source locations for the selector identifiers we check whether all the identifiers are in a "standard" position; "standard" position is -Immediately before the arguments: -(id)first:(int)x second:(int)y; -With a space between the arguments: -(id)first: (int)x second: (int)y; -For nullary selectors, immediately before ';': -(void)release; In such cases we infer the locations instead of storing them. llvm-svn: 140989
* Pass from the parser the locations of selector identifiers when creatingArgyrios Kyrtzidis2011-10-031-1/+4
| | | | | | | | objc method decls. They are not stored in the AST yet. llvm-svn: 140984
* Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall2011-10-021-1/+21
| | | | | | | | | | | | | | | | | | | increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. llvm-svn: 140957
* When performing an @throw in ARC, retain + autoreleaseJohn McCall2011-10-014-3/+29
| | | | | | | the pointer, being sure to do so before running cleanups associated with that full-expression. rdar://10042689 llvm-svn: 140945
* objc gc: assigning to an objc object struct member through an ivar Fariborz Jahanian2011-09-301-8/+20
| | | | | | pointer to this struct must go through the none ivar writer barrier. llvm-svn: 140867
* Minor cleanup.Eli Friedman2011-09-301-4/+3
| | | | llvm-svn: 140866
* Change "Regions" to be "LexicalBlocks" since that's what theyEric Christopher2011-09-294-53/+54
| | | | | | correspond to. llvm-svn: 140740
* Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don'tEric Christopher2011-09-295-8/+10
| | | | | | exist anymore. llvm-svn: 140739
* Reorder functions in the file.Eric Christopher2011-09-291-31/+30
| | | | llvm-svn: 140738
* Call UpdateLineDirectiveRegion every time we want to emit a stopEric Christopher2011-09-294-6/+8
| | | | | | | point in the code. Ensures that we don't miss any places and the check is reasonably cheap. llvm-svn: 140737
* Update comment.Eric Christopher2011-09-291-1/+2
| | | | llvm-svn: 140736
* de-tmpify clang.Benjamin Kramer2011-09-2713-97/+90
| | | | llvm-svn: 140637
* Update comments.Eric Christopher2011-09-261-3/+3
| | | | llvm-svn: 140531
* Fix comment to reflect reality.Eric Christopher2011-09-261-2/+1
| | | | llvm-svn: 140530
* Move VTable builder to ASTPeter Collingbourne2011-09-262-2707/+1
| | | | llvm-svn: 140510
* Have CodeGenVTables::GenerateConstructionVTable use VTableLayoutPeter Collingbourne2011-09-262-18/+14
| | | | llvm-svn: 140509
* Move vtable dumper call to VTableBuilder ctorPeter Collingbourne2011-09-261-12/+3
| | | | llvm-svn: 140508
* Implement VTableContext::createConstructionVTableLayoutPeter Collingbourne2011-09-262-10/+29
| | | | llvm-svn: 140507
* Move all vtable layout data into new VTableLayout classPeter Collingbourne2011-09-265-118/+150
| | | | llvm-svn: 140506
* Move VTableComponent to header filePeter Collingbourne2011-09-262-167/+167
| | | | llvm-svn: 140505
* Move vtable component accessors to VTableContextPeter Collingbourne2011-09-265-97/+110
| | | | llvm-svn: 140504
* Remove CodeGenVTables::ComputeVTableRelatedInformation dependency on CodeGenPeter Collingbourne2011-09-263-33/+26
| | | | llvm-svn: 140503
* Create a VTableContext class and start moving CodeGenVTables methods to itPeter Collingbourne2011-09-268-52/+70
| | | | llvm-svn: 140502
* Move VTT builder to ASTPeter Collingbourne2011-09-261-337/+1
| | | | llvm-svn: 140501
* Move BaseSubobject class to ASTPeter Collingbourne2011-09-261-66/+1
| | | | llvm-svn: 140500
* Remove CodeGenModule field from VTTBuilderPeter Collingbourne2011-09-261-11/+11
| | | | llvm-svn: 140499
* Make the VTTBuilder class independent of LLVM corePeter Collingbourne2011-09-262-95/+129
| | | | llvm-svn: 140498
* Rename Diagnostic to DiagnosticsEngine as per issue 5397David Blaikie2011-09-257-21/+23
| | | | llvm-svn: 140478
* Treat list-initialization of scalars as a first-class citizen in C++11.Sebastian Redl2011-09-241-2/+7
| | | | | | | | | Allow empty initializer lists for scalars, which mean value-initialization. Constant evaluation for single-element and empty initializer lists for scalars. Codegen for empty initializer lists for scalars. Test case comes in next commit. llvm-svn: 140459
* Removing a bunch of dead returns/breaks after llvm_unreachables.David Blaikie2011-09-2313-25/+0
| | | | llvm-svn: 140407
* Switch assert(0/false) llvm_unreachable.David Blaikie2011-09-2319-63/+65
| | | | llvm-svn: 140367
* Don't remove filters.Bill Wendling2011-09-221-7/+3
| | | | | | | | | It's not valid to remove filters from landingpad instructions, even if we catch the type. The metadata won't be set up correctly. Testcase is projects/llvm-test/SingleSource/UnitTests/EH/filter-2.cpp. llvm-svn: 140335
* Only trigger the initialize-an-array-via-elementwise-copy/move codeDouglas Gregor2011-09-221-1/+2
| | | | | | | | generation when we're dealing with an implicitly-defined copy or move constructor. And, actually set the implicitly-defined bit for implicitly-defined constructors and destructors. Should fix self-host. llvm-svn: 140334
* Explicitly-defaulted copy/move constructors are not "implicit", butDouglas Gregor2011-09-221-2/+1
| | | | | | | they still need the logic to cope with array member initialization. Fixes PR10720. llvm-svn: 140302
* ANSI C requires that a call to an unprototyped function type succeedJohn McCall2011-09-213-2/+82
| | | | | | | | | | | | | | | | | if the definition has a non-variadic prototype with compatible parameters. Therefore, the default rule for such calls must be to use a non-variadic convention. Achieve this by casting the callee to the function type with which it is required to be compatible, unless the target specifically opts out and insists that unprototyped calls should use the variadic rules. The only case of that I'm aware of is the x86-64 convention, which passes arguments the same way in both cases but also sets a small amount of extra information; here we seek to maintain compatibility with GCC, which does set this when calling an unprototyped function. Addresses PR10810 and PR10713. llvm-svn: 140241
* Change "ivar" to true for a boolean function argument. Since string ↵Richard Trieu2011-09-211-2/+3
| | | | | | literals are cast to true, this should no effect on behavior. llvm-svn: 140231
* Create a MipsTargetCodeGenInfo object for mips64/mips64el. The size of theAkira Hatanaka2011-09-201-0/+4
| | | | | | UnwindException structure is 32 for mips64. llvm-svn: 140165
* Add a parameter to MipsTargetCodeGenInfo's constructor.Akira Hatanaka2011-09-201-4/+5
| | | | llvm-svn: 140161
* Don't assume that the clause is a GlobalVariable. It could be a constant.Bill Wendling2011-09-201-13/+11
| | | | llvm-svn: 140123
* Add list initialization for complex numbers in C. Essentially, this allows ↵Eli Friedman2011-09-192-1/+24
| | | | | | | | "_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description. <rdar://problem/9397672>. llvm-svn: 140090
* The eh.selector intrinsic isn't used anymore. Replace the check here with aBill Wendling2011-09-191-16/+30
| | | | | | | | | check for the landingpad instruction instead. This check looks at each of the clauses in the landingpad instruction. If it's a catch clause, it compares the name directly with the global. If it's a filter clause, it has to look through each value in the filer to see if any have the prefix. llvm-svn: 140075
* OpenCL: introduce support for function scope __local variablesPeter Collingbourne2011-09-196-3/+99
| | | | llvm-svn: 140068
* In CodeGenAction::ExecuteAction() use SourceManager::translateFileLineCol()Argyrios Kyrtzidis2011-09-191-1/+1
| | | | | | instead of getLocation() since we don't care about expanded macro arguments. llvm-svn: 140061
* Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset.Argyrios Kyrtzidis2011-09-191-1/+1
| | | | | | It already works (and is useful with) macro locs as well. llvm-svn: 140057
OpenPOWER on IntegriCloud