History log of /llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp (Results 1001 – 1023 of 1023)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ad319a73 11-Aug-2008 Daniel Dunbar <daniel@zuster.org>

More #include cleaning
- Remove internal uses of AST.h

llvm-svn: 54628


# d27262f3 04-Aug-2008 Daniel Dunbar <daniel@zuster.org>

Avoid creating dummy block when no indirect gotos are present.

llvm-svn: 54322


# 88402ce8 04-Aug-2008 Daniel Dunbar <daniel@zuster.org>

Add CodeGen support for indirect goto.
- Follows emission scheme used by llvm-gcc, i.e. invent an id for
each label whose address is taken and replace each indirect goto by
a switch to each po

Add CodeGen support for indirect goto.
- Follows emission scheme used by llvm-gcc, i.e. invent an id for
each label whose address is taken and replace each indirect goto by
a switch to each possible target.
- Currently we emit a switch for each indirect goto instead of
merging them as llvm-gcc does.

llvm-svn: 54318

show more ...


# 9c426524 29-Jul-2008 Daniel Dunbar <daniel@zuster.org>

Rework codegen emission of globals
- No (intended) functionality change.

- Primary purpose is to clearly separate (lazy) construction of
globals that are a forward declaration or tentative defi

Rework codegen emission of globals
- No (intended) functionality change.

- Primary purpose is to clearly separate (lazy) construction of
globals that are a forward declaration or tentative definition from
those that are the final definition.

- Lazy construction is now encapsulated in
GetAddrOf{Function,GlobalVar} while final definitions are
constructed in EmitGlobal{Function,Var}Definition.

- External interface for dealing with globals is now limited to
EmitGlobal and GetAddrOf{Function,GlobalVar}.

- Also updated helper functions dealing with statics, annotations,
and ctors to be private.

llvm-svn: 54179

show more ...


# 4591fd0a 25-Jul-2008 Chris Lattner <sabre@nondot.org>

Fix rdar://6103124, the only dummy blocks are ones without names. Named blocks
are important part of control flow structures.

llvm-svn: 54078


# 1e8b6087 04-Jul-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com>

Fixed bugzilla bug# 2489.
This was broken when the GenerateCode function was splitted to use GenerateFunction.

llvm-svn: 53136


# 5696e7ba 17-Jun-2008 Chris Lattner <sabre@nondot.org>

Change self/_cmd to be instances of ImplicitParamDecl instead of ParmVarDecl.
Patch by David Chisnall!

llvm-svn: 52422


# 327944b3 13-Jun-2008 Eli Friedman <eli.friedman@gmail.com>

Basic support for volatile loads and stores. Stores the volatile
qualifier in the lvalue, and changes lvalue loads/stores to honor
the volatile flag. Places which need some further attention are m

Basic support for volatile loads and stores. Stores the volatile
qualifier in the lvalue, and changes lvalue loads/stores to honor
the volatile flag. Places which need some further attention are marked
with FIXMEs.

Patch by Cédric Venet.

llvm-svn: 52264

show more ...


Revision tags: llvmorg-2.3.0
# f6b091f7 01-Jun-2008 Eli Friedman <eli.friedman@gmail.com>

First cut at setting attributes for functions and calls; this puts us
much closer to passing the gcc struct layout tests.

It might be possible to refactor this a bit, but I'm not sure there's
actu

First cut at setting attributes for functions and calls; this puts us
much closer to passing the gcc struct layout tests.

It might be possible to refactor this a bit, but I'm not sure there's
actually enough common code for that to be useful.

To get the calling convention completely correct, a bit of
platform-specific code is necessary even for x86-Linux. On x86-Linux, the
alignment of function parameters is extremely strange; as far as I can tell,
it's always 4 except for SSE vectors or structs containing SSE vectors. I'm
continuing to investigate this.

llvm-svn: 51839

show more ...


# 1200aca7 01-Jun-2008 Anton Korobeynikov <asl@math.spbu.ru>

