| #
f2442dcc |
| 17-May-2008 |
Eli Friedman <[email protected]> |
Fix support for _Bool bitfields. The issue is that the bitfield width used for _Bool is not the same as the primitive width (which for _Bool is 1 bit). The load and store changes add some casts to
Fix support for _Bool bitfields. The issue is that the bitfield width used for _Bool is not the same as the primitive width (which for _Bool is 1 bit). The load and store changes add some casts to make the types consistent. The EmitLValue changes make sure that the pointer is of an appropriate type for loading the bitfield.
This isn't perfect, but it's an improvement, and getting everything right depends on actually laying out structs in an ABI-compliant way.
llvm-svn: 51224
show more ...
|
| #
9fd8b685 |
| 13-May-2008 |
Eli Friedman <[email protected]> |
Add codegen support for block-level compound literals.
llvm-svn: 51081
|
| #
d3862159 |
| 13-May-2008 |
Nate Begeman <[email protected]> |
Remove AST dependency on VMCore by switching ExtVectorElementExpr off Constant.
llvm-svn: 51068
|
| #
f322eabb |
| 09-May-2008 |
Nate Begeman <[email protected]> |
Extend vector member references to include {.hi, .lo, .e, .o} which return a vector of the same element type and half the width, with the high, low, even, and odd elements respectively.
Allow member
Extend vector member references to include {.hi, .lo, .e, .o} which return a vector of the same element type and half the width, with the high, low, even, and odd elements respectively.
Allow member references to member references, so that .hi.hi gives you the high quarter of a vector. This is fairly convenient syntax for some insert/extract operations.
Remove some unnecessary methods/types in the ExtVectorElementExpr class.
llvm-svn: 50892
show more ...
|
| #
ce4d7fce |
| 18-Apr-2008 |
Nate Begeman <[email protected]> |
OCUVector -> ExtVector, shorthand for extended vector, per feedback from Chris.
llvm-svn: 49942
|
| #
08899ff8 |
| 15-Apr-2008 |
Steve Naroff <[email protected]> |
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/
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
show more ...
|
| #
f3bc75af |
| 04-Apr-2008 |
Chris Lattner <[email protected]> |
Since isComplexType() no longer returns true for _Complex integers, the code generator needs to call isAnyComplexType(). This fixes PR1960.
llvm-svn: 49220
|
| #
5506f8cf |
| 04-Apr-2008 |
Chris Lattner <[email protected]> |
Codegen assignment to self correctly, patch by David Chisnall!
llvm-svn: 49201
|
| #
c00c35a8 |
| 30-Mar-2008 |
Chris Lattner <[email protected]> |
some cleanups on top of David's patch. There are still two remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly. 2) CollectObjCIvarTy
some cleanups on top of David's patch. There are still two remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly. 2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses all parent class ivars) and flattens classes. If A derives from B, and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.
David, please review.
llvm-svn: 48970
show more ...
|
| #
4bd5596d |
| 30-Mar-2008 |
Chris Lattner <[email protected]> |
Add initial support for objc codegen for methods, ivars, and the etoile runtime, patch by David Chisnall!
llvm-svn: 48969
|
| #
3e593cdb |
| 19-Mar-2008 |
Chris Lattner <[email protected]> |
simplify the clang codegen by using the new Builder.CreateStructGEP method.
llvm-svn: 48534
|
| #
7a51313d |
| 15-Mar-2008 |
Chris Lattner <[email protected]> |
Make a major restructuring of the clang tree: introduce a top-level lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. Th
Make a major restructuring of the clang tree: introduce a top-level 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
show more ...
|