- 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
-
Daniel Dunbar authored
- Not currently accessible and completely non-functional. llvm-svn: 54624
-
- Aug 10, 2008
-
-
Daniel Dunbar authored
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
-
- Aug 06, 2008
-
-
Daniel Dunbar authored
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
-
- Aug 05, 2008
-
-
Ted Kremenek authored
llvm-svn: 54366
-
Ted Kremenek authored
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
-
- Aug 01, 2008
-
-
Daniel Dunbar authored
- There is an miscompilation issue remaining due to a poor interaction between the delayed emission of static functions and the emission of constructors, but that already existed prior to this change. llvm-svn: 54258
-
- Jul 30, 2008
-
-
Daniel Dunbar authored
instead of mapping the decl to a bitcast of the global to the correct type. - GetAddrOf{Function,GlobalVar} introduce the bitcast on every use now. - This solves a problem where a dangling pointer could be introduced by the RAUW done when replacing a forward or tentative definition. See testcase for more details. - Fixes <rdar://problem/6108358> llvm-svn: 54211
-
Daniel Dunbar authored
- No (intended) functionality change. - Primary purpose is to clearly separate (lazy) construction of globals that are a forward declaration or tentative definition from those that are the final definition. - Lazy construction is now encapsulated in GetAddrOf{Function,GlobalVar} while final definitions are constructed in EmitGlobal{Function,Var}Definition. - External interface for dealing with globals is now limited to EmitGlobal and GetAddrOf{Function,GlobalVar}. - Also updated helper functions dealing with statics, annotations, and ctors to be private. llvm-svn: 54179
-
- Jul 29, 2008
-
-
Daniel Dunbar authored
- Killed useless CodeGenModule::EmitGlobalVarDeclarator, instead just recurse on any ScopedDecl. - Fix for <rdar://problem/6093838> llvm-svn: 54162
-
- Jun 08, 2008
-
-
Nuno Lopes authored
llvm-svn: 52092
-
- Jun 01, 2008
-
-
Eli Friedman authored
much closer to passing the gcc struct layout tests. It might be possible to refactor this a bit, but I'm not sure there's actually enough common code for that to be useful. To get the calling convention completely correct, a bit of platform-specific code is necessary even for x86-Linux. On x86-Linux, the alignment of function parameters is extremely strange; as far as I can tell, it's always 4 except for SSE vectors or structs containing SSE vectors. I'm continuing to investigate this. llvm-svn: 51839
-
Anton Korobeynikov authored
Implemented by David Chisnall! llvm-svn: 51835
-
- May 26, 2008
-
-
Eli Friedman authored
required for correctness in cases of copying a struct to itself or to an overlapping struct (itself for cases like *a = *a, and overlapping is possible with unions). Hopefully, this won't end up being a perf issue; LLVM *should* be able to optimize memmove to memcpy in a lot of cases, and for small copies the generated code *should* be mostly comparable. (In reality, LLVM is currently horrible at optimizing memmove, but that's a bug, not a fundamental issue.) gcc currently generates wrong code; that's http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667. llvm-svn: 51566
-
- May 22, 2008
-
-
Dan Gohman authored
lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to use its own enum for visibility types instead of using llvm::GlobalValue::VisibilityTypes. These changes eliminate dependencies in the AST library on LLVM's VMCore library. llvm-svn: 51398
-
- May 08, 2008
-
-
Sanjiv Gupta authored
Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo. llvm-svn: 50848
-
- Apr 20, 2008
-
-
Nate Begeman authored
Add test Implement feedback from Chris re: PR1998 llvm-svn: 50001
-
Nate Begeman authored
Warn about unused static functions and variables. This fixes PR1998. llvm-svn: 49987
-
- Apr 19, 2008
-
-
Nate Begeman authored
llvm-svn: 49951
-
Nate Begeman authored
llvm-svn: 49944
-
- Apr 16, 2008
-
-
Steve Naroff authored
Remove FileVarDecl and BlockVarDecl. They are replaced by VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl(). This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it). llvm-svn: 49748
-
- Mar 31, 2008
-
-
Chris Lattner authored
etoile runtime, patch by David Chisnall! llvm-svn: 48969
-
- Mar 16, 2008
-
-
Chris Lattner authored
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
-
- Mar 14, 2008
-
-
Chris Lattner authored
llvm-svn: 48362
-
- Mar 01, 2008
-
-
Chris Lattner authored
Patch by David Chisnall! llvm-svn: 47789
-
- Feb 29, 2008
-
-
Chris Lattner authored
llvm-svn: 47754
-
- Feb 26, 2008
-
-
Lauro Ramos Venancio authored
void g() { static char a[10]; static char *b = a; } Now we can compile wget! llvm-svn: 47627
-
- Feb 19, 2008
-
-
Lauro Ramos Venancio authored
llvm-svn: 47346
-
- Feb 11, 2008
-
-
Chris Lattner authored
is an array type not a pointer type. This requires updating some diags that change and updating the code generator to handle the proper form of strings. llvm-svn: 46941
-
- Feb 06, 2008
-
-
Chris Lattner authored
llvm-svn: 46801
-
Chris Lattner authored
eliminating a bunch of forwarding methods and generally simplifying things. llvm-svn: 46792
-
- Feb 05, 2008
-
-
Chris Lattner authored
simplify the code and generally make it more robust. llvm-svn: 46745
-
- Jan 26, 2008
-
-
Anders Carlsson authored
llvm-svn: 46386
-
- Jan 12, 2008
-
-
Chris Lattner authored
extern "C" in C++ mode. Patch by Mike Stump! llvm-svn: 45904
-