| #
f380a0de |
| 01-Sep-2008 |
Nuno Lopes <[email protected]> |
codegen constant data as such. add QualType::isConstant()
llvm-svn: 55603
|
| #
a799807d |
| 29-Aug-2008 |
Daniel Dunbar <[email protected]> |
Downgrade a number of FIXME asserts to ErrorUnsupported. - Notably VLAs
llvm-svn: 55544
|
| #
89654eef |
| 26-Aug-2008 |
Daniel Dunbar <[email protected]> |
Objective-C @synthesize support. - Only supports simple assignment and atomic semantics are ignored. - Not quite usable yet because the methods do not actually get added to the class metadata.
Objective-C @synthesize support. - Only supports simple assignment and atomic semantics are ignored. - Not quite usable yet because the methods do not actually get added to the class metadata. - Added ObjCPropertyDecl::getSetterKind (one of Assign, Copy, Retain). - Rearrange CodeGenFunction so synthesis can reuse function prolog / epilog code.
llvm-svn: 55365
show more ...
|
| #
eb998105 |
| 25-Aug-2008 |
Daniel Dunbar <[email protected]> |
Use DenseMap on IdentifierInfo instead of StringMap.
llvm-svn: 55303
|
| #
d644ad61 |
| 23-Aug-2008 |
Daniel Dunbar <[email protected]> |
NeXT: Clean up constant CFString handling. - Use CodeGenModule::GetAddrOfConstantCFString
Some tweaks of CodeGenModule::GetAddrOfConstantCFString
llvm-svn: 55243
|
| #
a94ecd2a |
| 16-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add NeXT runtime support for generating methods.
Change CodeGenFunction::EmitParmDecl to take either a ParmVarDecl or an ImplicitParamDecl.
Drop hasAggregateLLVMType from CodeGenModule.cpp (use v
Add NeXT runtime support for generating methods.
Change CodeGenFunction::EmitParmDecl to take either a ParmVarDecl or an ImplicitParamDecl.
Drop hasAggregateLLVMType from CodeGenModule.cpp (use version in CodeGenFunction).
Change the Objective-C method generation to use EmitParmDecl for implicit parameters.
llvm-svn: 54838
show more ...
|
| #
a7c8cf62 |
| 16-Aug-2008 |
Daniel Dunbar <[email protected]> |
Change WarnUnsupported to ErrorUnsupported (in name and in practice). - We are beyond the point where this shows up often and when it does generating miscompiled files is bad.
llvm-svn: 54836
|
| #
fce4be84 |
| 15-Aug-2008 |
Daniel Dunbar <[email protected]> |
Clean up CodeGenModule interface. - Add CodeGenModule::EmitTopLevelDecl which uses switch on kind instead of ugly & slow dyn_cast chains.
- Drop some simple forwarding methods into the ObjC run
Clean up CodeGenModule interface. - Add CodeGenModule::EmitTopLevelDecl which uses switch on kind instead of ugly & slow dyn_cast chains.
- Drop some simple forwarding methods into the ObjC runtime.
- Privatize appropriate methods.
llvm-svn: 54827
show more ...
|
| #
92992509 |
| 15-Aug-2008 |
Daniel Dunbar <[email protected]> |
Change CGObjCRuntime methods to take appropriate clang Decls. - This is in prep for implementation class support for the NeXT runtime, for which the existing methods don't provide enough infor
Change CGObjCRuntime methods to take appropriate clang Decls. - This is in prep for implementation class support for the NeXT runtime, for which the existing methods don't provide enough information (and additionally make too many assumptions about how things should be emitted).
llvm-svn: 54824
show more ...
|
| #
2617a3ab |
| 15-Aug-2008 |
Daniel Dunbar <[email protected]> |
Infinite loops considered harmful. - Thanks Thomas
llvm-svn: 54818
|
| #
c4baa06d |
| 13-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add GetAddrOfConstantCString method - Returns addr of constant for argument + '\0'. - I couldn't think of a better name. - Move appropriate users of GetAddrOfConstantString to this.
Rename getStr
Add GetAddrOfConstantCString method - Returns addr of constant for argument + '\0'. - I couldn't think of a better name. - Move appropriate users of GetAddrOfConstantString to this.
Rename getStringForStringLiteral to GetStringForStringLiteral.
Add GetAddrOfConstantStringFromLiteral - This combines GetAddrOfConstantString and GetStringForStringLiteral. This method can be, but is not yet, more efficient.
Change GetAddrOfConstantString to not add terminating '\0' - <rdar://problem/6140956>
llvm-svn: 54768
show more ...
|
| #
89da6ad1 |
| 13-Aug-2008 |
Daniel Dunbar <[email protected]> |
Change ObjCRuntime GenerateProtocol[Ref] methods to take ObjCProtocolDecl directly.
Implement CodeGen support for forward protocol decls (no-ops are so nice to implement).
Also moved CGObjC
Change ObjCRuntime GenerateProtocol[Ref] methods to take ObjCProtocolDecl directly.
Implement CodeGen support for forward protocol decls (no-ops are so nice to implement).
Also moved CGObjCRuntime.h out of CodeGenModule.h
llvm-svn: 54709
show more ...
|
| #
52f02605 |
| 11-Aug-2008 |
Mike Stump <[email protected]> |
Fix compilation warning with help from David Chisnall.
llvm-svn: 54654
|
| #
3ad53483 |
| 11-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add LangOptions::NeXTRuntime. - Wired to -fnext-runtime and -fgnu-runtime options. - Defaults to GNU, no autoselection for NeXT.
Emit NeXT OBJC_IMAGE_INFO marker.
llvm-svn: 54651
|
| #
8d480594 |
| 11-Aug-2008 |
Daniel Dunbar <[email protected]> |
Change CodeGenModule to only create ObjC runtime for ObjC files - Changed CodeGenModule::getObjCRuntime to return reference. - Added CodeGenModule::hasObjCRuntime predicate.
llvm-svn: 54645
|
| #
fb3043d6 |
| 11-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add -fexceptions to Driver - Maps to LangOptions.Exceptions - Currently always off, should autoselect based on language.
Update CodeGen to set unwind attribute on functions definitions based
Add -fexceptions to Driver - Maps to LangOptions.Exceptions - Currently always off, should autoselect based on language.
Update CodeGen to set unwind attribute on functions definitions based on LangOptions.Exceptions. - Still need to set attributes appropriately on calls.
llvm-svn: 54643
show more ...
|
| #
56fdb6ae |
| 11-Aug-2008 |
Daniel Dunbar <[email protected]> |
More #include cleaning - Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried
More #include cleaning - Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development.
llvm-svn: 54632
show more ...
|
| #
6e8aa537 |
| 11-Aug-2008 |
Daniel Dunbar <[email protected]> |
More #include cleaning - Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast).
llvm-svn: 54629
|
| #
303e2c2f |
| 11-Aug-2008 |
Daniel Dunbar <[email protected]> |
Add dummy Mac Objective-C runtime interface. - Not currently accessible and completely non-functional.
llvm-svn: 54624
|
| #
6dfdf8c9 |
| 10-Aug-2008 |
Daniel Dunbar <[email protected]> |
Back out r54608 (inline string literals were getting an extra '\0') temporarily, I assumed GetAddrForConstantString literal was being used consistently but it doesn't look like it is.
Factored o
Back out r54608 (inline string literals were getting an extra '\0') temporarily, I assumed GetAddrForConstantString literal was being used consistently but it doesn't look like it is.
Factored out a CodeGenModule::getStringForStringLiteral which handles extracting a std::string for the bytes of a StringLiteral, padded to match the type.
Update EmitLValue to use getStringForStringLiteral, this was previously not padding strings correctly. Good thing we only emit strings in 4 different places!
llvm-svn: 54621
show more ...
|
| #
9a8d0732 |
| 10-Aug-2008 |
Daniel Dunbar <[email protected]> |
Bug fix, inline string literals were getting an extra '\0'.
llvm-svn: 54608
|
| #
ffc29be8 |
| 06-Aug-2008 |
Daniel Dunbar <[email protected]> |
Implement GNU asm-label extension support in CodeGen. This fixes scimark2 on Darwin.
- Added Sema support for asm-label on variables, which I forgot before.
- Update CodeGen to use GlobalDeclMap
Implement GNU asm-label extension support in CodeGen. This fixes scimark2 on Darwin.
- Added Sema support for asm-label on variables, which I forgot before.
- Update CodeGen to use GlobalDeclMap to determine if static Decls require emission (instead of LLVM module name lookup). Important since the Decl name and the LLVM module name can differ.
- <rdar://problem/6116729>
llvm-svn: 54388
show more ...
|
| #
829e9888 |
| 05-Aug-2008 |
Daniel Dunbar <[email protected]> |
Change CodeGen of global decls to key off of the name (instead of having multiple bindings from all the possible decls which conceptually map to the same global).
- This eliminates CodeGen depe
Change CodeGen of global decls to key off of the name (instead of having multiple bindings from all the possible decls which conceptually map to the same global).
- This eliminates CodeGen depending on the LLVM module for name lookup.
- This also eliminates the need for ReplaceMapValuesWith (hurrah).
- This handles lookups for FunctionDecls correctly in the presence of aliases, this was previously broken.
- WIP: Can still clean up & unify variable and function emission.
llvm-svn: 54382
show more ...
|
| #
2c674f6d |
| 05-Aug-2008 |
Ted Kremenek <[email protected]> |
Refactored driver logic for CodeGen into LLVMCodeGenWriter. This ASTConsumer layers on top of LLVMCodeGen (another existing ASTConsumer) to emit bitcode files to disk. This layering takes this logi
Refactored driver logic for CodeGen into LLVMCodeGenWriter. This ASTConsumer layers on top of LLVMCodeGen (another existing ASTConsumer) to emit bitcode files to disk. This layering takes this logic out of clang.cpp and puts it directly into the ASTConsumer interface. The benefit is that now --emit-llvm works with both serialized ASTs and regular source files.
llvm-svn: 54364
show more ...
|
| #
7adf0760 |
| 04-Aug-2008 |
Chris Lattner <[email protected]> |
Finally fix PR2189. This makes a fairly invasive but important change to move getAsArrayType into ASTContext instead of being a method on type. This is required because getAsArrayType(const AT), whe
Finally fix PR2189. This makes a fairly invasive but important change to move getAsArrayType into ASTContext instead of being a method on type. This is required because getAsArrayType(const AT), where AT is a typedef for "int[10]" needs to return ArrayType(const int, 10).
Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
llvm-svn: 54317
show more ...
|