History log of /llvm-project-15.0.7/clang/lib/CodeGen/CGExprAgg.cpp (Results 426 – 450 of 476)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 347f7eab 28-Jan-2009 Douglas Gregor <[email protected]>

Code generation support for C99 designated initializers.

The approach I've taken in this patch is relatively straightforward,
although the code itself is non-trivial. Essentially, as we process
an i

Code generation support for C99 designated initializers.

The approach I've taken in this patch is relatively straightforward,
although the code itself is non-trivial. Essentially, as we process
an initializer list we build up a fully-explicit representation of the
initializer list, where each of the subobject initializations occurs
in order. Designators serve to "fill in" subobject initializations in
a non-linear way. The fully-explicit representation makes initializer
lists (both with and without designators) easy to grok for codegen and
later semantic analyses. We keep the syntactic form of the initializer
list linked into the AST for those clients interested in exactly what
the user wrote.

Known limitations:
- Designating a member of a union that isn't the first member may
result in bogus initialization (we warn about this)
- GNU array-range designators are not supported (we warn about this)

llvm-svn: 63242

show more ...


# 3f66b84c 27-Jan-2009 Eli Friedman <[email protected]>

Support CodeGen for __extension__ operator on aggregates.

llvm-svn: 63101


# 7139af42 25-Jan-2009 Eli Friedman <[email protected]>

Rename Expr::isConstantExpr to Expr::isConstantInitializer; this more
accurately states what the function is trying to do and how it is
different from Expr::isEvaluatable. Also get rid of a parame

Rename Expr::isConstantExpr to Expr::isConstantInitializer; this more
accurately states what the function is trying to do and how it is
different from Expr::isEvaluatable. Also get rid of a parameter that is both
unused and inaccurate.

llvm-svn: 62951

show more ...


# 7ffcf93b 15-Jan-2009 Nuno Lopes <[email protected]>

add codegen support to union casts
init of static vars still not working. I'll get back to it tomorrow or so

llvm-svn: 62278


# 020cddcf 09-Jan-2009 Sebastian Redl <[email protected]>

Prevent a segfault for vaarg expressions on unsupported architectures.

llvm-svn: 62008


# 91f84216 11-Dec-2008 Douglas Gregor <[email protected]>

Unifies the name-lookup mechanisms used in various parts of the AST
and separates lexical name lookup from qualified name lookup. In
particular:
* Make DeclContext the central data structure for st

Unifies the name-lookup mechanisms used in various parts of the AST
and separates lexical name lookup from qualified name lookup. In
particular:
* Make DeclContext the central data structure for storing and
looking up declarations within existing declarations, e.g., members
of structs/unions/classes, enumerators in C++0x enums, members of
C++ namespaces, and (later) members of Objective-C
interfaces/implementations. DeclContext uses a lazily-constructed
data structure optimized for fast lookup (array for small contexts,
hash table for larger contexts).

* Implement C++ qualified name lookup in terms of lookup into
DeclContext.

* Implement C++ unqualified name lookup in terms of
qualified+unqualified name lookup (since unqualified lookup is not
purely lexical in C++!)

* Limit the use of the chains of declarations stored in
IdentifierInfo to those names declared lexically.

* Eliminate CXXFieldDecl, collapsing its behavior into
FieldDecl. (FieldDecl is now a ScopedDecl).

* Make RecordDecl into a DeclContext and eliminates its
Members/NumMembers fields (since one can just iterate through the
DeclContext to get the fields).

llvm-svn: 60878

show more ...


# f5d08c9e 02-Dec-2008 Eli Friedman <[email protected]>

Disabling this code due to regression on test/CodeGen/bitfield.c. See
PR3152.

llvm-svn: 60389


# c59bb48e 30-Nov-2008 Eli Friedman <[email protected]>

Fix for PR2969: generate a memcpy from a constant for constant
initializers. llvm-gcc appears to be more aggressive, but incorrect,
for constructs like "const int a[] = {1,2,3};"; that said, curre

Fix for PR2969: generate a memcpy from a constant for constant
initializers. llvm-gcc appears to be more aggressive, but incorrect,
for constructs like "const int a[] = {1,2,3};"; that said, current
optimizers will do the appropriate optimizations when safe.

llvm-svn: 60270

show more ...


