| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
a translation unit.
llvm-svn: 137674
|
| |
|
|
|
|
|
| |
some common llvm types: stringref and smallvector. This cleans up the codebase
quite a bit.
llvm-svn: 135576
|
| |
|
|
| |
llvm-svn: 133829
|
| |
|
|
| |
llvm-svn: 132973
|
| |
|
|
| |
llvm-svn: 132357
|
| |
|
|
| |
llvm-svn: 130175
|
| |
|
|
|
|
| |
method definition.
llvm-svn: 130037
|
| |
|
|
| |
llvm-svn: 129703
|
| |
|
|
| |
llvm-svn: 129626
|
| |
|
|
| |
llvm-svn: 128948
|
| |
|
|
| |
llvm-svn: 128893
|
| |
|
|
|
|
| |
Radar 9168773
llvm-svn: 128150
|
| |
|
|
|
|
|
|
| |
in order.
This fixes few blocks.exp regressions.
llvm-svn: 126960
|
| |
|
|
| |
llvm-svn: 126874
|
| |
|
|
|
|
|
|
|
|
| |
in order.
This fixes few blocks.exp regressions.
Reapply r126795 with a fix (one character change) for gdb testsuite regressions.
llvm-svn: 126858
|
| |
|
|
| |
llvm-svn: 126848
|
| |
|
|
|
|
|
|
| |
in order.
This fixes few blocks.exp regressions.
llvm-svn: 126795
|
| |
|
|
|
|
|
|
|
|
| |
invocation function into the debug info. Rather than faking up a class,
which is tricky because of the custom layout we do, we just emit a struct
directly from the layout information we've already got.
Also, don't emit an unnecessarily parameter alloca for this "variable".
llvm-svn: 126255
|
| |
|
|
|
|
|
|
| |
constructor or destructor.
This patch rewrites r125142.
llvm-svn: 125632
|
| |
|
|
|
|
|
|
| |
destructor or copy constructor than let debug info know about it.
Radar 8945514.
llvm-svn: 125142
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- BlockDeclRefExprs always store VarDecls
- BDREs no longer store copy expressions
- BlockDecls now store a list of captured variables, information about
how they're captured, and a copy expression if necessary
With that in hand, change IR generation to use the captures data in
blocks instead of walking the block independently.
Additionally, optimize block layout by emitting fields in descending
alignment order, with a heuristic for filling in words when alignment
of the end of the block header is insufficient for the most aligned
field.
llvm-svn: 125005
|
| |
|
|
| |
llvm-svn: 124020
|
| |
|
|
| |
llvm-svn: 123682
|
| |
|
|
| |
llvm-svn: 121333
|
| |
|
|
| |
llvm-svn: 121326
|
| |
|
|
| |
llvm-svn: 121302
|
| |
|
|
| |
llvm-svn: 117928
|
| |
|
|
|
|
| |
most level.
llvm-svn: 117613
|
| |
|
|
|
|
| |
This is tested by anon-union.exp.
llvm-svn: 116372
|
| |
|
|
|
|
| |
constant initializers.
llvm-svn: 116138
|
| |
|
|
| |
llvm-svn: 115789
|
| |
|
|
|
|
| |
In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress.
llvm-svn: 115188
|
| |
|
|
| |
llvm-svn: 112840
|
| |
|
|
|
|
| |
Patch originally by Alexander Herz.
llvm-svn: 112275
|
| |
|
|
| |
llvm-svn: 111852
|
| |
|
|
|
|
|
|
| |
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.
llvm-svn: 111682
|
| |
|
|
|
|
| |
constant integer globals, based on Chris's feedback.
llvm-svn: 110694
|
| |
|
|
|
|
| |
constant variable.
llvm-svn: 110660
|
| |
|
|
| |
llvm-svn: 109535
|
| |
|
|
| |
llvm-svn: 109507
|
| |
|
|
| |
llvm-svn: 109426
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid use of Path.makeAbsolute().
DW_TAG_compile_unit uses two attributes DW_AT_name and DW_AT_comp_dir. Their expected values are:
$ clang foo.c -g
DW_AT_name - foo.c
DW_AT_comp_dir - `pwd`
$ clang one/two/foo.c -g
DW_AT_name - one/two/foo.c
DW_AT_comp_dir - `pwd`
$ clang /tmp/one/foo.c -g
DW_AT_name - /tmp/one/foo.c
DW_AT_comp_dir - empty
llvm-svn: 109303
|
| |
|
|
|
|
|
|
|
|
|
|
| |
#line 41 "bar.c"
dummy (1, i);
#line 24 "bar.h"
i = f2 (i);
#line 44 "bar.c"
This is tested by step-line.exp in gdb testsuite.
llvm-svn: 109189
|
| |
|
|
| |
llvm-svn: 108946
|
| |
|
|
| |
llvm-svn: 108916
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ObjCObjectType, which is basically just a pair of
one of {primitive-id, primitive-Class, user-defined @class}
with
a list of protocols.
An ObjCObjectPointerType is therefore just a pointer which always points to
one of these types (possibly sugared). ObjCInterfaceType is now just a kind
of ObjCObjectType which happens to not carry any protocols.
Alter a rather large number of use sites to use ObjCObjectType instead of
ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather
than hashing them in a FoldingSet. Remove some number of methods that are no
longer used, at least after this patch.
By simplifying ObjCObjectPointerType, we are now able to easily remove and apply
pointers to Objective-C types, which is crucial for a certain kind of ObjC++
metaprogramming common in WebKit.
llvm-svn: 103870
|
| |
|
|
|
|
|
|
|
| |
This fixes recent regressions reported by gdb testsuite.
Tighter verification of debug info generated by FE found these regressions.
Refactor code to extract line number and column number from SourceLocation.
llvm-svn: 103678
|
| |
|
|
| |
llvm-svn: 102263
|
| |
|
|
| |
llvm-svn: 102262
|
| |
|
|
| |
llvm-svn: 101666
|