| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 55759
|
|
|
|
|
|
| |
Add CodeGenFunction::EmitMemSetToZero and make AggExprEmitter::EmitAggregateClear use it.
llvm-svn: 55573
|
|
|
|
|
|
|
|
|
|
|
| |
- Only supports simple assignment and atomic semantics are ignored.
- Not quite usable yet because the methods do not actually get added
to the class metadata.
- Added ObjCPropertyDecl::getSetterKind (one of Assign, Copy, Retain).
- Rearrange CodeGenFunction so synthesis can reuse function prolog /
epilog code.
llvm-svn: 55365
|
|
|
|
|
|
|
| |
correctly. Not a regression, but made more obvious by my recent fix
which made function type compatibility checking a bit more strict.
llvm-svn: 55339
|
|
|
|
|
|
|
| |
- We are beyond the point where this shows up often and when it does
generating miscompiled files is bad.
llvm-svn: 54836
|
|
|
|
|
|
|
|
|
|
|
| |
- Kill unnecessary #includes in .cpp files. This is an automatic
sweep so some things removed are actually used, but happen to be
included by a previous header. I tried to get rid of the obvious
examples and this was the easiest way to trim the #includes in one
fell swoop.
- We now return to regularly scheduled development.
llvm-svn: 54632
|
|
|
|
|
|
|
|
| |
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h
- Moved Sema::getCurMethodDecl() out of line (dependent on
ObjCMethodDecl via dyn_cast).
llvm-svn: 54629
|
|
|
|
|
|
| |
- Remove internal uses of AST.h
llvm-svn: 54628
|
|
|
|
| |
llvm-svn: 54322
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
are important part of control flow structures.
llvm-svn: 54078
|
|
|
|
|
|
| |
This was broken when the GenerateCode function was splitted to use GenerateFunction.
llvm-svn: 53136
|
|
|
|
|
|
| |
Patch by David Chisnall!
llvm-svn: 52422
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Implemented by David Chisnall!
llvm-svn: 51835
|
|
|
|
|
|
| |
Also take care of freeing memory at the right places.
llvm-svn: 51553
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 50691
|
|
|
|
|
|
|
| |
Fix 'swapping' of attributes to not insert null values into the
DeclAttrs map.
llvm-svn: 50612
|
|
|
|
|
|
| |
type should be internal, not weak/linkonce.
llvm-svn: 50611
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 49279
|
|
|
|
| |
llvm-svn: 49201
|
|
|
|
| |
llvm-svn: 49101
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
etoile runtime, patch by David Chisnall!
llvm-svn: 48969
|
|
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
|