- Feb 19, 2009
-
-
Daniel Dunbar authored
- <rdar://problem/6584606> clang/x86-64 - too many reg saves llvm-svn: 65032
-
Mike Stump authored
The size calculation is improved. llvm-svn: 64994
-
Douglas Gregor authored
llvm-svn: 64984
-
- Feb 17, 2009
-
-
Daniel Dunbar authored
IRgen no longer relies on isConstantInitializer, instead we just try to emit the constant. If that fails then in C we emit an error unsupported (this occurs when Sema accepted something that it doesn't know how to fold, and IRgen doesn't know how to emit) and in C++ we emit a guarded initializer. This ends up handling a few more cases, because IRgen was actually able to emit some of the constants Sema accepts but can't Evaluate(). For example, PR3398. llvm-svn: 64780
-
- Feb 14, 2009
-
-
Mike Stump authored
Thanks Anders. llvm-svn: 64571
-
Mike Stump authored
starting to work for blocks. llvm-svn: 64570
-
- Feb 13, 2009
-
-
Daniel Dunbar authored
- PR3566 llvm-svn: 64492
-
Daniel Dunbar authored
- Fix emission of static functions with constructor attribute while I was here. <rdar://problem/6140899> [codegen] "static" and attribute-constructor interact poorly llvm-svn: 64488
-
Daniel Dunbar authored
for attribute used support. - No functionality change. llvm-svn: 64487
-
Mike Stump authored
llvm-svn: 64486
-
Mike Stump authored
llvm-svn: 64481
-
Mike Stump authored
llvm-svn: 64479
-
Mike Stump authored
llvm-svn: 64475
-
Mike Stump authored
llvm-svn: 64473
-
Mike Stump authored
llvm-svn: 64461
-
Mike Stump authored
llvm-svn: 64452
-
Mike Stump authored
llvm-svn: 64451
-
Douglas Gregor authored
ABI to the CodeGen library. Since C++ code-generation is so incomplete, we can't exercise much of this mangling code. However, a few smoke tests show that it's doing the same thing as GCC. When C++ codegen matures, we'll extend the ABI tester to verify name-mangling as well, and complete the implementation here. At this point, the major client of name mangling is in the uses of the new "overloadable" attribute in C, which allows overloading. Any "overloadable" function in C (or in an extern "C" block in C++) will be mangled the same way that the corresponding C++ function would be mangled. llvm-svn: 64413
-
- Feb 12, 2009
-
-
Anders Carlsson authored
llvm-svn: 64387
-
- Feb 02, 2009
-
-
Daniel Dunbar authored
- Lift CGFunctionInfo creation above ReturnTypeUsesSret and EmitFunction{Epi,Pro}log. llvm-svn: 63553
-
- Jan 31, 2009
-
-
Daniel Dunbar authored
function/call info. llvm-svn: 63466
-
- Jan 04, 2009
-
-
Anders Carlsson authored
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
-
- Oct 17, 2008
-
-
Daniel Dunbar authored
(first) global holding the string. - No functionality change. llvm-svn: 57736
-
- Oct 01, 2008
-
-
Daniel Dunbar authored
collisions. - Provide CodeGenModule::CreateRuntimeFunction which guarantees that the function it creates will have the provided name in the final module. This allows the runtime to have its functions protected from declarations of the same name in the source code. - One could argue that this is a reason to abuse the llvm::Module namespace for dealing with function redeclarations. However, that approach seems conceptually flawed to me. This one also happens to be somewhat more efficient. No functionality change. llvm-svn: 56899
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. llvm-svn: 56623
-
- Sep 10, 2008
-
-
Daniel Dunbar authored
- Added CodeGenTypes::GetFunctionType, taking a CGFunctionInfo. - Updated Obj-C runtimes to use this instead of rolling the llvm::FunctionType by hand. - Killed CodeGenTypes::{ConvertReturnType, DecodeArgumentTypes}. Add ABIArgInfo class to encapsulate ABI decision of how to lower types to LLVM. - Will move to target sometime soon. llvm-svn: 56047
-
Daniel Dunbar authored
- Realized these functions will eventually need access to more data, moved to CodeGenModule. Eventually they should probably live together in some other helper class. llvm-svn: 56039
-
- Sep 09, 2008
-
-
Daniel Dunbar authored
aliases. - Attributes specific to a definition are only set when the definition is seen. - Alias generation is delayed until the end of the module; necessary since the alias may reference forward. - Fixes: PR2743, <rdr://6140807&6094512> - Improves: <rdr://6095112> (added XFAIL) Also, print module on verification failures. llvm-svn: 55966
-
- Sep 08, 2008
-
-
Daniel Dunbar authored
- Add CGCall.h for dealing with ABI issues related to calls. - Add CGFunctionInfo and CGCallInfo for capturing ABI relevant information about functions and calls. - Isolate LLVM parameter attribute handling inside CGCall.cpp llvm-svn: 55963
-
- Sep 05, 2008
-
-
Daniel Dunbar authored
llvm-svn: 55812
-
- Sep 04, 2008
-
-
Daniel Dunbar authored
llvm-svn: 55759
-
- Aug 26, 2008
-
-
Daniel Dunbar authored
- 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
-
- Aug 25, 2008
-
-
Daniel Dunbar authored
llvm-svn: 55303
-
- Aug 23, 2008
-
-
Daniel Dunbar authored
- Use CodeGenModule::GetAddrOfConstantCFString Some tweaks of CodeGenModule::GetAddrOfConstantCFString llvm-svn: 55243
-
- Aug 16, 2008
-
-
Daniel Dunbar authored
- We are beyond the point where this shows up often and when it does generating miscompiled files is bad. llvm-svn: 54836
-
Daniel Dunbar authored
- 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
-
- Aug 14, 2008
-
-
Daniel Dunbar authored
- 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
-
- Aug 13, 2008
-
-
Daniel Dunbar authored
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
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Wired to -fnext-runtime and -fgnu-runtime options. - Defaults to GNU, no autoselection for NeXT. Emit NeXT OBJC_IMAGE_INFO marker. llvm-svn: 54651
-
Daniel Dunbar authored
- Changed CodeGenModule::getObjCRuntime to return reference. - Added CodeGenModule::hasObjCRuntime predicate. llvm-svn: 54645
-