History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExpr.cpp (Results 776 – 800 of 1262)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


1...<<31323334353637383940>>...51