- 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
-
Daniel Dunbar authored
- <rdar://problem/6122967> llvm-svn: 54338
-
- Aug 04, 2008
-
-
Daniel Dunbar authored
llvm-svn: 54322
-
Daniel Dunbar authored
- Follows emission scheme used by llvm-gcc, i.e. invent an id for each label whose address is taken and replace each indirect goto by a switch to each possible target. - Currently we emit a switch for each indirect goto instead of merging them as llvm-gcc does. llvm-svn: 54318
-
Chris Lattner authored
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
-
- 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 31, 2008
-
-
Chris Lattner authored
http://llvm.org/viewvc/llvm-project?view=rev&revision=54107 llvm-svn: 54242
-
Mon P Wang authored
different address spaces) for llvm r54195. llvm-svn: 54241
-
- Jul 30, 2008
-
-
Daniel Dunbar authored
<rdar://problem/6113085> llvm-svn: 54237
-
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
-
- Jul 27, 2008
-
-
Chris Lattner authored
llvm-svn: 54108
-
Chris Lattner authored
llvm-svn: 54107
-
Chris Lattner authored
ASTContext::getCanonicalType instead (PR2189) llvm-svn: 54105
-
- Jul 26, 2008
-
-
Chris Lattner authored
llvm-svn: 54100
-
Chris Lattner authored
llvm-svn: 54099
-
rdar://6103124Chris Lattner authored
are important part of control flow structures. llvm-svn: 54078
-
- Jul 25, 2008
-
-
Nate Begeman authored
llvm-svn: 54049
-
Nate Begeman authored
llvm-svn: 54048
-
Nate Begeman authored
llvm-svn: 54047
-
Daniel Dunbar authored
- Fix multiple issues with the way case ranges were emitted, see test cases details about the specific issues. - The root issue was not being careful about how basic blocks were emitted which led to them being chained together incorrectly, resulting in improper control flow. - Fixes <rdar://problem/6098585> llvm-svn: 54006
-
- Jul 24, 2008
-
-
Daniel Dunbar authored
- Also cleaned up emission slightly - Inspection of the code revealed several other bugs, however. Case ranges are not properly wired and can result in switch cases being dropped or even infinite loops. See: <rdar://problem/6098585> Completes: <rdar://problem/6094119> llvm-svn: 53975
-
- Jul 23, 2008
-
-
Chris Lattner authored
llvm-svn: 53948
-
Chris Lattner authored
int foo(void) { float x[2]; return x; } rdar://6093986 llvm-svn: 53946
-
- Jul 22, 2008
-
-
Daniel Dunbar authored
llvm-svn: 53928
-
Daniel Dunbar authored
llvm-svn: 53899
-
Daniel Dunbar authored
This subsumes Nico Weber's patch and implements bzero in terms of llvm.memset to match llvm-gcc. llvm-svn: 53888
-
Daniel Dunbar authored
This closes <rdar://problem/6080720>, support for __builtin_constant_p has been filed separately. llvm-svn: 53885
-
- Jul 21, 2008
-
-
Daniel Dunbar authored
llvm-svn: 53878
-
Chris Lattner authored
simplifying code along the way and fixing a problem and memory leak or two. llvm-svn: 53876
-
Daniel Dunbar authored
llvm-svn: 53866
-
Chris Lattner authored
various objc lists over to it. First up, the protocol list on ObjCInterfaceDecl. llvm-svn: 53856
-
Daniel Dunbar authored
+ test case llvm-svn: 53851
-
Chris Lattner authored
it goes and makes std::strings out of them, which is not defined. llvm-svn: 53843
-
- Jul 18, 2008
-
-
Mon P Wang authored
llvm-svn: 53747
-
- Jul 17, 2008
-
-
Daniel Dunbar authored
<rdar://problem/6078606> llvm-svn: 53737
-
- Jul 14, 2008
-
-
Chris Lattner authored
llvm-svn: 53552
-