#
1e8052b3 |
| 04-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add -femit-all-decls codegen option. - Emits all declarations, even unused (static) ones. - Useful when doing minimization of codegen problems (otherwise problems localized to a static function
Add -femit-all-decls codegen option. - Emits all declarations, even unused (static) ones. - Useful when doing minimization of codegen problems (otherwise problems localized to a static function aren't minimized well).
llvm-svn: 63776
show more ...
|
#
bf8c24ad |
| 02-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
Thread CGFunctionInfo construction through CodeGenTypes. - Inefficient & leaks memory currently, will be cleaned up subsequently.
llvm-svn: 63567
|
#
d931a87f |
| 02-Feb-2009 |
Daniel Dunbar <daniel@zuster.org> |
More ABI API cleanup. - Lift CGFunctionInfo creation above ReturnTypeUsesSret and EmitFunction{Epi,Pro}log.
llvm-svn: 63553
|
#
3cd20632 |
| 31-Jan-2009 |
Daniel Dunbar <daniel@zuster.org> |
Kill off CGCallInfo, always use CGFunctionInfo for encapsulating function/call info.
llvm-svn: 63466
|
#
b15a3d59 |
| 22-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Use NonFragileABI as name of new Next abi. More comments for the new meta-data.
llvm-svn: 62806
|
#
279eda62 |
| 21-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Refactoring ObjC Next's runtime classes in preparation for the new ObjC's abi.
llvm-svn: 62721
|
#
8a42586c |
| 16-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
more SourceLocation lexicon change: instead of referring to the "logical" location, refer to the "instantiation" location.
llvm-svn: 62316
|
#
dec798bf |
| 13-Jan-2009 |
Daniel Dunbar <daniel@zuster.org> |
Bug fix, __private_extern__ globals were always introducing a definition.
llvm-svn: 62139
|
#
17290c36 |
| 08-Jan-2009 |
Fariborz Jahanian <fjahanian@apple.com> |
Objc's compatibility-alias semantics and code gen issue fix.
llvm-svn: 61901
|
#
1654ef01 |
| 05-Jan-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Silence a GCC warning
llvm-svn: 61747
|
#
762e1622 |
| 04-Jan-2009 |
Anders Carlsson <andersca@mac.com> |
Fix the bug that would cause Python to crash at startup.
When emitting the static variables we need to make sure that the order is preserved. Fix this by making StaticDecls a std::list which has O(
Fix the bug that would cause Python to crash at startup.
When emitting the static variables we need to make sure that the order is preserved. Fix this by making StaticDecls a std::list which has O(1) random removal.
llvm-svn: 61621
show more ...
|
#
d72f47aa |
| 26-Dec-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add full dllimport / dllexport support: both sema checks and codegen. Patch by Ilya Okonsky
llvm-svn: 61437
|
#
91f84216 |
| 11-Dec-2008 |
Douglas Gregor <dgregor@apple.com> |
Unifies the name-lookup mechanisms used in various parts of the AST and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for st
Unifies the name-lookup mechanisms used in various parts of the AST and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for storing and looking up declarations within existing declarations, e.g., members of structs/unions/classes, enumerators in C++0x enums, members of C++ namespaces, and (later) members of Objective-C interfaces/implementations. DeclContext uses a lazily-constructed data structure optimized for fast lookup (array for small contexts, hash table for larger contexts).
* Implement C++ qualified name lookup in terms of lookup into DeclContext.
* Implement C++ unqualified name lookup in terms of qualified+unqualified name lookup (since unqualified lookup is not purely lexical in C++!)
* Limit the use of the chains of declarations stored in IdentifierInfo to those names declared lexically.
* Eliminate CXXFieldDecl, collapsing its behavior into FieldDecl. (FieldDecl is now a ScopedDecl).
* Make RecordDecl into a DeclContext and eliminates its Members/NumMembers fields (since one can just iterate through the DeclContext to get the fields).
llvm-svn: 60878
show more ...
|
#
3d8552a7 |
| 09-Dec-2008 |
Fariborz Jahanian <fjahanian@apple.com> |
Support for implementation of property in the case where the synthesis is in an implementation of s subclass of a super class where the property has been declared.
llvm-svn: 60792
|
#
2e41b0e6 |
| 09-Dec-2008 |
Chris Lattner <sabre@nondot.org> |
Fix a serious null termination bug found by David Chisnall!
llvm-svn: 60778
|
#
6a113d9d |
| 03-Dec-2008 |
Anders Carlsson <andersca@mac.com> |
If a global var decl has an initializer, make sure to always set its linkage to external.
llvm-svn: 60462
|
#
f3d3faec |
| 24-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Rename NamedDecl::getName() to getNameAsString(). Replace a bunch of uses of getName() with uses of getDeclName(). This upgrades a bunch of diags to take DeclNames instead of std::strings.
This a
Rename NamedDecl::getName() to getNameAsString(). Replace a bunch of uses of getName() with uses of getDeclName(). This upgrades a bunch of diags to take DeclNames instead of std::strings.
This also tweaks a couple of diagnostics to be cleaner and changes CheckInitializerTypes/PerformInitializationByConstructor to pass around DeclarationNames instead of std::strings.
llvm-svn: 59947
show more ...
|
#
0f137df0 |
| 21-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
reapply the (corrected) patch to use the new llvm intrinsics for memcpy/memmove etc.
llvm-svn: 59824
|
#
b7f4ce3d |
| 21-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
temporarily revert Sangiv's patch.
llvm-svn: 59821
|
#
37129848 |
| 21-Nov-2008 |
Sanjiv Gupta <sanjiv.gupta@microchip.com> |
mem[cpy,set,move] intrinsics are now overloaded.
llvm-svn: 59806
|
#
f99d5449 |
| 19-Nov-2008 |
Sanjiv Gupta <sanjiv.gupta@microchip.com> |
Pointer width for PIC16 is 16 bits. Modify getMemCpy, getMemMove and getMemSet accordingly.
llvm-svn: 59613
|
#
1b9ad472 |
| 19-Nov-2008 |
Daniel Dunbar <daniel@zuster.org> |
Discard unused runtime function declarations (for readability).
llvm-svn: 59594
|
#
8488c829 |
| 18-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
This reworks some of the Diagnostic interfaces a bit to change how diagnostics are formed. In particular, a diagnostic with all its strings and ranges is now packaged up and sent to DiagnosticClient
This reworks some of the Diagnostic interfaces a bit to change how diagnostics are formed. In particular, a diagnostic with all its strings and ranges is now packaged up and sent to DiagnosticClients as a DiagnosticInfo instead of as a ton of random stuff. This has the benefit of simplifying the interface, making it more extensible, and allowing us to do more checking for things like access past the end of the various arrays passed in.
In addition to introducing DiagnosticInfo, this also substantially changes how Diagnostic::Report works. Instead of being passed in all of the info required to issue a diagnostic, Report now takes only the required info (a location and ID) and returns a fresh DiagnosticInfo *by value*. The caller is then free to stuff strings and ranges into the DiagnosticInfo with the << operator. When the dtor runs on the DiagnosticInfo object (which should happen at the end of the statement), the diagnostic is actually emitted with all of the accumulated information. This is a somewhat tricky dance, but it means that the accumulated DiagnosticInfo is allowed to keep pointers to other expression temporaries without those pointers getting invalidated.
This is just the minimal change to get this stuff working, but this will allow us to eliminate the zillions of variant "Diag" methods scattered throughout (e.g.) sema. For example, instead of calling:
Diag(BuiltinLoc, diag::err_overload_no_match, typeNames, SourceRange(BuiltinLoc, RParenLoc));
We will soon be able to just do:
Diag(BuiltinLoc, diag::err_overload_no_match) << typeNames << SourceRange(BuiltinLoc, RParenLoc));
This scales better to support arbitrary types being passed in (not just strings) in a type-safe way. Go operator overloading?!
llvm-svn: 59502
show more ...
|
#
16ba9139 |
| 18-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Change the diagnostics interface to take an array of pointers to strings instead of array of strings. This reduces string copying in some not-very-important cases, but paves the way for future imp
Change the diagnostics interface to take an array of pointers to strings instead of array of strings. This reduces string copying in some not-very-important cases, but paves the way for future improvements.
llvm-svn: 59494
show more ...
|
#
c2480a55 |
| 15-Nov-2008 |
Anders Carlsson <andersca@mac.com> |
Handle padding in the constant CFString struct. Fixes PR3046.
llvm-svn: 59372
|