| #
5c60a6f5 |
| 18-Feb-2010 |
John McCall <[email protected]> |
Make deleting and complete dtor variants defer to other dtor variants by calling them as subroutines. This triggers whenever the alias optimization doesn't, i.e. when the dtor has linkonce linkage o
Make deleting and complete dtor variants defer to other dtor variants by calling them as subroutines. This triggers whenever the alias optimization doesn't, i.e. when the dtor has linkonce linkage or there are virtual bases or it's the deleting dtor.
llvm-svn: 96605
show more ...
|
| #
89b12b34 |
| 18-Feb-2010 |
John McCall <[email protected]> |
Extract out function-body code generation into its own method. No functionality change.
llvm-svn: 96564
|
| #
347132b3 |
| 16-Feb-2010 |
John McCall <[email protected]> |
IRgen optimization: cache the value of 'this' and 'vtt' instead of repeatedly reloading from an alloca. We still need to create the alloca for debug info purposes (although we currently create it i
IRgen optimization: cache the value of 'this' and 'vtt' instead of repeatedly reloading from an alloca. We still need to create the alloca for debug info purposes (although we currently create it in all cases because of some abstraction boundaries that're hard to break down).
llvm-svn: 96403
show more ...
|
| #
fd09df78 |
| 16-Feb-2010 |
Daniel Dunbar <[email protected]> |
IRgen: Switch 'retval' to use CreateIRTemp.
llvm-svn: 96376
|
| #
819e54b6 |
| 09-Feb-2010 |
Jakob Stoklund Olesen <[email protected]> |
Pass inline keyword to optimizer as the new InlineHint function attribute.
At the moment the inlinehint attribute is ignored by the Inliner unless you pass a -respect-inlinehint option. This will s
Pass inline keyword to optimizer as the new InlineHint function attribute.
At the moment the inlinehint attribute is ignored by the Inliner unless you pass a -respect-inlinehint option. This will soon be the default.
The inlinehint attribute is set if the inline keyword is explicitly specified on any declaration.
llvm-svn: 95623
show more ...
|
| #
ff8cce43 |
| 07-Feb-2010 |
Anders Carlsson <[email protected]> |
Make sure to set vtable pointers in the destructors as well.
llvm-svn: 95525
|
| #
ab26cfa5 |
| 05-Feb-2010 |
John McCall <[email protected]> |
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 applie
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().
llvm-svn: 95436
show more ...
|
| #
ae612d22 |
| 04-Feb-2010 |
Anders Carlsson <[email protected]> |
Rename StartConditionalBranch/FinishConditionalBranch to BeginConditionalBranch/EndConditionalBranch.
llvm-svn: 95308
|
| #
60ddba67 |
| 24-Jan-2010 |
Anders Carlsson <[email protected]> |
Fix a nasty bug where temporaries weren't marked as being conditional in some cases.
llvm-svn: 94341
|
| #
934661ed |
| 14-Jan-2010 |
Devang Patel <[email protected]> |
Emit human readable names for c/c++ functions. Avoid emitting linkage name if it matches regular name.
llvm-svn: 93383
|
| #
40775003 |
| 11-Jan-2010 |
Ken Dyck <[email protected]> |
Roll out ASTContext::getTypeSizeInChars(), replacing instances of "ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits ones as appropriate.
Also rename RawType, fromRaw(), a
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.
llvm-svn: 93153
show more ...
|
| #
e36a6b3e |
| 02-Jan-2010 |
Anders Carlsson <[email protected]> |
Correctly pass VTT parameters to constructors and destructors. The VTTs aren't yet used in the ctors/dtors, but that will follow.
llvm-svn: 92409
|
| #
507eb87f |
| 22-Dec-2009 |
Douglas Gregor <[email protected]> |
Eliminate the ASTContext argument to CXXConstructorDecl::isCopyConstructor, since the context is available in the Decl
llvm-svn: 91862
|
| #
e8c3b3ec |
| 15-Dec-2009 |
Mike Stump <[email protected]> |
Switch codegen for -fcatch-undefined-bahavior over to __builtin_trap instead of abort to improve codesize and codegen.
llvm-svn: 91374
|
| #
ba6a0c40 |
| 14-Dec-2009 |
Mike Stump <[email protected]> |
Add support for detecting undefined shift behavior. WIP.
llvm-svn: 91341
|
| #
d954638f |
| 12-Dec-2009 |
Mike Stump <[email protected]> |
Implement runtime checks for undefined behavior. WIP.
This implements a new flag -fcatch-undefined-behavior. The flag turns on additional runtime checks for:
T a[I];
a[i] abort when i < 0
Implement runtime checks for undefined behavior. WIP.
This implements a new flag -fcatch-undefined-behavior. The flag turns on additional runtime checks for:
T a[I];
a[i] abort when i < 0 or i >= I.
Future stuff includes shifts by >= bitwidth amounts.
llvm-svn: 91198
show more ...
|
| #
d5bc94e2 |
| 10-Dec-2009 |
Eli Friedman <[email protected]> |
Get rid of static variable.
llvm-svn: 91041
|
| #
f5cbb08c |
| 10-Dec-2009 |
Mike Stump <[email protected]> |
Ensure we only generate one terminate handler.
llvm-svn: 90998
|
| #
aff69af9 |
| 09-Dec-2009 |
Mike Stump <[email protected]> |
Add cleanups for exceptional edges. WIP.
llvm-svn: 90940
|
| #
ba8451b2 |
| 08-Dec-2009 |
Benjamin Kramer <[email protected]> |
Use StringRef in CGDebugInfo::EmitFunctionStart.
llvm-svn: 90856
|
| #
1d849219 |
| 07-Dec-2009 |
Mike Stump <[email protected]> |
Add codegen support for exception specifications. WIP.
llvm-svn: 90817
|
| #
bee78dd3 |
| 04-Dec-2009 |
Mike Stump <[email protected]> |
Add support for function try blocks.
llvm-svn: 90622
|
| #
4b1942cb |
| 04-Dec-2009 |
Eli Friedman <[email protected]> |
Make functions returning a struct indirectly evaluate the returned struct directly into the sret pointer. This is an optimization in C, but is required for correctness in C++ for classes with a non-t
Make functions returning a struct indirectly evaluate the returned struct directly into the sret pointer. This is an optimization in C, but is required for correctness in C++ for classes with a non-trivial copy constructor.
llvm-svn: 90526
show more ...
|
| #
33270211 |
| 02-Dec-2009 |
Mike Stump <[email protected]> |
More exception handling improvements... WIP.
Highlights include:
Add a helper to generate __cxa_free_exception and _ZSt9terminatev. Add a region to handle EH object deallocation for ctor failu
More exception handling improvements... WIP.
Highlights include:
Add a helper to generate __cxa_free_exception and _ZSt9terminatev. Add a region to handle EH object deallocation for ctor failures for throw. Add a terminate handler for __cxa_end_catch. A framework for adding cleanup actions for the exceptional edges only.
llvm-svn: 90305
show more ...
|
| #
82ba57c8 |
| 25-Nov-2009 |
Anders Carlsson <[email protected]> |
Add VTT parameter to base ctors/dtors with virtual bases. (They aren't used yet).
llvm-svn: 89835
|