#
5c60a6f5 |
| 18-Feb-2010 |
John McCall <rjmccall@apple.com> |
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 <rjmccall@apple.com> |
Extract out function-body code generation into its own method. No functionality change.
llvm-svn: 96564
|
#
347132b3 |
| 16-Feb-2010 |
John McCall <rjmccall@apple.com> |
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 <daniel@zuster.org> |
IRgen: Switch 'retval' to use CreateIRTemp.
llvm-svn: 96376
|
#
819e54b6 |
| 09-Feb-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
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 <andersca@mac.com> |
Make sure to set vtable pointers in the destructors as well.
llvm-svn: 95525
|
#
ab26cfa5 |
| 05-Feb-2010 |
John McCall <rjmccall@apple.com> |
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 <andersca@mac.com> |
Rename StartConditionalBranch/FinishConditionalBranch to BeginConditionalBranch/EndConditionalBranch.
llvm-svn: 95308
|
#
60ddba67 |
| 24-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Fix a nasty bug where temporaries weren't marked as being conditional in some cases.
llvm-svn: 94341
|
#
934661ed |
| 14-Jan-2010 |
Devang Patel <dpatel@apple.com> |
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 <ken.dyck@onsemi.com> |
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 <andersca@mac.com> |
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 <dgregor@apple.com> |
Eliminate the ASTContext argument to CXXConstructorDecl::isCopyConstructor, since the context is available in the Decl
llvm-svn: 91862
|
#
e8c3b3ec |
| 15-Dec-2009 |
Mike Stump <mrs@apple.com> |
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 <mrs@apple.com> |
Add support for detecting undefined shift behavior. WIP.
llvm-svn: 91341
|
#
d954638f |
| 12-Dec-2009 |
Mike Stump <mrs@apple.com> |
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 <eli.friedman@gmail.com> |
Get rid of static variable.
llvm-svn: 91041
|
#
f5cbb08c |
| 10-Dec-2009 |
Mike Stump <mrs@apple.com> |
Ensure we only generate one terminate handler.
llvm-svn: 90998
|
#
aff69af9 |
| 09-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add cleanups for exceptional edges. WIP.
llvm-svn: 90940
|
#
ba8451b2 |
| 08-Dec-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use StringRef in CGDebugInfo::EmitFunctionStart.
llvm-svn: 90856
|
#
1d849219 |
| 07-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add codegen support for exception specifications. WIP.
llvm-svn: 90817
|
#
bee78dd3 |
| 04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add support for function try blocks.
llvm-svn: 90622
|
#
4b1942cb |
| 04-Dec-2009 |
Eli Friedman <eli.friedman@gmail.com> |
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 <mrs@apple.com> |
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 <andersca@mac.com> |
Add VTT parameter to base ctors/dtors with virtual bases. (They aren't used yet).
llvm-svn: 89835
|