History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExpr.cpp (Results 751 – 775 of 1262)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 13ee4f48 10-Jul-2011 Chris Lattner <[email protected]>

change EmitLValueForField to cast the returned lvalue to the right
type, even when in the struct case. This was one root issue that was
causing type mismatches throughout the compiler.

llvm-svn: 13

change EmitLValueForField to cast the returned lvalue to the right
type, even when in the struct case. This was one root issue that was
causing type mismatches throughout the compiler.

llvm-svn: 134862

show more ...


# 1a5f8978 10-Jul-2011 Chris Lattner <[email protected]>

when emitting pointer load from an lvalue or storing to an lvalue,
do an explicit bitcast to whatever ConvertType produces. This will
go with the next patch.

llvm-svn: 134860


# a5f58b05 09-Jul-2011 Chris Lattner <[email protected]>

clang side to match the LLVM IR type system rewrite patch.

llvm-svn: 134831


# 4db5c3c8 07-Jul-2011 John McCall <[email protected]>

In ARC, reclaim all return values of retainable type, not just those
where we have an immediate need of a retained value.

As an exception, don't do this when the call is made as the immediate
operan

In ARC, reclaim all return values of retainable type, not just those
where we have an immediate need of a retained value.

As an exception, don't do this when the call is made as the immediate
operand of a __bridge retain. This is more in the way of a workaround
than an actual guarantee, so it's acceptable to be brittle here.

rdar://problem/9504800

llvm-svn: 134605

show more ...


# 7c6c6cc4 07-Jul-2011 Nick Lewycky <[email protected]>

Sort #includes.

llvm-svn: 134589


# d68b2d04 27-Jun-2011 John McCall <[email protected]>

Fix PR10204 in a better way.

llvm-svn: 133943


# 8aba2d80 27-Jun-2011 Nico Weber <[email protected]>

Revert parts of r133860 to fix a crash. Add a test.

llvm-svn: 133931


# 55e1fbc8 25-Jun-2011 John McCall <[email protected]>

LValue carries a type now, so simplify the main EmitLoad/Store APIs
by removing the redundant type parameter.

llvm-svn: 133860


# 77527a8e 25-Jun-2011 John McCall <[email protected]>

Mark the multiply which occurs as part of performing pointer
arithmetic on a VLA as 'nsw', per discussion with djg, and
implement pointer arithmetic (other than array accesses) and
pointer subtractio

Mark the multiply which occurs as part of performing pointer
arithmetic on a VLA as 'nsw', per discussion with djg, and
implement pointer arithmetic (other than array accesses) and
pointer subtraction for VLA types.

llvm-svn: 133855

show more ...


# 23c29fea 24-Jun-2011 John McCall <[email protected]>

Change the IR-generation of VLAs so that we capture bounds,
not sizes; so that we use well-typed allocas; and so that we
properly recurse through the full set of variably-modified types.

llvm-svn:

Change the IR-generation of VLAs so that we capture bounds,
not sizes; so that we use well-typed allocas; and so that we
properly recurse through the full set of variably-modified types.

llvm-svn: 133827

show more ...


# 58df509f 22-Jun-2011 Douglas Gregor <[email protected]>

When binding a reference to an Automatic Reference Counting temporary,
retain/release the temporary object appropriately. Previously, we
would only perform the retain/release operations when the refe

When binding a reference to an Automatic Reference Counting temporary,
retain/release the temporary object appropriately. Previously, we
would only perform the retain/release operations when the reference
would extend the lifetime of the temporary, but this does the wrong
thing across calls.

llvm-svn: 133620

show more ...


# d410c08e 21-Jun-2011 Douglas Gregor <[email protected]>

A few tweaks to MaterializeTemporaryExpr suggested by John.

llvm-svn: 133528


# fe31481f 21-Jun-2011 Douglas Gregor <[email protected]>

Introduce a new AST node describing reference binding to temporaries.

MaterializeTemporaryExpr captures a reference binding to a temporary
value, making explicit that the temporary value (a prvalue)

Introduce a new AST node describing reference binding to temporaries.

