Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Give explicit and implicit instantiations of static data members of | Douglas Gregor | 2009-10-14 | 1 | -3/+42 | |
| | | | | | | | | class templates the proper linkage. Daniel, please look over the CodeGenModule bits. llvm-svn: 84140 | |||||
* | Copy metadata associated with CI | Devang Patel | 2009-10-14 | 1 | -0/+4 | |
| | | | | llvm-svn: 84114 | |||||
* | fix some cfstring related issues: | Chris Lattner | 2009-10-14 | 1 | -13/+10 | |
| | | | | | | | | | | | | | 1) -fwritable-string does affect the non-utf16 version of cfstrings just not the utf16 ones. 2) utf16 strings should always be marked constant, as the __TEXT segment is readonly. 3) The name of the global doesn't matter, remove it from TargetInfo. 4) Trust the asmprinter to drop cstrings into the right section, like llvmgcc does now. This fixes rdar://7115750 llvm-svn: 84077 | |||||
* | unbreak test/CodeGen/builtins.c, reverting Devang's change. | Chris Lattner | 2009-10-14 | 1 | -2/+2 | |
| | | | | llvm-svn: 84075 | |||||
* | Check void type before using replaceAllUsesWith(). | Devang Patel | 2009-10-13 | 1 | -1/+2 | |
| | | | | llvm-svn: 84050 | |||||
* | Remove extra white space line. | Devang Patel | 2009-10-13 | 1 | -1/+0 | |
| | | | | llvm-svn: 83979 | |||||
* | Do not check use_empty() before invoking replaceAllUsesWith(). | Devang Patel | 2009-10-13 | 1 | -2/+3 | |
| | | | | | | Let replaceAllUsesWith() adjust VHs even though there are no uses. llvm-svn: 83978 | |||||
* | Simplify pointer creation with the new Type::getInt*Ptr methods. | Benjamin Kramer | 2009-10-13 | 1 | -4/+2 | |
| | | | | llvm-svn: 83964 | |||||
* | Move the vtable builder to CGVtable.cpp, general cleanup. | Anders Carlsson | 2009-10-11 | 1 | -1/+2 | |
| | | | | llvm-svn: 83798 | |||||
* | If a global initializer has a non-trivial constructor or destructor, we ↵ | Anders Carlsson | 2009-10-08 | 1 | -0/+11 | |
| | | | | | | | | | | | | | | | | | | | never want to defer generation of it, even if it is declared static. With this change we're finally able to compile and run the (infamous) #include <string> #include <iostream> int main(int argc, char **argv) { std::cout << "Hello, World" << std::endl; } $ clang hello.cpp -lstdc++ -o hello $ ./hello Hello, World llvm-svn: 83559 | |||||
* | Add a MangleContext and pass it to all mangle functions. It will be used for ↵ | Anders Carlsson | 2009-10-07 | 1 | -2/+2 | |
| | | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442 | |||||
* | Fix thinko and simplify. | Mike Stump | 2009-10-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 83342 | |||||
* | Ensure we have atleast 2-byte alignment for member functions. | Mike Stump | 2009-10-05 | 1 | -0/+3 | |
| | | | | llvm-svn: 83337 | |||||
* | Respect alignments better. | Mike Stump | 2009-10-05 | 1 | -0/+3 | |
| | | | | llvm-svn: 83328 | |||||
* | Use new predicates for some type equality tests. | Benjamin Kramer | 2009-10-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 83303 | |||||
* | Anonymous namespaces, sema + codegen. A lot of semantics are still broken, | John McCall | 2009-10-01 | 1 | -1/+8 | |
| | | | | | | apparently because using directives aren't quite working correctly. llvm-svn: 83184 | |||||
* | Handle namespace aliases. | Anders Carlsson | 2009-09-23 | 1 | -0/+1 | |
| | | | | llvm-svn: 82644 | |||||
* | Revert "Switch a few clients over to StringLiteral::getString.", this is ↵ | Daniel Dunbar | 2009-09-22 | 1 | -5/+10 | |
| | | | | | | breaking some projects, but I don't have a test case yet. llvm-svn: 82539 | |||||
* | Switch a few clients over to StringLiteral::getString. | Daniel Dunbar | 2009-09-22 | 1 | -10/+5 | |
| | | | | | | - Switching all of them out-of-my-current-scope-of-interest, sorry. llvm-svn: 82515 | |||||
* | Change all the Type::getAsFoo() methods to specializations of Type::getAs(). | John McCall | 2009-09-21 | 1 | -1/+1 | |
| | | | | | | | | | | | Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. llvm-svn: 82501 | |||||
* | Fix subtle bug in generating LLVM function declarations for builtin functions. | Daniel Dunbar | 2009-09-14 | 1 | -3/+3 | |
| | | | | | | | | | | The decl wasn't being passed down, which meant that function attributes were not being set correctly. This is particularly important for ARM, since it wants to override the calling convention. Instead we would emit the builtin with the wrong calling convention, and instcombine would come along and merrily shred all the calls to it. :) llvm-svn: 81756 | |||||
* | Rework the way we determine whether an externally visible symbol is | Douglas Gregor | 2009-09-13 | 1 | -25/+10 | |
| | | | | | | | | generated for an inline function definition, taking into account C99 and GNU inline/extern inline semantics. This solution is simpler, cleaner, and fixes PR4536. llvm-svn: 81670 | |||||
* | Change CodeGenModule::ConstructTypeAttributes to return the calling convention | Daniel Dunbar | 2009-09-12 | 1 | -8/+5 | |
| | | | | | | to use, and allow the ABI implementation to override the calling convention. llvm-svn: 81593 | |||||
* | Remove unnecessary ASTContext parameters from isMain and isExternC | Douglas Gregor | 2009-09-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 81589 | |||||
* | Set the calling convention based on the CGFunctionInfo. | Daniel Dunbar | 2009-09-11 | 1 | -6/+3 | |
| | | | | llvm-svn: 81582 | |||||
* | GlobalDecl doesn't have an explicit constructor anymore. | Anders Carlsson | 2009-09-10 | 1 | -6/+7 | |
| | | | | llvm-svn: 81481 | |||||
* | Add stricter GlobalDecl constructors. | Anders Carlsson | 2009-09-10 | 1 | -5/+5 | |
| | | | | llvm-svn: 81480 | |||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -167/+167 | |
| | | | | llvm-svn: 81346 | |||||
* | Improve the AST representation and semantic analysis for extern | Douglas Gregor | 2009-09-04 | 1 | -3/+2 | |
| | | | | | | | | | | | templates. We now distinguish between an explicit instantiation declaration and an explicit instantiation definition, and know not to instantiate explicit instantiation declarations. Unfortunately, there is some remaining confusion w.r.t. instantiation of out-of-line member function definitions that causes trouble here. llvm-svn: 81053 | |||||
* | Don't generate any code for an explicit call to a trivial destructor. | Douglas Gregor | 2009-09-04 | 1 | -1/+1 | |
| | | | | | | | | | | | Now that parsing, semantic analysis, and (I think) code generation of pseudo-destructor expressions and explicit destructor calls works, update the example-dynarray.cpp test to destroy the objects it allocates and update the test to actually compile + link. The code seems correct, but the Clang-compiled version dies with a malloc error. Time to debug! llvm-svn: 81025 | |||||
* | Don't try to CodeGen using directives, from Anders Johnsen | Douglas Gregor | 2009-09-02 | 1 | -0/+1 | |
| | | | | llvm-svn: 80853 | |||||
* | Regularize the case and sort. | Mike Stump | 2009-08-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 80163 | |||||
* | Emit conversion functions correctly. | Anders Carlsson | 2009-08-25 | 1 | -0/+1 | |
| | | | | llvm-svn: 79985 | |||||
* | Patch toward synthesizing non-trivial destructors. WIP | Fariborz Jahanian | 2009-08-16 | 1 | -0/+38 | |
| | | | | llvm-svn: 79199 | |||||
* | No need to append extra padding now that we don't create packed structs for ↵ | Anders Carlsson | 2009-08-16 | 1 | -50/+8 | |
| | | | | | | simple cases like the constant string. llvm-svn: 79178 | |||||
* | Fixed a bug in ir-gen for copy assignment synthesis. | Fariborz Jahanian | 2009-08-14 | 1 | -2/+6 | |
| | | | | | | | | Fixed a bug when evaluating those copy-assignments which need by lazily syntheized. A test case for these. llvm-svn: 78965 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -17/+23 | |
| | | | | llvm-svn: 78946 | |||||
* | Patch to force synthesis of copy assignment operator | Fariborz Jahanian | 2009-08-13 | 1 | -5/+42 | |
| | | | | | | | | function in the order according to c++03. ir-gen for copy assignment in the trivial case and the first test case. llvm-svn: 78938 | |||||
* | Patch for synthesizing copy assignment operator. | Fariborz Jahanian | 2009-08-12 | 1 | -0/+5 | |
| | | | | | | WIP. llvm-svn: 78841 | |||||
* | ir-gen support for anonymous union data member | Fariborz Jahanian | 2009-08-11 | 1 | -3/+3 | |
| | | | | | | | copying in copy constructors and used in default constructor's initializer list. llvm-svn: 78700 | |||||
* | Support for anonymous union in ctor's initializer and | Fariborz Jahanian | 2009-08-10 | 1 | -0/+2 | |
| | | | | | | bunch of FIXMEs for their is-gen. llvm-svn: 78623 | |||||
* | Add support for global initializers. | Anders Carlsson | 2009-08-08 | 1 | -2/+11 | |
| | | | | llvm-svn: 78515 | |||||
* | Remove use of uninitized variable. | Fariborz Jahanian | 2009-08-08 | 1 | -4/+2 | |
| | | | | llvm-svn: 78448 | |||||
* | More synthesis of copy constructors. Work in progress. | Fariborz Jahanian | 2009-08-07 | 1 | -4/+43 | |
| | | | | llvm-svn: 78402 | |||||
* | Patch toward synthesizing copy constructors. | Fariborz Jahanian | 2009-08-06 | 1 | -1/+5 | |
| | | | | | | Work in progress. llvm-svn: 78355 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 78259 | |||||
* | weak globals that are const should get weak_odr linkage. | Chris Lattner | 2009-08-05 | 1 | -6/+19 | |
| | | | | | | add a fixme about C++ const. llvm-svn: 78159 | |||||
* | rdar://7119244 - globals with an explicit section specified don't get | Chris Lattner | 2009-08-05 | 1 | -1/+2 | |
| | | | | | | common linkage. llvm-svn: 78158 | |||||
* | Make sure UTF-16 strings end with a 16-bit null (as opposed to 8-bit). | Daniel Dunbar | 2009-08-03 | 1 | -0/+3 | |
| | | | | llvm-svn: 78001 | |||||
* | Whoops, meant to delete this. | Anders Carlsson | 2009-08-02 | 1 | -1/+0 | |
| | | | | llvm-svn: 77916 |