summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CodeGenModule.h
Commit message (Collapse)AuthorAgeFilesLines
* Take 2.Devang Patel2007-10-311-1/+3
| | | | | | | | Make target info available to clang code generator. This is far from complete but this helps clang codegen module make progress. At the moment target triplet and target description strings are hard coded in clang::TargetInfo llvm-svn: 43572
* temporarily revert devang's patch to link in the llvm codegen etc.Chris Lattner2007-10-311-3/+1
| | | | llvm-svn: 43544
* Make target info available to clang code generator.Devang Patel2007-10-311-1/+3
| | | | | | | This is far from complete but this helps clang codegen module make progress. llvm-svn: 43536
* Refactor code into a separate method.Devang Patel2007-10-301-0/+3
| | | | llvm-svn: 43519
* Phase 2 of making the Decl class more lightweight...Steve Naroff2007-09-131-1/+2
| | | | | | | | Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl. Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later. llvm-svn: 41934
* add the ability to get the llvm function corresponding to a library builtin.Chris Lattner2007-08-311-0/+8
| | | | llvm-svn: 41633
* Implement code generation for constant CFStrings.Anders Carlsson2007-08-211-1/+5
| | | | llvm-svn: 41206
* In "int X,Y;", compile both X and Y.Chris Lattner2007-07-141-0/+1
| | | | llvm-svn: 39848
* implement support for basic codegen of global variables with no initializers.Chris Lattner2007-07-131-1/+3
| | | | llvm-svn: 39795
* Build enough support for aggregates to be able to compile this:Chris Lattner2007-06-221-0/+4
| | | | | | | | | | void test(int A, _Complex float Y) { _Complex float X; X = X; } llvm-svn: 39669
* Hook up global function and variable handling. We can now compile:Chris Lattner2007-06-201-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | int X, bar(int,int,int); short Y; double foo() { return bar(X, Y, 3); } into: @X = external global i32 ; <i32*> [#uses=1] @Y = external global i16 ; <i16*> [#uses=1] define double @foo() { entry: %tmp = load i32* @X ; <i32> [#uses=1] %tmp1 = load i16* @Y ; <i16> [#uses=1] %promote = sext i16 %tmp1 to i32 ; <i32> [#uses=1] %call = tail call i32 @bar( i32 %tmp, i32 %promote, i32 3 ) ; <i32> [#uses=1] %conv = sitofp i32 %call to double ; <double> [#uses=1] ret double %conv } declare i32 @bar(i32, i32, i32) llvm-svn: 39663
* Refactor CodeGenTypes out to CodeGenModule so it can be used for functionsChris Lattner2007-06-161-2/+6
| | | | | | and globals. llvm-svn: 39661
* Split type analysis out to its own file, now the integer constant expr ↵Chris Lattner2007-06-161-0/+4
| | | | | | | | evaluation is ready. llvm-svn: 39660
* Finally bite the bullet and make the major change: split the clang namespaceChris Lattner2007-06-151-4/+5
| | | | | | | | | | | | | out of the llvm namespace. This makes the clang namespace be a sibling of llvm instead of being a child. The good thing about this is that it makes many things unambiguous. The bad things is that many things in the llvm namespace (notably data structures like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport should be split out of llvm into their own namespace in the future, which will fix this issue. llvm-svn: 39659
* Add codegen support for NullStmt and CompoundStmt. {;;{};;} is now ours!Chris Lattner2007-05-291-0/+1
| | | | llvm-svn: 39522
* Implement conversion of clang ast types to LLVM types, at least for some trivialChris Lattner2007-05-291-0/+2
| | | | | | cases. llvm-svn: 39519
* Reorganize codegen files.Chris Lattner2007-05-281-0/+41
llvm-svn: 39504
OpenPOWER on IntegriCloud