History log of /llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp (Results 701 – 725 of 1023)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 355efbb2 17-Feb-2012 Douglas Gregor <dgregor@apple.com>

Rework the Sema/AST/IRgen dance for the lambda closure type's
conversion to function pointer. Rather than having IRgen synthesize
the body of this function, we instead introduce a static member
funct

Rework the Sema/AST/IRgen dance for the lambda closure type's
conversion to function pointer. Rather than having IRgen synthesize
the body of this function, we instead introduce a static member
function "__invoke" with the same signature as the lambda's
operator() in the AST. Sema then generates a body for the conversion
to function pointer which simply returns the address of __invoke. This
approach makes it easier to evaluate a call to the conversion function
as a constant, makes the linkage of the __invoke function follow the
normal rules for member functions, and may make life easier down the
road if we ever want to constexpr'ify some of lambdas.

Note that IR generation is responsible for filling in the body of
__invoke (Sema just adds a dummy body), because the body can't
generally be expressed in C++.

Eli, please review!

llvm-svn: 150783

show more ...


# 5a6d507d 16-Feb-2012 Eli Friedman <eli.friedman@gmail.com>

Start of IRGen for lambda conversion operators.

llvm-svn: 150649


# 248f898c 14-Feb-2012 Eli Friedman <eli.friedman@gmail.com>

Remove useless if statement.

llvm-svn: 150459


# 9fbeba0d 11-Feb-2012 Eli Friedman <eli.friedman@gmail.com>

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

llvm-svn: 150293


# 793bd55f 08-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com>

CodeGen: Move EHPersonality from CGException.h into the cpp file, it has no other users.

While at it make it value-initializable to get rid of static ctors.

llvm-svn: 150070


# ece0409a 07-Feb-2012 Chris Lattner <sabre@nondot.org>

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

llvm-svn: 149943


# fa95ed40 11-Jan-2012 Abramo Bagnara <abramo.bagnara@gmail.com>

Fixed VLA code generation.

llvm-svn: 147933


# 1cd8368e 07-Jan-2012 Abramo Bagnara <abramo.bagnara@gmail.com>

Fixed TypeofExpr AST and code generation.

llvm-svn: 147730


# 5fab0c9e 28-Dec-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Small refactoring and simplification of constant evaluation and some of its
clients. No functionality change.

llvm-svn: 147318


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4
# 08ef4660 10-Nov-2011 John McCall <rjmccall@apple.com>

Enter the cleanups for a block outside the enclosing
full-expression. Naturally they're inactive before we enter
the block literal expression. This restores the intended
behavior that blocks belong

Enter the cleanups for a block outside the enclosing
full-expression. Naturally they're inactive before we enter
the block literal expression. This restores the intended
behavior that blocks belong to their enclosing scope.

There's a useful -O0 / compile-time optimization that we're
missing here with activating cleanups following straight-line
code from their inactive beginnings.

llvm-svn: 144268

show more ...


Revision tags: llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2
# 7b553f1b 29-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will
implicitly perform an lvalue-to-rvalue conversion if used on an lvalue
expression. Also improve the documentation of Expr

Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it will
implicitly perform an lvalue-to-rvalue conversion if used on an lvalue
expression. Also improve the documentation of Expr::Evaluate* to indicate which
of them will accept expressions with side-effects.

llvm-svn: 143263

show more ...


# 1e93c6a8 24-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com>

Fix mismatched new[]/delete[].

llvm-svn: 142803


# 4b4beb2f 21-Oct-2011 Eric Christopher <echristo@apple.com>

Fix PR11073 by adding the argument type information to the decl we construct
for the function type. Update a testcase accordingly.

Patch initially by Anders Waldenborg!

llvm-svn: 142700


Revision tags: llvmorg-3.0.0-rc1
# 7cdf9486 13-Oct-2011 Eric Christopher <echristo@apple.com>

Recommit:

Start handling debug line and scope information better:

