summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Throw the switch to convert clang to the new exception handling model!Bill Wendling2011-09-193-66/+64
| | | | | | | | | | | | | This model uses the 'landingpad' instruction, which is pinned to the top of the landing pad. (A landing pad is defined as the destination of the unwind branch of an invoke instruction.) All of the information needed to generate the correct exception handling metadata during code generation is encoded into the landingpad instruction. The new 'resume' instruction takes the place of the llvm.eh.resume intrinsic call. It's lowered in much the same way as the intrinsic is. llvm-svn: 140049
* Tighten check to match an ivar with corresponding property by using ↵Devang Patel2011-09-191-4/+8
| | | | | | | | ObjCImplementationDecl. Radar 10139522 - Part 1. llvm-svn: 140038
* In apple-kext mode, use external linkage for explicit template instantiationsJohn McCall2011-09-191-2/+7
| | | | | | instead of internal linkage. llvm-svn: 140030
* PR10304: Do not call destructors for data members from union destructors. ↵Richard Smith2011-09-181-0/+4
| | | | | | | | | Prior to C++11, this has no effect since any such destructors must be trivial, and in C++11 such destructors must not be called. llvm-svn: 139997
* Refactor the load of the exception pointer and the exception selector from theirBill Wendling2011-09-153-14/+24
| | | | | | storage slot into helper functions. llvm-svn: 139826
* Rewrite this loop to use partial destruction; I'm not sure it'sJohn McCall2011-09-152-61/+77
| | | | | | | | possible for that to matter right now, but eventually I think we'll need to unify this better, and then it might. Also, use a more efficient looping structure. llvm-svn: 139788
* Sorry, that assertion actually already exists.John McCall2011-09-151-2/+0
| | | | llvm-svn: 139770
* We don't generate null initializer expressions anymore, andJohn McCall2011-09-151-5/+3
| | | | | | we don't need to. llvm-svn: 139769
* Emit debug info for c++0x nullptr.Devang Patel2011-09-141-2/+2
| | | | llvm-svn: 139752
* Formatting.Eric Christopher2011-09-141-11/+9
| | | | llvm-svn: 139681
* Fix comment.Eli Friedman2011-09-141-1/+1
| | | | llvm-svn: 139678
* Fix typo.Eric Christopher2011-09-131-1/+1
| | | | llvm-svn: 139668
* Correctly generate IR for casted "builtin" functions, whereJohn McCall2011-09-132-37/+41
| | | | | | | the builtin is really just a predefined declaration. These are totally valid to cast. llvm-svn: 139657
* Re-commit r139643.Eli Friedman2011-09-132-30/+20
| | | | | | Make clang use Acquire loads and Release stores where necessary. llvm-svn: 139650
* Revert r139643 while I look into it; it's breaking selfhost.Eli Friedman2011-09-132-20/+30
| | | | llvm-svn: 139648
OpenPOWER on IntegriCloud