Support for code generation of Objective-C top-level language constructs.
Implemented by David Chisnall!

llvm-svn: 51835


# 98070578 25-May-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com>

Generate subprogram debug info with -g.
Also take care of freeing memory at the right places.

llvm-svn: 51553


# 1763075b 22-May-2008 Eli Friedman <eli.friedman@gmail.com>

Make debugging information usable. This is barebones, but it makes -g
actually work (instead of crashing llc), and there's enough info emitted
to get line number information in gdb. This should ho

Make debugging information usable. This is barebones, but it makes -g
actually work (instead of crashing llc), and there's enough info emitted
to get line number information in gdb. This should hopefully be helpful
for debugging non-working programs.

I got rid of the begin/endregion calls because the implementation wasn't
working; someone who knows the debugging info a bit better might try to
add it. I really have no clue how a compiler is supposed to emit them.

This commit shouldn't have any effect without -g.

llvm-svn: 51404

show more ...


# 75d69da5 22-May-2008 Dan Gohman <gohman@apple.com>

Move getAccessedFieldNo out of lib/AST/Expr.cpp into
lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to
use its own enum for visibility types instead of using
llvm::GlobalValue::Visibil

Move getAccessedFieldNo out of lib/AST/Expr.cpp into
lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to
use its own enum for visibility types instead of using
llvm::GlobalValue::VisibilityTypes. These changes eliminate
dependencies in the AST library on LLVM's VMCore library.

llvm-svn: 51398

show more ...


# 222c6123 06-May-2008 Chris Lattner <sabre@nondot.org>

remove a stray printout

llvm-svn: 50691


# 7b9293ba 04-May-2008 Chris Lattner <sabre@nondot.org>

Simplify FunctionDecl::AddRedeclaration a bit by using std::swap.
Fix 'swapping' of attributes to not insert null values into the
DeclAttrs map.

llvm-svn: 50612


# bc22b5b3 04-May-2008 Chris Lattner <sabre@nondot.org>

if a decl is both 'static' and weak or static and inline, its linkage
type should be internal, not weak/linkonce.

llvm-svn: 50611


# 08899ff8 15-Apr-2008 Steve Naroff <snaroff@apple.com>

Remove FileVarDecl and BlockVarDecl. They are replaced by VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().

This is a fairly mechanical/large change. As a result, I avoided making any changes/

Remove FileVarDecl and BlockVarDecl. They are replaced by VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().

This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it).

llvm-svn: 49748

show more ...


# d36afd7d 06-Apr-2008 Gabor Greif <ggreif@gmail.com>

tracking API changes arising from r49277

llvm-svn: 49279


# 5506f8cf 04-Apr-2008 Chris Lattner <sabre@nondot.org>

Codegen assignment to self correctly, patch by David Chisnall!

llvm-svn: 49201


# 182f660d 02-Apr-2008 Chris Lattner <sabre@nondot.org>

simplify some code by using PointerLikeType.

llvm-svn: 49101


# c00c35a8 30-Mar-2008 Chris Lattner <sabre@nondot.org>

some cleanups on top of David's patch. There are still two
remaining open issues I've communicated to him:

1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTy

some cleanups on top of David's patch. There are still two
remaining open issues I've communicated to him:

1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses
all parent class ivars) and flattens classes. If A derives from B,
and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.

David, please review.

llvm-svn: 48970

show more ...


# 4bd5596d 30-Mar-2008 Chris Lattner <sabre@nondot.org>

Add initial support for objc codegen for methods, ivars, and the
etoile runtime, patch by David Chisnall!

llvm-svn: 48969


# 7a51313d 15-Mar-2008 Chris Lattner <sabre@nondot.org>

Make a major restructuring of the clang tree: introduce a top-level
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. Th

Make a major restructuring of the clang tree: introduce a top-level
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.

llvm-svn: 48402

show more ...


1...<<41