Migrate most of the location setting within the larger API in CGDebugInfo and
update a lot of callers.
Remove the e

Recommit:

Start handling debug line and scope information better:

Migrate most of the location setting within the larger API in CGDebugInfo and
update a lot of callers.
Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
and replace it with DILexicalBlockFile usage.

Finishes off the rest of rdar://10246360

after fixing a few bugs that were exposed in gdb testsuite testing.

llvm-svn: 141893

show more ...


# 0dfb8895 06-Oct-2011 Eli Friedman <eli.friedman@gmail.com>

Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specificatio

Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.

Thanks to Jeffrey Yasskin for the thorough review!

llvm-svn: 141330

show more ...


# fa4d6033 06-Oct-2011 Peter Collingbourne <peter@pcc.me.uk>

CUDA: IR generation support for device stubs

llvm-svn: 141304


# 76399eb2 27-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com>

de-tmpify clang.

llvm-svn: 140637


# f0724e8e 19-Sep-2011 Bill Wendling <isanbard@gmail.com>

Throw the switch to convert clang to the new exception handling model!

This model uses the 'landingpad' instruction, which is pinned to the top of the
landing pad. (A landing pad is defined as the d

Throw the switch to convert clang to the new exception handling model!

This model uses the 'landingpad' instruction, which is pinned to the top of the
landing pad. (A landing pad is defined as the destination of the unwind branch
of an invoke instruction.) All of the information needed to generate the correct
exception handling metadata during code generation is encoded into the
landingpad instruction.

The new 'resume' instruction takes the place of the llvm.eh.resume intrinsic
call. It's lowered in much the same way as the intrinsic is.

llvm-svn: 140049

show more ...


# 5a6b6987 09-Sep-2011 Julien Lerouge <jlerouge@apple.com>

Bring llvm.annotation* intrinsics support back to where it was in llvm-gcc: can
annotate global, local variables, struct fields, or arbitrary statements (using
the __builtin_annotation), rdar://80374

Bring llvm.annotation* intrinsics support back to where it was in llvm-gcc: can
annotate global, local variables, struct fields, or arbitrary statements (using
the __builtin_annotation), rdar://8037476.

llvm-svn: 139423

show more ...


# 65c5c913 09-Sep-2011 Eric Christopher <echristo@apple.com>

Carry the debug information from single exit unified return block
along with the new insert point.

Fixes PR10829

llvm-svn: 139416


# e8bbc121 02-Sep-2011 Douglas Gregor <dgregor@apple.com>

Extend the ASTContext constructor to delay the initialization of
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
ra

Extend the ASTContext constructor to delay the initialization of
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
rather than doing so after the fact. No actual functionality change (yet).

llvm-svn: 138985

show more ...


# 8e4c74bb 11-Aug-2011 John McCall <rjmccall@apple.com>

Simplify EH control flow by observing that EH scopes form a simple
hierarchy of delegation, and that EH selector values are meaningful
function-wide (good thing, too, or inlining wouldn't work).
2,3d

Simplify EH control flow by observing that EH scopes form a simple
hierarchy of delegation, and that EH selector values are meaningful
function-wide (good thing, too, or inlining wouldn't work).
2,3d
1a
hierarchy of delegation and that EH selector values have the same
meaning everywhere in the function instead of being meaningful only
in the context of a specific selector.

This removes the need for routing edges through EH cleanups,
since a cleanup simply always branches to its enclosing scope.

llvm-svn: 137293

show more ...


# 0e62c1cc 23-Jul-2011 Chris Lattner <sabre@nondot.org>

remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports
them into the clang namespace.

llvm-svn: 135852


# 040dd82f 22-Jul-2011 Jay Foad <jay.foad@gmail.com>

Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use
ArrayRef.

llvm-svn: 135761


# 2192fe50 18-Jul-2011 Chris Lattner <sabre@nondot.org>

de-constify llvm::Type, patch by David Blaikie!

llvm-svn: 135370


1...<<21222324252627282930>>...41