MaterializeTemporaryExpr captures a reference binding to a temporary
value, making explicit that the temporary value (a prvalue) needs to
be materialized into memory so that its address can be used. The
intended AST invariant here is that a reference will always bind to a
glvalue, and MaterializeTemporaryExpr will be used to convert prvalues
into glvalues for that binding to happen. For example, given

const int& r = 1.0;

The initializer of "r" will be a MaterializeTemporaryExpr whose
subexpression is an implicit conversion from the double literal "1.0"
to an integer value.

IR generation benefits most from this new node, since it was
previously guessing (badly) when to materialize temporaries for the
purposes of reference binding. There are likely more refactoring and
cleanups we could perform there, but the introduction of
MaterializeTemporaryExpr fixes PR9565, a case where IR generation
would effectively bind a const reference directly to a bitfield in a
struct. Addresses <rdar://problem/9552231>.

llvm-svn: 133521

show more ...


# 8a9cc4fe 18-Jun-2011 Benjamin Kramer <[email protected]>

Remove dead variables.

llvm-svn: 133346


# dd19c011 18-Jun-2011 Benjamin Kramer <[email protected]>

80 cols.

llvm-svn: 133345


# 1553b190 16-Jun-2011 John McCall <[email protected]>

Restore correct use of GC barriers.

llvm-svn: 133144


# 31168b07 15-Jun-2011 John McCall <[email protected]>

Automatic Reference Counting.

Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.

Compiler implementation c

Automatic Reference Counting.

Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.

Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.

llvm-svn: 133103

show more ...


# 471a22fe 15-Jun-2011 Eli Friedman <[email protected]>

Use isAnyComplexType here so we don't pass complex numbers into the aggregate handling code; found by inspection.

llvm-svn: 133070


# a8cde3c0 22-May-2011 Chris Lattner <[email protected]>

fix 80 col violation

llvm-svn: 131870


# 6ab2fa8f 20-May-2011 Douglas Gregor <[email protected]>

Introduce Type::isSignedIntegerOrEnumerationType() and
Type::isUnsignedIntegerOrEnumerationType(), which are like
Type::isSignedIntegerType() and Type::isUnsignedIntegerType() but also
consider the u

Introduce Type::isSignedIntegerOrEnumerationType() and
Type::isUnsignedIntegerOrEnumerationType(), which are like
Type::isSignedIntegerType() and Type::isUnsignedIntegerType() but also
consider the underlying type of a C++0x scoped enumeration type.

Audited all callers to the existing functions, switching those that
need to also handle scoped enumeration types (e.g., those that deal
with constant values) over to the new functions. Fixes PR9923 /
<rdar://problem/9447851>.

llvm-svn: 131735

show more ...


# 1c60a0bc 02-May-2011 Nick Lewycky <[email protected]>

Remove dead variable, flagged by gcc's -Wunused-but-set-variable.

llvm-svn: 130674


# 27337a88 24-Apr-2011 Ken Dyck <[email protected]>

Convert AccessInfo::AccessAlignment to CharUnits. No change in functionality
intended.

llvm-svn: 130087


# f76759c6 24-Apr-2011 Ken Dyck <[email protected]>

Convert CGBitFieldInfo::FieldByteOffset to CharUnits. No change in
functionality intended.

llvm-svn: 130085


# 91147596 15-Apr-2011 Peter Collingbourne <[email protected]>

C1X: implement generic selections

As an extension, generic selection support has been added for all
supported languages. The syntax is the same as for C1X.

llvm-svn: 129554


# 2979fe01 12-Apr-2011 John McCall <[email protected]>

After some discussion with Doug, we decided that it made a lot more sense
for __unknown_anytype resolution to destructively modify the AST. So that's
what it does now, which significantly simplifies

After some discussion with Doug, we decided that it made a lot more sense
for __unknown_anytype resolution to destructively modify the AST. So that's
what it does now, which significantly simplifies some of the implementation.
Normal member calls work pretty cleanly now, and I added support for
propagating unknown-ness through &.

llvm-svn: 129331

show more ...


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