- Jun 26, 2008
-
-
Chris Lattner authored
we don't push strings into LLVM IR and then have to read them back out. llvm-svn: 52765
-
Chris Lattner authored
llvm-svn: 52764
-
Chris Lattner authored
string to LLVM IR and then regenerating the string from IR. llvm-svn: 52762
-
Chris Lattner authored
calls to getStringValue llvm-svn: 52761
-
Chris Lattner authored
selectors instead of Value*'s. llvm-svn: 52760
-
Chris Lattner authored
llvm-svn: 52759
-
Chris Lattner authored
llvm-svn: 52758
-
Chris Lattner authored
llvm-svn: 52757
-
Chris Lattner authored
instead of passing in just a couple random things it currently happens to use. llvm-svn: 52756
-
Chris Lattner authored
llvm-svn: 52755
-
Chris Lattner authored
llvm-svn: 52753
-
- Jun 25, 2008
-
-
Mon P Wang authored
llvm-svn: 52707
-
- Jun 24, 2008
-
-
Chris Lattner authored
"Support for Objective-C message sends which return structures. Also includes a small fix for constant string handling that should have been in the last patch (sorry!) and a hook for generating selectors (rest of this implementation to follow in the next patch)." Patch by David Chisnall! llvm-svn: 52681
-
Chris Lattner authored
"This is a small fix for a bug where static object instances were being incorrectly generated. The bug was caused by my inability to read the GNU libobjc source and is only apparent when JITing code (static compilation does not expose the bug due to the data layout of other globals)." Patch by David Chisnall! llvm-svn: 52680
-
- Jun 21, 2008
-
-
Chris Lattner authored
"this patch adds code generation hooks for Objective-C constant strings. It also modifies Sema so that Objective-C constant strings are treated as untyped objects if the interface for the constant string class can not be found. This is consistent with Apple GCC. I thought it was consistent with GNU GCC, since this was causing failures when trying to compile GNUstep with (GNU) GCC, but it appears that this is not the case when attempting to produce a simple test case to demonstrate it. Possibly there is a way of making the error go away, but I haven't found out what it is yet." Patch by David Chisnall! llvm-svn: 52599
-
Chris Lattner authored
by David Chisnall. llvm-svn: 52597
-
- Jun 19, 2008
-
-
Mike Stump authored
llvm-svn: 52507
-
- Jun 17, 2008
-
-
Chris Lattner authored
Patch by David Chisnall! llvm-svn: 52422
-
Ted Kremenek authored
clang as a Release build. The big change is that all AST nodes (subclasses of Stmt) whose children are Expr* store their children as Stmt* or arrays of Stmt*. This is to remove strict-aliasing warnings when using StmtIterator. None of the interfaces of any of the classes have changed (except those with arg_iterators, see below), as the accessor methods introduce the needed casts (via cast<>). While this extra casting may seem cumbersome, it actually adds some important sanity checks throughout the codebase, as clients using StmtIterator can potentially overwrite children that are expected to be Expr* with Stmt* (that aren't Expr*). The casts provide extra sanity checks that are operational in debug builds to catch invariant violations such as these. For classes that have arg_iterators (e.g., CallExpr), the definition of arg_iterator has been replaced. Instead of it being Expr**, it is an actual class (called ExprIterator) that wraps a Stmt**, and provides the necessary operators for iteration. The nice thing about this class is that it also uses cast<> to type-checking, which introduces extra sanity checks throughout the codebase that are useful for debugging. A few of the CodeGen functions that use arg_iterator (especially from OverloadExpr) have been modified to take begin and end iterators instead of a base Expr** and the number of arguments. This matches more with the abstraction of iteration. This still needs to be cleaned up a little bit, as clients expect that ExprIterator is a RandomAccessIterator (which we may or may not wish to allow for efficiency of representation). This is a fairly large patch. It passes the tests (except CodeGen/bitfield.c, which was already broken) on both a Debug and Release build, but it should obviously be reviewed. llvm-svn: 52378
-
- Jun 16, 2008
-
-
Chris Lattner authored
This fixes use of alloca on 64-bit systems. llvm-svn: 52334
-
- Jun 14, 2008
-
-
Eli Friedman authored
qualifier in the lvalue, and changes lvalue loads/stores to honor the volatile flag. Places which need some further attention are marked with FIXMEs. Patch by Cédric Venet. llvm-svn: 52264
-
- Jun 10, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 52162
-
Argyrios Kyrtzidis authored
Added TagKind enum. Added getTagKind() method. Added convenience methods: isEnum(), isStruct(), isUnion(), isClass(). -RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one. llvm-svn: 52160
-
- Jun 09, 2008
-
-
Sanjiv Gupta authored
llvm-svn: 52140
-
- Jun 08, 2008
-
-
Nuno Lopes authored
llvm-svn: 52092
-
Nuno Lopes authored
llvm-svn: 52089
-
Eli Friedman authored
This fix just makes sure to construct the global with the appropriate type, and fixes up the one user this affects to compensate. llvm-svn: 52084
-
- Jun 07, 2008
-
-
Eli Friedman authored
reported on cfe-dev by Cédric Venet. Note that I seriously doubt that this perticular construct is useful, though: it's a pointer in an alternate address space pointing into unqualified address space. llvm-svn: 52076
-
Sanjiv Gupta authored
llvm-svn: 52070
-
- Jun 06, 2008
-
-
Eli Friedman authored
PR2419. llvm-svn: 52060
-
Nuno Lopes authored
llvm-svn: 52049
-
- Jun 05, 2008
-
-
Sanjiv Gupta authored
llvm-svn: 51993
-
- Jun 04, 2008
-
-
Eli Friedman authored
because trying to access non-existent ParamVarDecls can crash. Testcase from the original source for PR2414. llvm-svn: 51960
-
Nuno Lopes authored
llvm-svn: 51958
-
Eli Friedman authored
(http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080602/063306.html). llvm-svn: 51944
-
- Jun 01, 2008
-
-
Argyrios Kyrtzidis authored
llvm-svn: 51847
-
Eli Friedman authored
Patch by David Chisnall. llvm-svn: 51840
-
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
-
Eli Friedman authored
llvm-svn: 51838
-
Eli Friedman authored
llvm-svn: 51837
-