#
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 ...
|