History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExpr.cpp (Results 676 – 700 of 1262)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a729c62b 17-Feb-2012 John McCall <[email protected]>

Whether an argument is required (in contrast with being an
optional argument passed through the variadic ellipsis)
potentially affects how we need to lower it. Propagate
this information down to the

Whether an argument is required (in contrast with being an
optional argument passed through the variadic ellipsis)
potentially affects how we need to lower it. Propagate
this information down to the various getFunctionInfo(...)
overloads on CodeGenTypes. Furthermore, rename those
overloads to clarify their distinct purposes, and make
sure we're calling the right one in the right place.
This has a nice side-effect of making it easier to construct
a function type, since the 'variadic' bit is no longer
separable.

This shouldn't really change anything for our existing
platforms, with one minor exception --- we should now call
variadic ObjC methods with the ... in the "right place"
(see the test case), which I guess matters for anyone
running GNUStep on MIPS. Mostly it's just a substantial
clean-up.

llvm-svn: 150788

show more ...


# c62bb391 15-Feb-2012 John McCall <[email protected]>

Split reinterpret_casts of member pointers out from CK_BitCast; this
is general goodness because representations of member pointers are
not always equivalent across member pointer types on all ABIs
(

Split reinterpret_casts of member pointers out from CK_BitCast; this
is general goodness because representations of member pointers are
not always equivalent across member pointer types on all ABIs
(even though this isn't really standard-endorsed).

Take advantage of the new information to teach IR-generation how
to do these reinterprets in constant initializers. Make sure this
works when intermingled with hierarchy conversions (although
this is not part of our motivating use case). Doing this in the
constant-evaluator would probably have been better, but that would
require a *lot* of extra structure in the representation of
constant member pointers: you'd really have to track an arbitrary
chain of hierarchy conversions and reinterpretations in order to
get this right. Ultimately, this seems less complex. I also
wasn't quite sure how to extend the constant evaluator to handle
foldings that we don't actually want to treat as extended
constant expressions.

llvm-svn: 150551

show more ...


# 8001f746 14-Feb-2012 Benjamin Kramer <[email protected]>

Use a simpler (and more efficient) pattern to pad vectors.

llvm-svn: 150475


# 9fbeba0d 11-Feb-2012 Eli Friedman <[email protected]>

Basic support for referring to captured variables from lambdas. Some simple examples seem to work. Tests coming up soon.

llvm-svn: 150293


# c370a7ee 09-Feb-2012 Eli Friedman <[email protected]>

Refactor lambda IRGen so AggExprEmitter::VisitLambdaExpr does the right thing.

llvm-svn: 150146


# 0cfd5bd6 09-Feb-2012 Eli Friedman <[email protected]>

Basic IRGen for LambdaExprs with captures.

llvm-svn: 150141


# 5bc17129 08-Feb-2012 Eli Friedman <[email protected]>

A little bit of lambda IRGen.

llvm-svn: 150058


# ece0409a 07-Feb-2012 Chris Lattner <[email protected]>

simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.

llvm-svn: 149943


# 2c1dd271 05-Feb-2012 Dylan Noblesmith <[email protected]>

Basic: import SmallString<> into clang namespace

(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)

llvm-svn: 149799


# 595ba3a1 30-Jan-2012 Chris Lattner <[email protected]>

Simplify code by using the new getAggregateElement method that got added
recently. This also conveniently gets clang ready for a change about to
land in mainline.

llvm-svn: 149225


# 1425b455 26-Jan-2012 Peter Collingbourne <[email protected]>

Use function pointers, rather than references, to pass Destroyers
around, in the process cleaning up the various gcc/msvc compiler
workarounds.

llvm-svn: 149036


# ccca11a3 25-Jan-2012 NAKAMURA Takumi <[email protected]>

Fixup r148926, for -Asserts.

llvm-svn: 148943


# 2d6b7b91 25-Jan-2012 Chris Lattner <[email protected]>

reapply r148902:

"use the new ConstantVector::getSplat method where it makes sense."

Also simplify a bunch of code to use the Builder->getInt32 instead
of doing it the hard and ugly way. Much more

reapply r148902:

"use the new ConstantVector::getSplat method where it makes sense."

Also simplify a bunch of code to use the Builder->getInt32 instead
of doing it the hard and ugly way. Much more progress could be made
here, but I don't plan to do it.

llvm-svn: 148926

show more ...


# 5995489d 25-Jan-2012 Eli Friedman <[email protected]>

Fix a crash for an edge case of the GNU ?: extension.

llvm-svn: 148923


# 5a25297c 25-Jan-2012 Argyrios Kyrtzidis <[email protected]>

Revert 148902 which was part of 148901 which was reverted in r148906.

Original log:
use the new ConstantVector::getSplat method where it makes sense.

llvm-svn: 148907


# c558d7d1 25-Jan-2012 Chris Lattner <[email protected]>

use the new ConstantVector::getSplat method where it makes sense.

llvm-svn: 148902


# 5720e349 21-Jan-2012 Eli Friedman <[email protected]>

Add an assertion that our use-marking actually covers all uses of a variable. The assertion doesn't cover quite as much as it should, but it's a good start, at least.

llvm-svn: 148625


# e4d798f0 20-Jan-2012 David Blaikie <[email protected]>

More dead code removal (using -Wunreachable-code)

llvm-svn: 148577


# fa35df62 16-Jan-2012 David Chisnall <[email protected]>

Some improvements to the handling of C11 atomic types:

- Add atomic-to/from-nonatomic cast types
- Emit atomic operations for arithmetic on atomic types
- Emit non-atomic stores for initialisation o

Some improvements to the handling of C11 atomic types:

- Add atomic-to/from-nonatomic cast types
- Emit atomic operations for arithmetic on atomic types
- Emit non-atomic stores for initialisation of atomic types, but atomic stores and loads for every other store / load
- Add a __atomic_init() intrinsic which does a non-atomic store to an _Atomic() type. This is needed for the corresponding C11 stdatomic.h function.
- Enables the relevant __has_feature() checks. The feature isn't 100% complete yet, but it's done enough that we want people testing it.

Still to do:

- Make the arithmetic operations on atomic types (e.g. Atomic(int) foo = 1; foo++;) use the correct LLVM intrinsic if one exists, not a loop with a cmpxchg.
- Add a signal fence builtin
- Properly set the fenv state in atomic operations on floating point values
- Correctly handle things like _Atomic(_Complex double) which are too large for an atomic cmpxchg on some platforms (this requires working out what 'correctly' means in this context)
- Fix the many remaining corner cases

llvm-svn: 148242

show more ...


# 36bc4f41 04-Jan-2012 Chris Lattner <[email protected]>

implement rdar://10639962 by keeping track of increased alignment
information even in subscripting operations.

llvm-svn: 147557


# 2415357a 19-Dec-2011 Chris Lattner <[email protected]>

Fix PR5279 - don't sliently drop alignment information on stores of types that have alignment less than the natural alignment of the type when it comes from a typedef.

llvm-svn: 146908


# a0544d6f 03-Dec-2011 Eli Friedman <[email protected]>

Switch LValue so that it exposes alignment in CharUnits. (No functional change.)

llvm-svn: 145753


# 38cd36db 03-Dec-2011 Eli Friedman <[email protected]>

Switch the Alignment argument on AggValueSlot over to CharUnits, per John's review comment.

llvm-svn: 145741


# c1d85b93 03-Dec-2011 Eli Friedman <[email protected]>

Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon.

llvm-svn: 145736


# f37bd2f2 01-Dec-2011 Eli Friedman <[email protected]>

Don't use a varargs convention for calls unprototyped functions where one of the arguments is an AVX vector.

llvm-svn: 145574


1...<<21222324252627282930>>...51