# 9ac53516 22-Nov-2008 Fariborz Jahanian <[email protected]>

Implemented ir-gen for 'implicit' properties using the new AST nodes.

llvm-svn: 59886


# 8a1810f0 22-Nov-2008 Fariborz Jahanian <[email protected]>

New AST node to access "implicit" setter/getter using property dor syntax.
Issuing diagnostics when assigning to read-only properties.
This is work in progress.

llvm-svn: 59874


# 0f137df0 21-Nov-2008 Chris Lattner <[email protected]>

reapply the (corrected) patch to use the new llvm intrinsics for memcpy/memmove etc.

llvm-svn: 59824


# b7f4ce3d 21-Nov-2008 Chris Lattner <[email protected]>

temporarily revert Sangiv's patch.

llvm-svn: 59821


# 37129848 21-Nov-2008 Sanjiv Gupta <[email protected]>

mem[cpy,set,move] intrinsics are now overloaded.

llvm-svn: 59806


# a612e79b 13-Nov-2008 Daniel Dunbar <[email protected]>

Normalize many BasicBlock names.
- Use dotted notation for blocks related to a particular statement
type.
- Use .end for landing pads.

No functionality change in NDEBUG mode. :)

llvm-svn: 59210


# c56e6764 11-Nov-2008 Daniel Dunbar <[email protected]>

Add CodeGenFunction::EmitBranch.
- Emits an unconditional branch, with extra logic to avoid generating
spurious branches out of dummy blocks.

llvm-svn: 59037


# 75283ff3 11-Nov-2008 Daniel Dunbar <[email protected]>

Centralize basic block creation in CodeGenFunction::createBasicBlock.
- No functionality change.

llvm-svn: 59017


Revision tags: llvmorg-2.4.0
# 13abd7e9 04-Nov-2008 Anders Carlsson <[email protected]>

Implement lowering of va_arg in clang directly. (This is 32-bit X86 only for now).

llvm-svn: 58681


# cb463859 01-Nov-2008 Daniel Dunbar <[email protected]>

Move IRBuilder type definition to common file.
- No functionality change.

llvm-svn: 58546


# 084bc32e 26-Oct-2008 Chris Lattner <[email protected]>

make codegen reject initializes with designators, like this:

t.c:1:13: error: cannot codegen this designators yet
int a[10] = {2, 4, [8]=9, 10};
^~~~~~~~~~~~~~~~~

llvm-svn: 58220


# 0bc8e86d 09-Sep-2008 Daniel Dunbar <[email protected]>

Move EmitAggregate{Copy,Clear} into CodeGenFunction.
- No functionality change.

llvm-svn: 56010


# 2e744e8a 30-Aug-2008 Anders Carlsson <[email protected]>

Stub out CodeGenFunction::EmitObjCForCollectionStmt.

Add CodeGenFunction::EmitMemSetToZero and make AggExprEmitter::EmitAggregateClear use it.

llvm-svn: 55573


# 7e1e5710 30-Aug-2008 Anders Carlsson <[email protected]>

Simplify some calls to Builder.CreateCall

llvm-svn: 55567


# 4b8c6db9 30-Aug-2008 Daniel Dunbar <[email protected]>

Add Objective-C property setter support.
- Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
favor of just result type and selector. Necessary so it can be
reused in situations

Add Objective-C property setter support.
- Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
favor of just result type and selector. Necessary so it can be
reused in situations where we don't want to cons up an
ObjCMessageExpr.
- Update aggregate binary assignment to know about special property
ref lvalues.
- Add CodeGenFunction::EmitCallArg overload which takes an already
emitted rvalue.

Add CodeGenFunction::StoreComplexIntoAddr.

Disabled logic in Sema for parsing Objective-C dot-syntax that
accesses methods. This code does not search in the correct order and
the AST node has no way of properly representing its results.

Updated StmtDumper to print a bit more information about
ObjCPropertyRefExprs.

llvm-svn: 55561

show more ...


# 55310df7 27-Aug-2008 Daniel Dunbar <[email protected]>

Initial support for Obj-C dot-syntax for getters.

llvm-svn: 55410


# 28ff072b 23-Aug-2008 Daniel Dunbar <[email protected]>

Drop a dead call to isConstantExpr()

llvm-svn: 55244


1...<<11121314151617181920