| #
2d2e8707 |
| 11-Apr-2011 |
John McCall <[email protected]> |
More __unknown_anytype work.
llvm-svn: 129269
|
| #
8a01a751 |
| 11-Apr-2011 |
Anders Carlsson <[email protected]> |
Remove CK_DynamicToNull.
llvm-svn: 129265
|
| #
c6020066 |
| 10-Apr-2011 |
Anders Carlsson <[email protected]> |
As a first step towards fixing PR9641, add a CK_DynamicToNull cast kind which represents a dynamic cast where we know that the result is always null.
For example:
struct A { virtual ~A(); }; stru
As a first step towards fixing PR9641, add a CK_DynamicToNull cast kind which represents a dynamic cast where we know that the result is always null.
For example:
struct A { virtual ~A(); }; struct B final : A { }; struct C { };
bool f(B* b) { return dynamic_cast<C*>(b); }
llvm-svn: 129256
show more ...
|
| #
31996343 |
| 07-Apr-2011 |
John McCall <[email protected]> |
Basic, untested implementation for an "unknown any" type requested by LLDB. The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will
Basic, untested implementation for an "unknown any" type requested by LLDB. The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will still be valid to access that object as long as you explicitly cast it at every use. I'm still going back and forth about how I want to test this effectively, but I wanted to go ahead and provide a skeletal implementation for the LLDB folks' benefit and because it also improves some diagnostic goodness for placeholder expressions.
llvm-svn: 129065
show more ...
|
|
Revision tags: llvmorg-2.9.0 |
|
| #
82634277 |
| 01-Apr-2011 |
Daniel Dunbar <[email protected]> |
IRgen: Reapply r128691 with a fix to ensure we don't increase alignment past that of the array element type.
llvm-svn: 128698
|
| #
ea6b81a2 |
| 01-Apr-2011 |
Daniel Dunbar <[email protected]> |
Revert r128691, "IRgen: Improve GCC compatibility when dealing with packed arrays by propagating", it's breaking test in ways I don't understand yet.
llvm-svn: 128693
|
| #
417bf0f1 |
| 31-Mar-2011 |
Daniel Dunbar <[email protected]> |
IRgen: Improve GCC compatibility when dealing with packed arrays by propagating the array alignment to the array access. - This is more or less the best we can do without having alignment present in
IRgen: Improve GCC compatibility when dealing with packed arrays by propagating the array alignment to the array access. - This is more or less the best we can do without having alignment present in the type system, but is a long way from truly matching how GCC handles this.
llvm-svn: 128691
show more ...
|
| #
7a26ba4d |
| 30-Mar-2011 |
Fariborz Jahanian <[email protected]> |
Fix IRGen issues related to using property-dot syntax for prperty reference types. // rdar://9208606.
llvm-svn: 128551
|
| #
20c0f02c |
| 30-Mar-2011 |
Jay Foad <[email protected]> |
Remove PHINode::reserveOperandSpace(). Instead, add a parameter to PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128538
|
|
Revision tags: llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2 |
|
| #
599cb8e4 |
| 18-Mar-2011 |
Peter Collingbourne <[email protected]> |
Add support for language-specific address spaces. On top of that, add support for the OpenCL __private, __local, __constant and __global address spaces, as well as the __read_only, _read_write and _
Add support for language-specific address spaces. On top of that, add support for the OpenCL __private, __local, __constant and __global address spaces, as well as the __read_only, _read_write and __write_only image access specifiers. Patch originally by ARM; language-specific address space support by myself.
llvm-svn: 127915
show more ...
|
| #
b6069255 |
| 16-Mar-2011 |
Eli Friedman <[email protected]> |
PR9494: Get rid of bitcast which was both unnecessary and written incorrectly.
llvm-svn: 127768
|
|
Revision tags: llvmorg-2.9.0-rc1 |
|
| #
d6ffebb0 |
| 07-Mar-2011 |
Devang Patel <[email protected]> |
DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change
DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change during compilation. Make this layering explicit and fix accidental cases where the code generator was checking whether module has debug info enabled instead of checking whether debug info is enabled for this function or not.
llvm-svn: 127165
show more ...
|
| #
e65982c8 |
| 07-Mar-2011 |
Devang Patel <[email protected]> |
Do not emit stop point for CXXDefaultArgExpr. It results in suboptimial user experience.
21 int main() { 22 A a;
For example, here user would expect to stop at line 22, even if A's constructor le
Do not emit stop point for CXXDefaultArgExpr. It results in suboptimial user experience.
21 int main() { 22 A a;
For example, here user would expect to stop at line 22, even if A's constructor leads to a call through CXXDefaultArgExpr.
This fixes ostream-defined.exp regression from gdb testsuite.
llvm-svn: 127164
show more ...
|
| #
d3a6b0f1 |
| 04-Mar-2011 |
Devang Patel <[email protected]> |
Emit a stop point before a call expression so that debugger has some chance of getting some footing when user wants to stop at 2nd bar() in following expression when all function calls are inlined.
Emit a stop point before a call expression so that debugger has some chance of getting some footing when user wants to stop at 2nd bar() in following expression when all function calls are inlined. = bar() + ... + bar() + ...
clang keeps track of column numbers, so we could put location entries for all subexpressions but that will significantly bloat debug info in general, but a location for call expression is helpful here.
llvm-svn: 127018
show more ...
|
| #
99cc30c3 |
| 02-Mar-2011 |
Tilmann Scheller <[email protected]> |
Revert "Add CC_Win64ThisCall and set it in the necessary places."
This reverts commit 126863.
llvm-svn: 126886
|
| #
454464b4 |
| 02-Mar-2011 |
Tilmann Scheller <[email protected]> |
Add CC_Win64ThisCall and set it in the necessary places.
llvm-svn: 126863
|
| #
2e72da94 |
| 01-Mar-2011 |
Chris Lattner <[email protected]> |
-fwrapv should turn off the inbounds markers from geps used for pointer arithmetic. This is part of PR9256, it would be great if someone else wired up -fno-strict-overflow in the driver to -fwrapv.
-fwrapv should turn off the inbounds markers from geps used for pointer arithmetic. This is part of PR9256, it would be great if someone else wired up -fno-strict-overflow in the driver to -fwrapv.
llvm-svn: 126718
show more ...
|
| #
41c6ab53 |
| 27-Feb-2011 |
Chris Lattner <[email protected]> |
Change the interface to ConstantFoldsToSimpleInteger to not encode a bool + success into one tri-state integer, simplifying things.
llvm-svn: 126592
|
| #
53fcbd27 |
| 26-Feb-2011 |
John McCall <[email protected]> |
Pretty up the emission of field l-values and use volatile and TBAA when loading references as part of that. Use 'char' TBAA when accessing (immediate!) fields of a may_alias struct; fixes PR9307.
Pretty up the emission of field l-values and use volatile and TBAA when loading references as part of that. Use 'char' TBAA when accessing (immediate!) fields of a may_alias struct; fixes PR9307.
llvm-svn: 126540
show more ...
|
| #
e9dab636 |
| 21-Feb-2011 |
John McCall <[email protected]> |
Bind references to opaque r-values correctly. Add a few test cases for ?: on record types.
llvm-svn: 126113
|
| #
e6be5e1c |
| 17-Feb-2011 |
John McCall <[email protected]> |
Remove the "conditional save" hashtables from IR generation.
llvm-svn: 125761
|
| #
c07a0c7e |
| 17-Feb-2011 |
John McCall <[email protected]> |
Change the representation of GNU ?: expressions to use a different expression class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these
Change the representation of GNU ?: expressions to use a different expression class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs.
Change OVEs to not be a "temporary object" in the sense that copy elision is permitted.
This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right.
I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work.
llvm-svn: 125744
show more ...
|
| #
1bf5846a |
| 16-Feb-2011 |
John McCall <[email protected]> |
Save a copy expression for non-trivial copy constructions of catch variables.
llvm-svn: 125661
|
| #
e3dc1707 |
| 15-Feb-2011 |
John McCall <[email protected]> |
Assorted cleanup: - Have CGM precompute a number of commonly-used types - Have CGF copy that during initialization instead of recomputing them - Use TBAA info when initializing a parameter vari
Assorted cleanup: - Have CGM precompute a number of commonly-used types - Have CGF copy that during initialization instead of recomputing them - Use TBAA info when initializing a parameter variable - Refactor the scalar ++/-- code
llvm-svn: 125562
show more ...
|
| #
91c08ad1 |
| 15-Feb-2011 |
Chris Lattner <[email protected]> |
update for ConstantVector API change.
llvm-svn: 125538
|